llvm-6502/utils/TableGen
Dan Gohman 95d110920e Refactor the tablegen DAGISelEmitter code for outputing calls to
getTargetNode and SelectNodeTo to reduce duplication, and to
make some of the getTargetNode code available to SelectNodeTo.
Use SelectNodeTo instead of getTargetNode in several new
interesting cases, as it mutates nodes in place instead of
creating new ones.

This triggers some scheduling behavior differences due to nodes
being presented to the scheduler in a different order. Some of the
arbitrary scheduling decisions it makes are now arbitrarily made
differently. This is visible in CodeGen/PowerPC/LargeAbsoluteAddr.ll,
where a trivial scheduling difference led to a trivial register
allocation difference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53203 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 21:00:17 +00:00
..
AsmWriterEmitter.cpp Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating 2008-07-01 00:05:16 +00:00
AsmWriterEmitter.h
CallingConvEmitter.cpp Wrap MVT::ValueType in a struct to get type safety 2008-06-06 12:08:01 +00:00
CallingConvEmitter.h
CodeEmitterGen.cpp Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating 2008-07-01 00:05:16 +00:00
CodeEmitterGen.h
CodeGenDAGPatterns.cpp check in anton's patch to make inlining happen in a determinstic order 2008-06-30 03:02:03 +00:00
CodeGenDAGPatterns.h - Add "Commutative" property to intrinsics. This allows tblgen to generate the commuted variants for dagisel matching code. 2008-06-16 20:29:38 +00:00
CodeGenInstruction.cpp Teach the DAGISelEmitter to not compute the variable_ops operand 2008-05-31 02:11:25 +00:00
CodeGenInstruction.h Add a flag to indicate that an instruction is as cheap (or cheaper) than a move 2008-05-28 22:54:52 +00:00
CodeGenIntrinsics.h - Add "Commutative" property to intrinsics. This allows tblgen to generate the commuted variants for dagisel matching code. 2008-06-16 20:29:38 +00:00
CodeGenRegisters.h Wrap MVT::ValueType in a struct to get type safety 2008-06-06 12:08:01 +00:00
CodeGenTarget.cpp Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating 2008-07-01 00:05:16 +00:00
CodeGenTarget.h Added MemOperands to Atomic operations since Atomics touches memory. 2008-06-25 08:15:39 +00:00
DAGISelEmitter.cpp Refactor the tablegen DAGISelEmitter code for outputing calls to 2008-07-07 21:00:17 +00:00
DAGISelEmitter.h Teach the DAGISelEmitter to not compute the variable_ops operand 2008-05-31 02:11:25 +00:00
InstrEnumEmitter.cpp
InstrEnumEmitter.h
InstrInfoEmitter.cpp Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating 2008-07-01 00:05:16 +00:00
InstrInfoEmitter.h Move instruction flag inference out of InstrInfoEmitter and into 2008-04-03 00:02:49 +00:00
IntrinsicEmitter.cpp Wrap MVT::ValueType in a struct to get type safety 2008-06-06 12:08:01 +00:00
IntrinsicEmitter.h
LLVMCConfigurationEmitter.cpp Add #includes required by GCC 4.3, thanks for Zhongxing Xu 2008-06-04 04:46:14 +00:00
LLVMCConfigurationEmitter.h Fix some headers. 2008-05-30 06:20:54 +00:00
Makefile
Record.cpp Remove some debug output from tblgen. This fixes a test. 2008-06-10 14:53:49 +00:00
Record.h Add explicit keywords. 2008-07-07 18:00:37 +00:00
RegisterInfoEmitter.cpp Make the subregister hashtable output more readable by wrapping the lines, 2008-07-01 17:34:38 +00:00
RegisterInfoEmitter.h
SubtargetEmitter.cpp Fix generation of multi-stage instruction itineraries. Patch by 2008-04-06 17:38:14 +00:00
SubtargetEmitter.h
TableGen.cpp Naming fix: LLVMCCConfigurationEmitter -> LLVMCConfigurationEmitter. 2008-05-06 18:12:03 +00:00
TableGenBackend.cpp
TableGenBackend.h
TGLexer.cpp Change the MemoryBuffer::getFile* methods to take just a pointer to the 2008-04-01 18:04:03 +00:00
TGLexer.h
TGParser.cpp produce an error on invalid input instead of asserting: 2008-04-10 04:48:34 +00:00
TGParser.h