]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
Rose: only use direct reports for external reports
authorJustin Viiret <justin.viiret@intel.com>
Tue, 16 Feb 2016 23:36:22 +0000 (10:36 +1100)
committerMatthew Barr <matthew.barr@intel.com>
Tue, 1 Mar 2016 00:36:10 +0000 (11:36 +1100)
src/rose/rose_build_compile.cpp

index 70bf0cf3a0ce120684a8c8d9caca60701208090e..db1e49eeb624017f107e1026b29d83c812799870 100644 (file)
@@ -598,6 +598,13 @@ bool RoseBuildImpl::isDirectReport(u32 id) const {
             return false;
         }
 
+        // Use the program to handle cases that aren't external reports.
+        for (const ReportID &id : g[v].reports) {
+            if (!isExternalReport(rm.getReport(id))) {
+                return false;
+            }
+        }
+
         if (literals.right.at(id).table == ROSE_ANCHORED) {
             /* in-edges are irrelevant for anchored region. */
             continue;