1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/lib/Target/NVPTX
Akira Hatanaka 6a2e278ec7 [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the
per-function subtarget.

Currently, code-gen passes the default or generic subtarget to the constructors
of MCInstPrinter subclasses (see LLVMTargetMachine::addPassesToEmitFile), which
enables some targets (AArch64, ARM, and X86) to change their instprinter's
behavior based on the subtarget feature bits. Since the backend can now use
different subtargets for each function, instprinter has to be changed to use the
per-function subtarget rather than the default subtarget.

This patch takes the first step towards enabling instprinter to change its
behavior based on the per-function subtarget. It adds a bit "PassSubtarget" to
AsmWriter which tells table-gen to pass a reference to MCSubtargetInfo to the
various print methods table-gen auto-generates. 

I will follow up with changes to instprinters of AArch64, ARM, and X86.

llvm-svn: 233411
2015-03-27 20:36:02 +00:00
..
InstPrinter [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the 2015-03-27 20:36:02 +00:00
MCTargetDesc two or more, use a for. 2015-03-18 23:15:49 +00:00
TargetInfo
cl_common_defines.h
CMakeLists.txt NVPTX: Remove dead code. 2015-03-02 13:16:28 +00:00
LLVMBuild.txt Update libdeps in NVPTXCodeGen, since r225944. 2015-01-14 23:01:36 +00:00
Makefile
ManagedStringPool.h
NVPTX.h [PM] Remove a bunch of stale TTI creation method declarations. I nuked 2015-02-01 00:22:15 +00:00
NVPTX.td
NVPTXAllocaHoisting.cpp NVPTX: move NVPTXAllocaHoisting into the cpp file 2015-03-10 19:20:52 +00:00
NVPTXAllocaHoisting.h NVPTX: move NVPTXAllocaHoisting into the cpp file 2015-03-10 19:20:52 +00:00
NVPTXAsmPrinter.cpp Disabling warnings for MSVC build to enable /W4 use. 2015-03-24 23:37:10 +00:00
NVPTXAsmPrinter.h Fix uses of reserved identifiers starting with an underscore followed by an uppercase letter 2015-03-16 18:06:57 +00:00
NVPTXAssignValidGlobalNames.cpp [PM] Remove the old 'PassManager.h' header file at the top level of 2015-02-13 10:01:29 +00:00
NVPTXFavorNonGenericAddrSpaces.cpp [opaque pointer type] more gep API migration 2015-03-14 19:53:33 +00:00
NVPTXFrameLowering.cpp Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXFrameLowering.h Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXGenericToNVVM.cpp Opaque Pointer Types: GEP API migrations to specify the gep type explicitly 2015-03-24 23:34:31 +00:00
NVPTXImageOptimizer.cpp [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
NVPTXInstrFormats.td
NVPTXInstrInfo.cpp Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXInstrInfo.h Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXInstrInfo.td Migrate NVPTXISelDAGToDAG's getSubtarget to a runOnMachineFunction 2015-01-30 01:40:59 +00:00
NVPTXIntrinsics.td
NVPTXISelDAGToDAG.cpp Simplify boolean expressions with true and false using clang-tidy 2015-03-23 16:26:23 +00:00
NVPTXISelDAGToDAG.h Recommit r232027 with PR22883 fixed: Add infrastructure for support of multiple memory constraints. 2015-03-13 12:45:09 +00:00
NVPTXISelLowering.cpp Simplify boolean expressions with true and false using clang-tidy 2015-03-23 16:26:23 +00:00
NVPTXISelLowering.h Make each target map all inline assembly memory constraints to InlineAsm::Constraint_m. NFC. 2015-03-16 13:13:41 +00:00
NVPTXLowerAggrCopies.cpp Move unreferenced passes into the cpp file 2015-03-09 15:50:58 +00:00
NVPTXLowerAggrCopies.h Move unreferenced passes into the cpp file 2015-03-09 15:50:58 +00:00
NVPTXLowerStructArgs.cpp Don't use LLVM_LIBRARY_VISIBILITY in cpp files. 2015-03-10 20:07:44 +00:00
NVPTXMachineFunctionInfo.h
NVPTXMCExpr.cpp
NVPTXMCExpr.h Fix uses of reserved identifiers starting with an underscore followed by an uppercase letter 2015-03-16 18:06:57 +00:00
NVPTXPrologEpilogPass.cpp Migrate a bare getSubtarget call to query the MachineFunction 2015-01-30 01:50:09 +00:00
NVPTXRegisterInfo.cpp Have getCalleeSavedRegs take a non-null MachineFunction all the 2015-03-11 21:41:28 +00:00
NVPTXRegisterInfo.h Have getCalleeSavedRegs take a non-null MachineFunction all the 2015-03-11 21:41:28 +00:00
NVPTXRegisterInfo.td
NVPTXReplaceImageHandles.cpp Remove all use of getDrvInterface off of NVPTXSubtarget and clean 2015-02-19 00:08:23 +00:00
NVPTXSection.h Close unique sections when switching away from them. 2015-03-27 15:01:40 +00:00
NVPTXSubtarget.cpp Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXSubtarget.h Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXTargetMachine.cpp Simplify the query for a subtarget in the NVPTX pass manager. 2015-03-21 03:13:03 +00:00
NVPTXTargetMachine.h Remove the target independent TargetMachine::getSubtarget and 2015-03-21 04:22:23 +00:00
NVPTXTargetObjectFile.h Remove useless .debug_macinfo section setup. 2015-03-02 19:52:42 +00:00
NVPTXTargetTransformInfo.cpp [PM] Switch the TargetMachine interface from accepting a pass manager 2015-01-31 11:17:59 +00:00
NVPTXTargetTransformInfo.h [multiversion] Switch the TTI queries from TargetMachine to Subtarget 2015-02-01 14:22:17 +00:00
NVPTXUtilities.cpp Simplify boolean expressions with true and false using clang-tidy 2015-03-23 16:26:23 +00:00
NVPTXUtilities.h
NVPTXVector.td Replace neverHasSideEffects=1 with hasSideEffects=0 in all .td files. 2014-11-26 00:46:26 +00:00
NVVMReflect.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00