ScheduleDAGInstrs: When adding uses we add them into a set that's empty at the beginn...
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 16 Mar 2012 17:38:19 +0000 (17:38 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 16 Mar 2012 17:38:19 +0000 (17:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152934 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/ScheduleDAGInstrs.cpp

index 1c455b95ab004c3545f4a899c5f85a0dfe98407f..6be1ab7f5b08fc090fe787486d6830aa8bb2f59a 100644 (file)
@@ -209,13 +209,13 @@ void ScheduleDAGInstrs::addSchedBarrierDeps() {
   } else {
     // For others, e.g. fallthrough, conditional branch, assume the exit
     // uses all the registers that are livein to the successor blocks.
-    SmallSet<unsigned, 8> Seen;
+    assert(Uses.empty() && "Uses in set before adding deps?");
     for (MachineBasicBlock::succ_iterator SI = BB->succ_begin(),
            SE = BB->succ_end(); SI != SE; ++SI)
       for (MachineBasicBlock::livein_iterator I = (*SI)->livein_begin(),
              E = (*SI)->livein_end(); I != E; ++I) {
         unsigned Reg = *I;
-        if (Seen.insert(Reg))
+        if (!Uses.contains(Reg))
           Uses[Reg].push_back(&ExitSU);
       }
   }