forked from OSchip/llvm-project
The insertion point for the loads is right before the llvm.eh.exception
call. The call may be in the same BB as the landingpad instruction. If that's the case, then inserting the loads after the landingpad inst, but before the extractvalues, causes undefined behavior. llvm-svn: 139088
This commit is contained in:
parent
b914e3bc5c
commit
acaad83cd0
|
@ -487,7 +487,7 @@ void llvm::UpgradeExceptionHandling(Module *M) {
|
|||
std::pair<Value*,Value*> ExnSelSlots = FnToLPadSlotMap[Parent->getParent()];
|
||||
|
||||
IRBuilder<> Builder(Context);
|
||||
Builder.SetInsertPoint(Parent, Parent->getFirstInsertionPt());
|
||||
Builder.SetInsertPoint(Parent, Exn);
|
||||
LoadInst *LPExn = Builder.CreateLoad(ExnSelSlots.first, "exn.load");
|
||||
LoadInst *LPSel = Builder.CreateLoad(ExnSelSlots.second, "sel.load");
|
||||
|
||||
|
|
Loading…
Reference in New Issue