llvm-6502/utils/TableGen
Akira Hatanaka f09378397e [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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233411 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-27 20:36:02 +00:00
..
AsmMatcherEmitter.cpp Revert "Use std::bitset for SubtargetFeatures" 2015-03-24 12:56:59 +00:00
AsmWriterEmitter.cpp [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the 2015-03-27 20:36:02 +00:00
AsmWriterInst.cpp [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the 2015-03-27 20:36:02 +00:00
AsmWriterInst.h [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the 2015-03-27 20:36:02 +00:00
CallingConvEmitter.cpp CodeGen: convert CCState interface to using ArrayRefs 2015-02-21 02:11:17 +00:00
CMakeLists.txt Move SetTheory from utils/TableGen into lib/TableGen so Clang can use it. 2014-06-17 13:10:38 +00:00
CodeEmitterGen.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
CodeGenDAGPatterns.cpp [Tablegen] Attempt to add support for patterns containing nodes with multiple results. 2015-03-20 05:09:06 +00:00
CodeGenDAGPatterns.h [TableGen] Add support constraining a vector type in a pattern to have a specific element type and for constraining a vector type to have the same number of elements as another vector type. This is useful for AVX512 mask operations so we relate the mask type to the type of the other arguments. 2015-03-05 07:11:34 +00:00
CodeGenInstruction.cpp Reverted 230471 - gather scatter handling in table gen. 2015-03-01 08:23:41 +00:00
CodeGenInstruction.h Reverted 230471 - gather scatter handling in table gen. 2015-03-01 08:23:41 +00:00
CodeGenIntrinsics.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
CodeGenMapTable.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
CodeGenRegisters.cpp Do not track subregister liveness when it brings no benefits 2015-03-19 00:21:58 +00:00
CodeGenRegisters.h Do not track subregister liveness when it brings no benefits 2015-03-19 00:21:58 +00:00
CodeGenSchedule.cpp Use range-based for loops. NFC. 2014-12-09 08:05:51 +00:00
CodeGenSchedule.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
CodeGenTarget.cpp Intrinsics: introduce llvm_any_ty aka ValueType Any 2015-01-22 20:14:38 +00:00
CodeGenTarget.h Use unique_ptr instead of DeleteContainerSeconds. 2014-12-10 06:18:57 +00:00
CTagsEmitter.cpp TableGen: unique_ptr-ify RecordKeeper 2014-08-24 19:10:57 +00:00
DAGISelEmitter.cpp Use unique_ptr to remove explicit delete. 2014-12-15 00:40:07 +00:00
DAGISelMatcher.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 07:20:03 +00:00
DAGISelMatcher.h Use unique_ptr to remove explicit delete. 2014-12-15 00:40:07 +00:00
DAGISelMatcherEmitter.cpp Teach raw_ostream to accept SmallString. 2015-03-10 07:33:23 +00:00
DAGISelMatcherGen.cpp Simplify ownership of RegClasses by using list<CodeGenRegisterClass> instead of vector<CodeGenRegisterClass*> 2014-12-03 19:58:45 +00:00
DAGISelMatcherOpt.cpp Use unique_ptr to remove explicit delete. 2014-12-15 00:40:07 +00:00
DFAPacketizerEmitter.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
DisassemblerEmitter.cpp AArch64/ARM64: implement diagnosis of unpredictable loads & stores 2014-05-06 14:15:14 +00:00
FastISelEmitter.cpp Change order of tablegen generated fast-isel instruction code to be 2014-11-14 21:05:45 +00:00
FixedLenDecoderEmitter.cpp Revert "Use std::bitset for SubtargetFeatures" 2015-03-24 12:56:59 +00:00
InstrInfoEmitter.cpp Revert "Use std::bitset for SubtargetFeatures" 2015-03-24 12:56:59 +00:00
IntrinsicEmitter.cpp Re-instate the pragma optimize hack for MSVC, but not clang-cl 2015-02-26 21:34:11 +00:00
LLVMBuild.txt
Makefile
module.modulemap [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
OptParserEmitter.cpp Option: Propagate flags from groups to options in each group 2014-07-12 00:18:58 +00:00
PseudoLoweringEmitter.cpp TableGen: unique_ptr-ify RecordKeeper 2014-08-24 19:10:57 +00:00
RegisterInfoEmitter.cpp Do not track subregister liveness when it brings no benefits 2015-03-19 00:21:58 +00:00
SequenceToOffsetTable.h Reduce size of some tables in tablegen register info output. 2014-11-22 18:30:18 +00:00
SubtargetEmitter.cpp Revert "Use std::bitset for SubtargetFeatures" 2015-03-24 12:56:59 +00:00
TableGen.cpp Use range-based for loops. NFC 2014-12-11 07:04:54 +00:00
TableGenBackends.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
tdtags
X86DisassemblerShared.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
X86DisassemblerTables.cpp AVX-512: Added mask and rounding mode for scalar arithmetics 2015-03-01 07:44:04 +00:00
X86DisassemblerTables.h [X86] Make the instructions that use AdSize16/32/64 co-exist together without using mode predicates. 2015-01-02 07:02:25 +00:00
X86ModRMFilters.cpp Second attempt at Removing special form of AddRegFrm used by FP instructions. These instructions can be handled by MRMXr instead. 2014-01-01 14:22:37 +00:00
X86ModRMFilters.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
X86RecognizableInstr.cpp [X86] Add the remaining 11 possible exact ModRM formats. This makes their encodings linear which can then be used to simplify some other code. 2015-02-15 04:16:44 +00:00
X86RecognizableInstr.h [X86] Remove the single AdSize indicator and replace it with separate AdSize16/32/64 flags. 2014-12-24 06:05:22 +00:00