llvm-6502/include/llvm/CodeGen
Lang Hames 6194569d22 Added a new "splitting" spiller.
When a call is placed to spill an interval this spiller will first try to
break the interval up into its component values. Single value intervals and
intervals which have already been split (or are the result of previous splits)
are spilled by the default spiller.

Splitting intervals as described above may improve the performance of generated
code in some circumstances. This work is experimental however, and it still
miscompiles many benchmarks. It's not recommended for general use yet.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90951 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-09 05:39:12 +00:00
..
AsmPrinter.h Use StringRef instead of std::string in DIEString. 2009-11-24 19:42:17 +00:00
BinaryObject.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
BreakCriticalMachineEdge.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
CallingConvLower.h Add code to check at SelectionDAGISel::LowerArguments time to see if return values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers 2009-11-07 02:11:54 +00:00
DAGISelHeader.h improve portability to avoid conflicting with std::next in c++'0x. 2009-12-03 00:50:42 +00:00
DwarfWriter.h "Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes. 2009-11-12 19:02:56 +00:00
ELFRelocation.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
FastISel.h Make TargetSelectInstruction protected and called from FastISel.cpp 2009-12-05 01:27:58 +00:00
FileWriters.h Add the Object Code Emitter class. Original patch by Aaron Gray, I did some 2009-07-06 05:09:34 +00:00
GCMetadata.h Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. 2009-08-22 20:48:53 +00:00
GCMetadataPrinter.h rename TAI -> MAI, being careful not to make MAILJMP instructions :) 2009-08-22 21:43:10 +00:00
GCs.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
GCStrategy.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
IntrinsicLowering.h Get rid of these cache variables, which are a holdover from the days when 2009-06-26 20:33:47 +00:00
JITCodeEmitter.h Allow more than one stub to be being generated at the same time. 2009-11-23 22:49:00 +00:00
LatencyPriorityQueue.h Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks. 2009-11-20 19:32:48 +00:00
LinkAllAsmWriterComponents.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
LinkAllCodegenComponents.h improve portability to avoid conflicting with std::next in c++'0x. 2009-12-03 00:50:42 +00:00
LiveInterval.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
LiveIntervalAnalysis.h Added a new "splitting" spiller. 2009-12-09 05:39:12 +00:00
LiveStackAnalysis.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
LiveVariables.h Move PHIElimination::isLiveOut method to LiveVariables. 2009-12-01 17:13:31 +00:00
MachineBasicBlock.h Split tail duplication into a separate pass. This is needed to avoid 2009-11-26 00:32:21 +00:00
MachineCodeEmitter.h Allow more than one stub to be being generated at the same time. 2009-11-23 22:49:00 +00:00
MachineCodeInfo.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
MachineConstantPool.h Mark more constants unsigned, as warned about by icc (#68). 2009-09-06 12:56:52 +00:00
MachineDominators.h Add a WriteAsOperand for MachineBasicBlock so MachineLoopInfo dump looks sane. 2009-11-17 19:19:59 +00:00
MachineFrameInfo.h Factor the stack alignment calculations out into a target independent pass. 2009-12-02 19:30:24 +00:00
MachineFunction.h Allow the machine verifier to be run outside the PassManager. 2009-11-18 20:36:57 +00:00
MachineFunctionAnalysis.h Revert 88957. This file uses CodeGenOpt, which is defined in TargetMachine.h. 2009-11-16 20:45:50 +00:00
MachineFunctionPass.h Remove an unnecessary include. Now we won't have circular include 2009-08-19 23:00:07 +00:00
MachineInstr.h Fill out codegen SSA updater. It's not yet tested. 2009-12-03 02:31:43 +00:00
MachineInstrBuilder.h Remove dead code. 2009-10-30 00:39:25 +00:00
MachineJumpTableInfo.h Add function to replace a destination MBB in a single jump table 2009-11-14 20:09:13 +00:00
MachineLocation.h Switch the MachineOperand accessors back to the short names like 2008-10-03 15:45:36 +00:00
MachineLoopInfo.h Add getTopBlock and getBottomBlock member functions to MachineLoopInfo. 2009-10-20 04:16:37 +00:00
MachineMemOperand.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
MachineModuleInfo.h Remove DebugLabelFolder pass. It is not used by dwarf writer anymore. 2009-11-24 19:37:07 +00:00
MachineModuleInfoImpls.h move FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinter 2009-09-16 06:25:03 +00:00
MachineOperand.h Target-independent support for TargetFlags on BlockAddress operands, 2009-11-20 23:18:13 +00:00
MachinePassRegistry.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineRegisterInfo.h Print "..." instead of all the uninteresting register clobbers on call 2009-11-09 19:38:45 +00:00
MachineRelocation.h Make the need-stub variables accurate and consistent. In the case of 2009-11-07 08:51:52 +00:00
MachineSSAUpdater.h Pre-regalloc tale duplication. Work in progress. 2009-12-07 10:15:19 +00:00
MachORelocation.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
ObjectCodeEmitter.h 1) Proper emit displacements for x86, using absolute relocations where necessary 2009-08-05 00:11:21 +00:00
Passes.h Add a pre-regalloc tail duplication pass. 2009-12-04 09:42:45 +00:00
ProcessImplicitDefs.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
PseudoSourceValue.h Make PseudoSourceValue's classof recognize 2009-11-16 20:40:06 +00:00
RegAllocRegistry.h Reformat. 2009-07-08 21:57:46 +00:00
RegisterCoalescer.h Delete spurious semicolons. 2009-07-31 18:59:29 +00:00
RegisterScavenging.h Add register-reuse to frame-index register scavenging. When a target uses 2009-10-07 17:12:56 +00:00
RuntimeLibcalls.h Add 8 bit libcalls and make use of them for msp430 2009-11-07 17:14:39 +00:00
ScheduleDAG.h Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks. 2009-11-20 19:32:48 +00:00
ScheduleHazardRecognizer.h Post RA scheduler changes. Introduce a hazard recognizer that uses the target schedule information to accurately model the pipeline. Update the scheduler to correctly handle multi-issue targets. 2009-08-10 15:55:25 +00:00
SchedulerRegistry.h Instead of passing in an unsigned value for the optimization level, use an enum, 2009-04-29 23:29:43 +00:00
SelectionDAG.h Move isConsecutiveLoad to SelectionDAG. It's not target dependent and it's primary used by selectdag passes. 2009-12-09 01:36:00 +00:00
SelectionDAGISel.h Remove old DBG_LABEL code. 2009-12-05 17:56:26 +00:00
SelectionDAGNodes.h improve portability to avoid conflicting with std::next in c++'0x. 2009-12-03 00:50:42 +00:00
SlotIndexes.h Fixed call to wrong constructor. 2009-11-17 07:19:50 +00:00
ValueTypes.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
ValueTypes.td Add a new overloaded EVT::vAny type for use in TableGen to allow intrinsic 2009-08-11 01:14:02 +00:00