llvm-6502/include/llvm/CodeGen
Evan Cheng 8409747efa Instead of adding copyfromreg's to handle physical definitions. Now isel can
simply specify them as results and let scheduledag handle them. That
is, instead of
SDOperand Flag = DAG.getTargetNode(Opc, MVT::i32, MVT::Flag, ...)
SDOperand Result = DAG.getCopyFromReg(Chain, X86::EAX, MVT::i32, Flag)

Just write:
SDOperand Result = DAG.getTargetNode(Opc, MVT::i32, MVT::i32, ...)

And let scheduledag emit the move from X86::EAX to a virtual register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40710 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-02 00:28:15 +00:00
..
AsmPrinter.h EmitAlignment() also emits optional fill value. 2007-07-25 23:35:07 +00:00
CallingConvLower.h Generalize MVT::ValueType and associated functions to be able to represent 2007-06-25 16:23:39 +00:00
DwarfWriter.h Landing pad-less eh for PPC. 2007-01-29 18:51:14 +00:00
ELFRelocation.h Implement review feedback. 2007-04-30 23:54:10 +00:00
FileWriters.h Fixed comments. 2007-02-08 06:05:08 +00:00
IntrinsicLowering.h Add explicit keywords. 2007-07-05 20:40:15 +00:00
LinkAllCodegenComponents.h check in the BigBlock local register allocator 2007-06-22 08:27:12 +00:00
LiveInterval.h Add a register allocation preference field; add a method to compute size of a live interval. 2007-04-17 20:25:11 +00:00
LiveIntervalAnalysis.h Factor live variable analysis so it does not do register coalescing 2007-06-08 17:18:56 +00:00
LiveVariables.h Don't assume that only Uses can be kills. Defs are marked as kills initially 2007-07-20 23:17:34 +00:00
MachineBasicBlock.h Fix misue of iterator pointing to erased object. Uncovered by 2007-06-29 02:45:24 +00:00
MachineCodeEmitter.h Allow target to specify alignment for function stub. 2006-11-16 20:04:54 +00:00
MachineConstantPool.h More explicit keywords. 2007-08-01 15:32:29 +00:00
MachineFrameInfo.h Fix prolific source of 'possible loss of data' warnings. 2007-04-27 14:43:05 +00:00
MachineFunction.h Change UsedPhysRegs from array bool to BitVector to save some space. Setting / getting its states now go through MachineFunction. 2007-04-25 22:10:09 +00:00
MachineFunctionPass.h Make MachineFunctionPass::runOnFunction non-virtual. Subclasses override 2007-07-05 20:39:35 +00:00
MachineInstr.h Remove subreg index from MachineInstr's and also keep vregs as unsigned when adding operands. 2007-07-26 07:00:46 +00:00
MachineInstrBuilder.h Fix 80 col violation. 2007-07-26 07:03:08 +00:00
MachineJumpTableInfo.h Add the 'explicit' keyword to several constructors that accept one 2007-03-23 18:44:11 +00:00
MachineLocation.h Add the 'explicit' keyword to several constructors that accept one 2007-03-23 18:44:11 +00:00
MachineModuleInfo.h Long live the exception handling! 2007-07-14 14:06:15 +00:00
MachinePassRegistry.h switch the sched unit map over to use a DenseMap instead of std::map. This 2007-02-03 01:34:13 +00:00
MachineRelocation.h Make enum-valued bitfield large enough to avoid interpretation as negative values in VC++. 2007-04-21 16:29:37 +00:00
MachORelocation.h New file for the MachORelocation structure. It doesn't have to be tied to the 2007-02-03 02:36:17 +00:00
Passes.h Add a MachineFunction pass, which runs post register allocation, that turns subreg insert/extract instruction into register copies. This ensures correct code gen if the coalescer isn't able to remove all subreg instructions. 2007-07-26 08:18:32 +00:00
RegAllocRegistry.h Breaking out specialized classes. 2006-08-02 12:27:50 +00:00
RegisterScavenging.h Add explicit keywords. 2007-07-05 20:40:15 +00:00
RuntimeLibcalls.h Added O_F32 and O_64 in addition to UO_F32 and UO_64 even though by 2007-01-31 09:26:31 +00:00
SchedGraphCommon.h Added an automatic cast to "std::ostream*" etc. from OStream. We then can 2006-12-17 05:15:13 +00:00
ScheduleDAG.h Instead of adding copyfromreg's to handle physical definitions. Now isel can 2007-08-02 00:28:15 +00:00
SchedulerRegistry.h Breaking out specialized classes. 2006-08-02 12:27:50 +00:00
SelectionDAG.h Generalize MVT::ValueType and associated functions to be able to represent 2007-06-25 16:23:39 +00:00
SelectionDAGISel.h Add const to CanBeFoldedBy, CheckAndMask, and CheckOrMask. 2007-07-24 23:00:27 +00:00
SelectionDAGNodes.h Support for trampolines, except for X86 codegen which is 2007-07-27 12:58:54 +00:00
SimpleRegisterCoalescing.h missed this one 2007-07-09 12:20:30 +00:00
SSARegMap.h rename DenseMap to IndexedMap. 2007-02-01 05:32:05 +00:00
ValueTypes.h Add support for 3 element 32-bit vector ValueTypes. 2007-07-26 01:46:52 +00:00
ValueTypes.td Fix comments for new types. 2007-07-26 01:48:57 +00:00