diff options
author | Egor Pasko <pasko@chromium.org> | 2024-05-31 21:48:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-31 12:48:45 -0700 |
commit | cab81dd03813ac6333ad7fc031d72b84341fe2b9 (patch) | |
tree | 9ca05a8a1377bdfacbc89c0988ef72bd98cb7b9c /llvm/tools | |
parent | 6119340e0bc538fbb884cea405fd6add9ed5798c (diff) | |
download | llvm-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.cpp | 1 | ||||
-rw-r--r-- | llvm/tools/opt/optdriver.cpp | 1 |
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); |