diff options
author | Johannes Doerfert <johannes@jdoerfert.de> | 2021-07-19 15:31:10 -0500 |
---|---|---|
committer | Johannes Doerfert <johannes@jdoerfert.de> | 2021-07-26 23:33:36 -0500 |
commit | 25a3130d89f00f53a23f7fc38250d5dc43e29cfb (patch) | |
tree | a1e197a774693c1f994d93ff890a45a5e987e598 /llvm/lib/CodeGen/WinEHPrepare.cpp | |
parent | 41bd26dff9869a0d72f95ed750a82136f1bccc81 (diff) | |
download | llvm-25a3130d89f00f53a23f7fc38250d5dc43e29cfb.zip llvm-25a3130d89f00f53a23f7fc38250d5dc43e29cfb.tar.gz llvm-25a3130d89f00f53a23f7fc38250d5dc43e29cfb.tar.bz2 |
[Local] Do not introduce a new `llvm.trap` before `unreachable`
This is the second attempt to remove the `llvm.trap` insertion after
https://reviews.llvm.org/rGe14e7bc4b889dfaffb7180d176a03311df2d4ae6
reverted the first one. It is not clear what the exact issue was back
then and it might already be gone by now, it has been >5 years after
all.
Replaces D106299.
Differential Revision: https://reviews.llvm.org/D106308
Diffstat (limited to 'llvm/lib/CodeGen/WinEHPrepare.cpp')
-rw-r--r-- | llvm/lib/CodeGen/WinEHPrepare.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/WinEHPrepare.cpp b/llvm/lib/CodeGen/WinEHPrepare.cpp index 0e5d5e4..4564aa1 100644 --- a/llvm/lib/CodeGen/WinEHPrepare.cpp +++ b/llvm/lib/CodeGen/WinEHPrepare.cpp @@ -984,9 +984,9 @@ void WinEHPrepare::removeImplausibleInstructions(Function &F) { BasicBlock::iterator CallI = std::prev(BB->getTerminator()->getIterator()); auto *CI = cast<CallInst>(&*CallI); - changeToUnreachable(CI, /*UseLLVMTrap=*/false); + changeToUnreachable(CI); } else { - changeToUnreachable(&I, /*UseLLVMTrap=*/false); + changeToUnreachable(&I); } // There are no more instructions in the block (except for unreachable), @@ -1007,7 +1007,7 @@ void WinEHPrepare::removeImplausibleInstructions(Function &F) { IsUnreachableCleanupret = CRI->getCleanupPad() != CleanupPad; if (IsUnreachableRet || IsUnreachableCatchret || IsUnreachableCleanupret) { - changeToUnreachable(TI, /*UseLLVMTrap=*/false); + changeToUnreachable(TI); } else if (isa<InvokeInst>(TI)) { if (Personality == EHPersonality::MSVC_CXX && CleanupPad) { // Invokes within a cleanuppad for the MSVC++ personality never |