llvm-6502/include/llvm/CodeGen
Evan Cheng 752195e3c6 Add early coalescing to liveintervals. This is work in progress and is known to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this.
The gist of this is if source of some of the copies that feed into a phi join is defined by the phi join, we'd like to eliminate them. However, if any of the non-identity source overlaps the live interval of the phi join then the coalescer won't be able to coalesce them. The early coalescer's job is to eliminate the identity copies by partially-coalescing the two live intervals.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81796 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14 21:33:42 +00:00
..
AsmPrinter.h PIC16 does allow colon after MBB labels, simplify EmitBasicBlockStart. 2009-09-14 03:15:54 +00:00
BinaryObject.h ELF improvements: 2009-08-08 17:29:04 +00:00
BreakCriticalMachineEdge.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
CallingConvLower.h Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson. 2009-09-02 08:44:58 +00:00
DAGISelHeader.h Split EVT into MVT and EVT, the former representing _just_ a primitive type, while 2009-08-11 20:47:22 +00:00
DwarfWriter.h Reapply 79977. 2009-08-28 23:24:31 +00:00
ELFRelocation.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
FastISel.h LLVM currently represents floating-point negation as -0.0 - x. Fix 2009-09-03 22:53:57 +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 Fix a bug where the DWARF emitter in the JIT was not initializing alignment 2009-08-21 21:03:57 +00:00
LatencyPriorityQueue.h Fix some register-alias-related bugs in the post-RA scheduler liveness 2008-12-16 03:25:46 +00:00
LazyLiveness.h Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsage 2009-07-31 18:16:33 +00:00
LinkAllAsmWriterComponents.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
LinkAllCodegenComponents.h Removed the BigBlock register allocator. 2009-07-30 23:18:43 +00:00
LiveInterval.h Add early coalescing to liveintervals. This is work in progress and is known to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this. 2009-09-14 21:33:42 +00:00
LiveIntervalAnalysis.h Add early coalescing to liveintervals. This is work in progress and is known to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this. 2009-09-14 21:33:42 +00:00
LiveStackAnalysis.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
LiveVariables.h Add missing includes. 2009-08-19 21:17:28 +00:00
MachineBasicBlock.h Remove all the LLVM_COMPACTIFY_SENTINELS-related macro magic as discussed with Chris on IRC. Anybody wanting to debug sentinel dereferencing problems must revert this patch and perform the indicated modifications. 2009-08-26 19:16:32 +00:00
MachineCodeEmitter.h 1) Proper emit displacements for x86, using absolute relocations where necessary 2009-08-05 00:11:21 +00:00
MachineCodeInfo.h Add missing file. 2009-05-18 21:08:45 +00:00
MachineConstantPool.h Mark more constants unsigned, as warned about by icc (#68). 2009-09-06 12:56:52 +00:00
MachineDominators.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
MachineFrameInfo.h convert some stuff to work on raw_ostreams instead of std::ostream. 2009-08-23 01:12:47 +00:00
MachineFunction.h Reapply 79977. 2009-08-28 23:24:31 +00:00
MachineFunctionAnalysis.h Give MachineFunctionAnalysis a destructor so it can verify that 2009-08-01 04:19:43 +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 remove various std::ostream version of printing methods from 2009-08-23 03:41:05 +00:00
MachineInstrBuilder.h Remove Offset from ExternalSybmol MachineOperands, this is unused (and at least partly unsupported, in X86 encoding at least). 2009-09-01 22:06:46 +00:00
MachineJumpTableInfo.h convert some stuff to work on raw_ostreams instead of std::ostream. 2009-08-23 01:12:47 +00:00
MachineLocation.h Switch the MachineOperand accessors back to the short names like 2008-10-03 15:45:36 +00:00
MachineLoopInfo.h Move isLCSSAForm, isLoopInvariant, getCanonicalInductionVariable, 2009-07-13 22:02:44 +00:00
MachineMemOperand.h Update a comment to match the source. PseudoSourceValues are now 2009-09-14 20:40:10 +00:00
MachineModuleInfo.h implement a new magic global "llvm.compiler.used" which is like llvm.used, but 2009-07-20 06:14:25 +00:00
MachineOperand.h improve comments. 2009-09-03 06:00:00 +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 eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) 2009-08-27 23:44:33 +00:00
MachineRelocation.h Fix MachineCodeEmitter to use uintptr_t instead of intptr_t. This avoids some overflow issues. Patch by Thomas Jablin. 2008-12-10 02:32:19 +00:00
MachORelocation.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +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 remove std::ostream versions of printing stuff for MBB and MF, 2009-08-23 03:13:20 +00:00
PseudoSourceValue.h Have PseudoSourceValue override Value::dump, so that it works 2008-12-03 21:37:21 +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 Simplify RegScavenger::FindUnusedReg. 2009-08-18 21:14:54 +00:00
RuntimeLibcalls.h Rename MVT to EVT, in preparation for splitting SimpleValueType out into its own struct type. 2009-08-10 22:56:29 +00:00
ScheduleDAG.h eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) 2009-08-27 23:44:33 +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 Recognize more opportunities to use SSE min and max instructions, 2009-09-03 20:34:31 +00:00
SelectionDAGISel.h Rename MVT to EVT, in preparation for splitting SimpleValueType out into its own struct type. 2009-08-10 22:56:29 +00:00
SelectionDAGNodes.h Reapply 79977. 2009-08-28 23:24:31 +00:00
ValueTypes.h Rename FirstExtendedValueType to INVALID_SIMPLE_VALUE_TYPE 2009-08-20 05:09:43 +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