[PATCH] Remove useless if from DwarfEHPrepare
Kai Nacke
kai.nacke at redstar.de
Sun May 26 03:46:35 PDT 2013
Hi!
In DwarfEHPrepare::InsertUnwindResumeCalls() there is a variable
UsesNewEH which has a default value of false and is set to true if the
first instruction after the unwind label of the last invoke in the
function is a landingpad instruction. This should always be the case.
If there are no resume instructions then the value of UsesNewEH is
returned to the caller and used to indicate if the code has changed.
To me, this looks like a relict from the time the EH mechanism was
changed. The attached patch removes the test and simply return false if
nothing was changed.
Please review.
Regards
Kai
-------------- next part --------------
diff --git a/lib/CodeGen/DwarfEHPrepare.cpp b/lib/CodeGen/DwarfEHPrepare.cpp
index ecfe6f3..05ac58a 100644
--- a/lib/CodeGen/DwarfEHPrepare.cpp
+++ b/lib/CodeGen/DwarfEHPrepare.cpp
@@ -106,18 +106,15 @@ Value *DwarfEHPrepare::GetExceptionObject(ResumeInst *RI) {
/// InsertUnwindResumeCalls - Convert the ResumeInsts that are still present
/// into calls to the appropriate _Unwind_Resume function.
bool DwarfEHPrepare::InsertUnwindResumeCalls(Function &Fn) {
- bool UsesNewEH = false;
SmallVector<ResumeInst*, 16> Resumes;
for (Function::iterator I = Fn.begin(), E = Fn.end(); I != E; ++I) {
TerminatorInst *TI = I->getTerminator();
if (ResumeInst *RI = dyn_cast<ResumeInst>(TI))
Resumes.push_back(RI);
- else if (InvokeInst *II = dyn_cast<InvokeInst>(TI))
- UsesNewEH = II->getUnwindDest()->isLandingPad();
}
if (Resumes.empty())
- return UsesNewEH;
+ return false;
// Find the rewind function if we didn't already.
if (!RewindFunction) {
More information about the llvm-commits
mailing list