Index: src/IceTargetLowering.cpp |
diff --git a/src/IceTargetLowering.cpp b/src/IceTargetLowering.cpp |
index bcc629098bf94d13ef3012fb24900f6613dfa08b..b18999f67ebb6e7013bd5cf3153bf4121f79e938 100644 |
--- a/src/IceTargetLowering.cpp |
+++ b/src/IceTargetLowering.cpp |
@@ -54,6 +54,7 @@ void LoweringContext::init(CfgNode *N) { |
void LoweringContext::insert(Inst *Inst) { |
getNode()->getInsts().insert(Next, Inst); |
+ LastInserted = Inst; |
} |
void LoweringContext::skipDeleted(InstList::iterator &I) const { |
@@ -68,17 +69,9 @@ void LoweringContext::advanceForward(InstList::iterator &I) const { |
} |
} |
-void LoweringContext::advanceBackward(InstList::iterator &I) const { |
- assert(I != Begin); |
- do { |
- --I; |
- } while (I != Begin && (*I)->isDeleted()); |
-} |
- |
Inst *LoweringContext::getLastInserted() const { |
- InstList::iterator Cursor = Next; |
- advanceBackward(Cursor); |
- return *Cursor; |
+ assert(LastInserted); |
+ return LastInserted; |
} |
TargetLowering *TargetLowering::createLowering(TargetArch Target, Cfg *Func) { |