diff options
author | Arthur Eubanks <aeubanks@google.com> | 2021-03-31 23:12:36 -0700 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2021-05-31 08:32:36 -0700 |
commit | 8815ce03e8575cb27e951b5f5a11384421730e20 (patch) | |
tree | f563622d2b1b988f029df989e93cb66fb823c9fa /llvm/lib/CodeGen/TargetPassConfig.cpp | |
parent | d39f5c3cb97e769f960681b3132724e16b756e80 (diff) | |
download | llvm-8815ce03e8575cb27e951b5f5a11384421730e20.zip llvm-8815ce03e8575cb27e951b5f5a11384421730e20.tar.gz llvm-8815ce03e8575cb27e951b5f5a11384421730e20.tar.bz2 |
Remove "Rewrite Symbols" from codegen pipeline
It breaks up the function pass manager in the codegen pipeline.
With empty parameters, it looks at the -mllvm flag -rewrite-map-file.
This is likely not in use.
Add a check that we only have one function pass manager in the codegen
pipeline.
Some tests relied on the fact that we had a module pass somewhere in the
codegen pipeline.
addr-label.ll crashes on ARM due to this change. This is because a
ARMConstantPoolConstant containing a BasicBlock to represent a
blockaddress may hold an invalid pointer to a BasicBlock if the
blockaddress is invalidated by its BasicBlock getting removed. In that
case all referencing blockaddresses are RAUW a constant int. Making
ARMConstantPoolConstant::CVal a WeakVH fixes the crash, but I'm not sure
that's the right fix. As a workaround, create a barrier right before
ISel so that IR optimizations can't happen while a
ARMConstantPoolConstant has been created.
Reviewed By: rnk, MaskRay, compnerd
Differential Revision: https://reviews.llvm.org/D99707
Diffstat (limited to 'llvm/lib/CodeGen/TargetPassConfig.cpp')
-rw-r--r-- | llvm/lib/CodeGen/TargetPassConfig.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/TargetPassConfig.cpp b/llvm/lib/CodeGen/TargetPassConfig.cpp index ed36384..2a82091 100644 --- a/llvm/lib/CodeGen/TargetPassConfig.cpp +++ b/llvm/lib/CodeGen/TargetPassConfig.cpp @@ -939,7 +939,6 @@ void TargetPassConfig::addPassesToHandleExceptions() { void TargetPassConfig::addCodeGenPrepare() { if (getOptLevel() != CodeGenOpt::None && !DisableCGP) addPass(createCodeGenPreparePass()); - addPass(createRewriteSymbolsPass()); } /// Add common passes that perform LLVM IR to IR transforms in preparation for |