mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-07 12:30:57 +00:00
It's not safe to blindly remove invoke instructions. This happens when we
encounter an invoke of an allocation function. This should fix the dragonegg bootstrap. Testcase to follow, later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160757 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
24182757bf
commit
b8cd66b5d7
@ -352,7 +352,8 @@ static bool IsSafeComputationToRemove(Value *V) {
|
||||
return true;
|
||||
if (!V->hasOneUse())
|
||||
return false;
|
||||
if (isa<LoadInst>(V) || isa<Argument>(V) || isa<GlobalValue>(V))
|
||||
if (isa<LoadInst>(V) || isa<InvokeInst>(V) || isa<Argument>(V) ||
|
||||
isa<GlobalValue>(V))
|
||||
return false;
|
||||
if (isAllocationFn(V))
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user