Index: src/IceInst.cpp |
diff --git a/src/IceInst.cpp b/src/IceInst.cpp |
index 1265d5898b7d1118723fb78a6e36c19f35b92a26..aac42c3bd2f98823a6a1a0d622c6f4558210f1d2 100644 |
--- a/src/IceInst.cpp |
+++ b/src/IceInst.cpp |
@@ -105,6 +105,7 @@ const char *Inst::getInstName() const { |
X(Store, "store"); |
X(Switch, "switch"); |
X(Assign, "assign"); |
+ X(Breakpoint, "break"); |
X(BundleLock, "bundlelock"); |
X(BundleUnlock, "bundleunlock"); |
X(FakeDef, "fakedef"); |
@@ -516,8 +517,10 @@ void InstSwitch::addBranch(SizeT CaseIndex, uint64_t Value, CfgNode *Label) { |
NodeList InstSwitch::getTerminatorEdges() const { |
NodeList OutEdges; |
OutEdges.reserve(NumCases + 1); |
+ assert(LabelDefault); |
OutEdges.push_back(LabelDefault); |
for (SizeT I = 0; I < NumCases; ++I) { |
+ assert(Labels[I]); |
OutEdges.push_back(Labels[I]); |
} |
std::sort(OutEdges.begin(), OutEdges.end(), |
@@ -1047,6 +1050,9 @@ void InstTarget::dump(const Cfg *Func) const { |
Inst::dump(Func); |
} |
+InstBreakpoint::InstBreakpoint(Cfg *Func) |
+ : InstHighLevel(Func, Inst::Breakpoint, 0, nullptr) {} |
+ |
bool checkForRedundantAssign(const Variable *Dest, const Operand *Source) { |
const auto *SrcVar = llvm::dyn_cast<const Variable>(Source); |
if (!SrcVar) |