aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools
diff options
context:
space:
mode:
authorEgor Pasko <pasko@chromium.org>2024-05-31 21:48:45 +0200
committerGitHub <noreply@github.com>2024-05-31 12:48:45 -0700
commitcab81dd03813ac6333ad7fc031d72b84341fe2b9 (patch)
tree9ca05a8a1377bdfacbc89c0988ef72bd98cb7b9c /llvm/tools
parent6119340e0bc538fbb884cea405fd6add9ed5798c (diff)
downloadllvm-cab81dd03813ac6333ad7fc031d72b84341fe2b9.zip
llvm-cab81dd03813ac6333ad7fc031d72b84341fe2b9.tar.gz
llvm-cab81dd03813ac6333ad7fc031d72b84341fe2b9.tar.bz2
[EntryExitInstrumenter] Move passes out of clang into LLVM default pipelines (#92171)
Move EntryExitInstrumenter(PostInlining=true) to as late as possible and EntryExitInstrumenter(PostInlining=false) to an early pre-inlining stage (but skip for ThinLTO post-link). This should fix the issues reported in https://github.com/rust-lang/rust/issues/92109 and https://github.com/llvm/llvm-project/issues/52853. These are caused by https://reviews.llvm.org/D97608.
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llc/llc.cpp1
-rw-r--r--llvm/tools/opt/optdriver.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp
index b292f70..e7bf192 100644
--- a/llvm/tools/llc/llc.cpp
+++ b/llvm/tools/llc/llc.cpp
@@ -335,6 +335,7 @@ int main(int argc, char **argv) {
initializeCodeGen(*Registry);
initializeLoopStrengthReducePass(*Registry);
initializeLowerIntrinsicsPass(*Registry);
+ initializePostInlineEntryExitInstrumenterPass(*Registry);
initializeUnreachableBlockElimLegacyPassPass(*Registry);
initializeConstantHoistingLegacyPassPass(*Registry);
initializeScalarOpts(*Registry);
diff --git a/llvm/tools/opt/optdriver.cpp b/llvm/tools/opt/optdriver.cpp
index 948148b..d322666 100644
--- a/llvm/tools/opt/optdriver.cpp
+++ b/llvm/tools/opt/optdriver.cpp
@@ -439,6 +439,7 @@ extern "C" int optMain(
initializeIndirectBrExpandLegacyPassPass(Registry);
initializeInterleavedLoadCombinePass(Registry);
initializeInterleavedAccessPass(Registry);
+ initializePostInlineEntryExitInstrumenterPass(Registry);
initializeUnreachableBlockElimLegacyPassPass(Registry);
initializeExpandReductionsPass(Registry);
initializeExpandVectorPredicationPass(Registry);