mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-14 23:48:49 +00:00
ae1c853358
This provides a new way to access the TargetMachine through TargetPassConfig, as a dependency. The patterns replaced here are: * Passes handling a null TargetMachine call `getAnalysisIfAvailable<TargetPassConfig>`. * Passes not handling a null TargetMachine `addRequired<TargetPassConfig>` and call `getAnalysis<TargetPassConfig>`. * MachineFunctionPasses now use MF.getTarget(). * Remove all the TargetMachine constructors. * Remove INITIALIZE_TM_PASS. This fixes a crash when running `llc -start-before prologepilog`. PEI needs StackProtector, which gets constructed without a TargetMachine by the pass manager. The StackProtector pass doesn't handle the case where there is no TargetMachine, so it segfaults. Related to PR30324. Differential Revision: https://reviews.llvm.org/D33222 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303360 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AnalysisWrappers.cpp | ||
BreakpointPrinter.cpp | ||
BreakpointPrinter.h | ||
CMakeLists.txt | ||
GraphPrinters.cpp | ||
LLVMBuild.txt | ||
NewPMDriver.cpp | ||
NewPMDriver.h | ||
opt.cpp | ||
PassPrinters.cpp | ||
PassPrinters.h | ||
PrintSCC.cpp |