aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-12-18 23:00:28 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-12-18 23:00:28 +0000
commit582abddeee6bd49762d562d3e641a4e290d464be (patch)
treeb5fa7798acd51d4f2952f00510e50f582910ee2b
parent270bfbd3d1fb42000b23e5747ac7957b0e9fcab8 (diff)
Verify bundle flag consistency when setting them.
Now that the bundle flag aware APIs are all in place, it is possible to continuously verify the flag consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170465 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/MachineInstr.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index 2d4392c47d..3b83d02bb0 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -878,6 +878,7 @@ void MachineInstr::bundleWithPred() {
setFlag(BundledPred);
MachineBasicBlock::instr_iterator Pred = this;
--Pred;
+ assert(!Pred->isBundledWithSucc() && "Inconsistent bundle flags");
Pred->setFlag(BundledSucc);
}
@@ -886,6 +887,7 @@ void MachineInstr::bundleWithSucc() {
setFlag(BundledSucc);
MachineBasicBlock::instr_iterator Succ = this;
++Succ;
+ assert(!Succ->isBundledWithPred() && "Inconsistent bundle flags");
Succ->setFlag(BundledPred);
}
@@ -894,6 +896,7 @@ void MachineInstr::unbundleFromPred() {
clearFlag(BundledPred);
MachineBasicBlock::instr_iterator Pred = this;
--Pred;
+ assert(Pred->isBundledWithSucc() && "Inconsistent bundle flags");
Pred->clearFlag(BundledSucc);
}
@@ -902,6 +905,7 @@ void MachineInstr::unbundleFromSucc() {
clearFlag(BundledSucc);
MachineBasicBlock::instr_iterator Succ = this;
--Succ;
+ assert(Succ->isBundledWithPred() && "Inconsistent bundle flags");
Succ->clearFlag(BundledPred);
}