llvm-project/llvm/utils/TableGen
Dale Johannesen 0b8ca79253 Make the implicit inputs and outputs of target-independent
ADDC/ADDE use MVT::i1 (later, whatever it gets legalized to)
instead of MVT::Flag.  Remove CARRY_FALSE in favor of 0; adjust
all target-independent code to use this format.

Most targets will still produce a Flag-setting target-dependent
version when selection is done.  X86 is converted to use i32
instead, which means TableGen needs to produce different code
in xxxGenDAGISel.inc.  This keys off the new supportsHasI1 bit
in xxxInstrInfo, currently set only for X86; in principle this
is temporary and should go away when all other targets have
been converted.  All relevant X86 instruction patterns are
modified to represent setting and using EFLAGS explicitly.  The
same can be done on other targets.

The immediate behavior change is that an ADC/ADD pair are no
longer tightly coupled in the X86 scheduler; they can be
separated by instructions that don't clobber the flags (MOV).
I will soon add some peephole optimizations based on using
other instructions that set the flags to feed into ADC.

llvm-svn: 72707
2009-06-01 23:27:20 +00:00
..
AsmWriterEmitter.cpp Move the tablegen-produced DebugLoc handling into a AsmWriter::processDebugLoc function. 2009-05-07 13:55:51 +00:00
AsmWriterEmitter.h remove attributions from utils. 2007-12-29 20:37:13 +00:00
CMakeLists.txt CMake: Use libpthread in tblgen when needed. Updated list of source 2009-05-22 20:55:15 +00:00
CallingConvEmitter.cpp Rename PaddedSize to AllocSize, in the hope that this 2009-05-09 07:06:46 +00:00
CallingConvEmitter.h remove attributions from utils. 2007-12-29 20:37:13 +00:00
ClangDiagnosticsEmitter.cpp prove diagnostic -> group mapping information. 2009-04-16 05:52:18 +00:00
ClangDiagnosticsEmitter.h rename -gen-clang-diags-options -> -gen-clang-diag-groups 2009-04-15 20:02:32 +00:00
CodeEmitterGen.cpp Rename COPY_TO_SUBCLASS to COPY_TO_REGCLASS, and generalize 2009-04-13 21:06:25 +00:00
CodeEmitterGen.h remove attributions from utils. 2007-12-29 20:37:13 +00:00
CodeGenDAGPatterns.cpp Make the implicit inputs and outputs of target-independent 2009-06-01 23:27:20 +00:00
CodeGenDAGPatterns.h 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. 2009-04-27 18:41:29 +00:00
CodeGenInstruction.cpp Make BinOps typed and require a type specifier for !nameconcat. This 2009-04-23 21:25:15 +00:00
CodeGenInstruction.h Rename isSimpleLoad to canFoldAsLoad, to better reflect its meaning. 2008-12-03 18:15:48 +00:00
CodeGenIntrinsics.h fix a few spelling errors and typos 2009-03-26 16:17:51 +00:00
CodeGenRegisters.h Wrap MVT::ValueType in a struct to get type safety 2008-06-06 12:08:01 +00:00
CodeGenTarget.cpp Make the implicit inputs and outputs of target-independent 2009-06-01 23:27:20 +00:00
CodeGenTarget.h Make the implicit inputs and outputs of target-independent 2009-06-01 23:27:20 +00:00
DAGISelEmitter.cpp Make the implicit inputs and outputs of target-independent 2009-06-01 23:27:20 +00:00
DAGISelEmitter.h Add explicit keywords. 2009-02-18 16:37:45 +00:00
FastISelEmitter.cpp TableGen for fast isel seems to assume an 'imm' 2009-05-21 22:25:49 +00:00
FastISelEmitter.h Refactor a bunch of FastISelEmitter code into a helper class, and 2008-08-26 21:21:20 +00:00
InstrEnumEmitter.cpp Add <cstdio> include where needed by gcc-4.4. 2008-10-08 07:23:46 +00:00
InstrEnumEmitter.h split enum emission out from InstrInfoEmitter into it's own tblgen backend. 2008-01-06 00:49:05 +00:00
InstrInfoEmitter.cpp Rename COPY_TO_SUBCLASS to COPY_TO_REGCLASS, and generalize 2009-04-13 21:06:25 +00:00
InstrInfoEmitter.h Add RCBarriers to TargetInstrDesc. It's a list of register classes the given instruction can "clobber". For example, on x86 the call instruction can modify all of the XMM and fp stack registers. 2008-10-17 21:00:09 +00:00
IntrinsicEmitter.cpp Fix PR3994: LLVMMatchType arguments do not refer to absolute return value 2009-04-16 21:51:05 +00:00
IntrinsicEmitter.h Added support to have TableGen provide information if an intrinsic (core 2009-02-24 23:17:49 +00:00
LLVMCConfigurationEmitter.cpp A better error message. 2009-05-06 04:54:23 +00:00
LLVMCConfigurationEmitter.h Fix some headers. 2008-05-30 06:20:54 +00:00
Makefile Change 'make install' to install tblgen, for better support of out-of-tree targets, 2009-05-08 17:32:47 +00:00
Record.cpp Fix warning. 2009-05-15 03:07:14 +00:00
Record.h Add extra parenthesis around || statements to pacify compiler. 2009-05-15 03:03:14 +00:00
RegisterInfoEmitter.cpp Slightly change TableGen's definition of a register subclass. 2009-04-30 21:22:44 +00:00
RegisterInfoEmitter.h remove attributions from utils. 2007-12-29 20:37:13 +00:00
SubtargetEmitter.cpp Propagate CPU string out of SubtargetFeatures 2009-05-23 19:50:50 +00:00
SubtargetEmitter.h remove attributions from utils. 2007-12-29 20:37:13 +00:00
TGLexer.cpp Implement !if, analogous to $(if) in GNU make. 2009-05-14 23:26:46 +00:00
TGLexer.h Implement !if, analogous to $(if) in GNU make. 2009-05-14 23:26:46 +00:00
TGParser.cpp Implement !if, analogous to $(if) in GNU make. 2009-05-14 23:26:46 +00:00
TGParser.h Operation Enhancements 2009-05-14 20:54:48 +00:00
TGSourceMgr.cpp fix a few spelling errors and typos 2009-03-26 16:17:51 +00:00
TGSourceMgr.h give each Record a location. 2009-03-13 16:09:24 +00:00
TGValueTypes.cpp Give tablegen's Type a destructor, to suppress spurious 2008-11-04 18:09:07 +00:00
TableGen.cpp rename -gen-clang-diags-options -> -gen-clang-diag-groups 2009-04-15 20:02:32 +00:00
TableGenBackend.cpp change getQualifiedName to be a global function. 2008-01-05 22:25:12 +00:00
TableGenBackend.h change getQualifiedName to be a global function. 2008-01-05 22:25:12 +00:00