]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
rose: don't assign fragments for event lits
authorJustin Viiret <justin.viiret@intel.com>
Wed, 22 Feb 2017 22:29:11 +0000 (09:29 +1100)
committerMatthew Barr <matthew.barr@intel.com>
Wed, 26 Apr 2017 05:04:31 +0000 (15:04 +1000)
src/rose/rose_build_bytecode.cpp

index 7604e27a2db55863d8ef3d0fe96312d6c4277404..34bc2a5941eda971de780901299da20b0b7b07d4 100644 (file)
@@ -4704,14 +4704,19 @@ void groupByFragment(RoseBuildImpl &build) {
     auto &fragments = build.fragments;
 
     for (const auto &m : build.literals.right) {
-        u32 lit_id = m.first;
+        const u32 lit_id = m.first;
+        const auto &lit = m.second;
+        const auto &info = build.literal_info.at(lit_id);
 
         if (!isUsedLiteral(build, lit_id)) {
+            DEBUG_PRINTF("lit %u is unused\n", lit_id);
             continue;
         }
 
-        const auto &lit = m.second;
-        const auto &info = build.literal_info.at(lit_id);
+        if (lit.table == ROSE_EVENT) {
+            DEBUG_PRINTF("lit %u is an event\n", lit_id);
+            continue;
+        }
 
         auto groups = info.group_mask;