llvm-project/llvm/lib/Target/XCore
Francis Visoiu Mistrih 8b61764cbb [LegacyPassManager] Remove TargetMachine constructors
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

llvm-svn: 303360
2017-05-18 17:21:13 +00:00
..
Disassembler Fix "static initialization order fiasco" for the XCore Target. 2016-10-11 18:22:41 +00:00
InstPrinter [XCore] Fix some Include What You Use warnings; other minor fixes (NFC). 2017-02-03 21:46:55 +00:00
MCTargetDesc [XCore] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-24 23:02:48 +00:00
TargetInfo Fix "static initialization order fiasco" for the XCore Target. 2016-10-11 18:22:41 +00:00
CMakeLists.txt
LLVMBuild.txt
README.txt
XCore.h
XCore.td
XCoreAsmPrinter.cpp [MC] Refactor emitELFSize to make usage more consistent. NFC. 2016-12-01 23:39:08 +00:00
XCoreCallingConv.td
XCoreFrameLowering.cpp Move size and alignment information of regclass to TargetRegisterInfo 2017-04-24 18:55:33 +00:00
XCoreFrameLowering.h
XCoreFrameToArgsOffsetElim.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
XCoreISelDAGToDAG.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
XCoreISelLowering.cpp [KnownBits] Add bit counting methods to KnownBits struct and use them where possible 2017-05-12 17:20:30 +00:00
XCoreISelLowering.h [SelectionDAG] Use KnownBits struct in DAG's computeKnownBits and simplifyDemandedBits 2017-04-28 05:31:46 +00:00
XCoreInstrFormats.td
XCoreInstrInfo.cpp Finish renaming remaining analyzeBranch functions 2016-09-14 20:43:16 +00:00
XCoreInstrInfo.h Finish renaming remaining analyzeBranch functions 2016-09-14 20:43:16 +00:00
XCoreInstrInfo.td Add extra operand to CALLSEQ_START to keep frame part set up previously 2017-05-09 13:35:13 +00:00
XCoreLowerThreadLocal.cpp Rename WeakVH to WeakTrackingVH; NFC 2017-05-01 17:07:49 +00:00
XCoreMCInstLower.cpp Actually remove the Mangler from the AsmPrinter and clean up the places it was "used" but not used. 2016-09-16 17:07:23 +00:00
XCoreMCInstLower.h Actually remove the Mangler from the AsmPrinter and clean up the places it was "used" but not used. 2016-09-16 17:07:23 +00:00
XCoreMachineFunctionInfo.cpp Move size and alignment information of regclass to TargetRegisterInfo 2017-04-24 18:55:33 +00:00
XCoreMachineFunctionInfo.h [XCore] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-24 23:02:48 +00:00
XCoreRegisterInfo.cpp
XCoreRegisterInfo.h
XCoreRegisterInfo.td
XCoreSelectionDAGInfo.cpp Make library calls sensitive to regparm module flag (Fixes PR3997). 2017-03-18 00:44:07 +00:00
XCoreSelectionDAGInfo.h
XCoreSubtarget.cpp
XCoreSubtarget.h
XCoreTargetMachine.cpp [LegacyPassManager] Remove TargetMachine constructors 2017-05-18 17:21:13 +00:00
XCoreTargetMachine.h [XCore] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-24 23:02:48 +00:00
XCoreTargetObjectFile.cpp Target: Change various section classifiers in TargetLoweringObjectFile to take a GlobalObject. 2016-10-24 19:23:39 +00:00
XCoreTargetObjectFile.h Target: Change various section classifiers in TargetLoweringObjectFile to take a GlobalObject. 2016-10-24 19:23:39 +00:00
XCoreTargetStreamer.h
XCoreTargetTransformInfo.h Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00

README.txt

To-do
-----

* Instruction encodings
* Tailcalls
* Investigate loop alignment
* Add builtins