diff options
author | Jeremy Morse <jeremy.morse@sony.com> | 2025-06-17 15:55:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-17 15:55:14 +0100 |
commit | 9eb0020555fc643582b2802abb8c1bc92059c248 (patch) | |
tree | 3b96308747d3865fdb209f227e2315d7c7d63709 /llvm/lib/Transforms/Utils/Local.cpp | |
parent | 7ec103a984ff114d24f26d935fe2292379269b53 (diff) | |
download | llvm-9eb0020555fc643582b2802abb8c1bc92059c248.zip llvm-9eb0020555fc643582b2802abb8c1bc92059c248.tar.gz llvm-9eb0020555fc643582b2802abb8c1bc92059c248.tar.bz2 |
[DebugInfo][RemoveDIs] Remove a swathe of debug-intrinsic code (#144389)
Seeing how we can't generate any debug intrinsics any more: delete a
variety of codepaths where they're handled. For the most part these are
plain deletions, in others I've tweaked comments to remain coherent, or
added a type to (what was) type-generic-lambdas.
This isn't all the DbgInfoIntrinsic call sites but it's most of the
simple scenarios.
Co-authored-by: Nikita Popov <github@npopov.com>
Diffstat (limited to 'llvm/lib/Transforms/Utils/Local.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/Local.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp index 3314370..f5208d5 100644 --- a/llvm/lib/Transforms/Utils/Local.cpp +++ b/llvm/lib/Transforms/Utils/Local.cpp @@ -2848,10 +2848,8 @@ bool llvm::handleUnreachableTerminator( return Changed; } -std::pair<unsigned, unsigned> -llvm::removeAllNonTerminatorAndEHPadInstructions(BasicBlock *BB) { +unsigned llvm::removeAllNonTerminatorAndEHPadInstructions(BasicBlock *BB) { unsigned NumDeadInst = 0; - unsigned NumDeadDbgInst = 0; // Delete the instructions backwards, as it has a reduced likelihood of // having to update as many def-use and use-def chains. Instruction *EndInst = BB->getTerminator(); // Last not to be deleted. @@ -2870,15 +2868,12 @@ llvm::removeAllNonTerminatorAndEHPadInstructions(BasicBlock *BB) { EndInst = Inst; continue; } - if (isa<DbgInfoIntrinsic>(Inst)) - ++NumDeadDbgInst; - else - ++NumDeadInst; + ++NumDeadInst; // RemoveDIs: erasing debug-info must be done manually. Inst->dropDbgRecords(); Inst->eraseFromParent(); } - return {NumDeadInst, NumDeadDbgInst}; + return NumDeadInst; } unsigned llvm::changeToUnreachable(Instruction *I, bool PreserveLCSSA, |