llvm-6502/include/llvm/CodeGen
Dan Gohman 3f23744df4 Fix some register-alias-related bugs in the post-RA scheduler liveness
computation code. Also, avoid adding output-depenency edges when both
defs are dead, which frequently happens with EFLAGS defs.

Compute Depth and Height lazily, and always in terms of edge latency
values. For the schedulers that don't care about latency, edge latencies
are set to 1.

Eliminate Cycle and CycleBound, and LatencyPriorityQueue's Latencies array.
These are all subsumed by the Depth and Height fields.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61073 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16 03:25:46 +00:00
..
AsmPrinter.h Make a convenient helper for printing offsets. 2008-11-22 16:15:34 +00:00
BreakCriticalMachineEdge.h Switch the MachineOperand accessors back to the short names like 2008-10-03 15:45:36 +00:00
CallingConvLower.h Define CallSDNode, an SDNode subclass for use with ISD::CALL. 2008-09-13 01:54:27 +00:00
DAGISelHeader.h Make ISel ignore dead nodes. The DAGCombiner normally eliminates 2008-11-05 22:56:47 +00:00
DwarfWriter.h If we have a function with an unreachable statement such that the ending debug 2008-09-26 00:28:12 +00:00
ELFRelocation.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
FastISel.h Factor out the code for sign-extending/truncating gep indices 2008-12-08 07:57:47 +00:00
FileWriters.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +00:00
GCMetadata.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
GCMetadataPrinter.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +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 Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
IntrinsicLowering.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
LatencyPriorityQueue.h Fix some register-alias-related bugs in the post-RA scheduler liveness 2008-12-16 03:25:46 +00:00
LinkAllAsmWriterComponents.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
LinkAllCodegenComponents.h Move the scheduler constructor functions to SchedulerRegistry.h, to 2008-11-24 19:53:21 +00:00
LiveInterval.h LiveRanges are represented as half-open ranges. Fix the findLiveInMBBs code 2008-11-26 05:50:31 +00:00
LiveIntervalAnalysis.h - Rewrite code that update register live interval that's split. 2008-10-29 05:06:14 +00:00
LiveStackAnalysis.h - Rewrite code that update register live interval that's split. 2008-10-29 05:06:14 +00:00
LiveVariables.h Revert the part of r59145 that changed the comment about 2008-11-12 23:24:15 +00:00
MachineBasicBlock.h Const-ify several TargetInstrInfo methods. 2008-10-16 01:49:15 +00:00
MachineCodeEmitter.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
MachineConstantPool.h Replace a #include with a forward-declaration. 2008-12-03 01:53:18 +00:00
MachineDominators.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineFrameInfo.h Extend X86's addFrameReference to add a MachineMemOperand for 2008-12-03 18:11:40 +00:00
MachineFunction.h Update VS projects. 2008-09-20 18:02:18 +00:00
MachineFunctionPass.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
MachineInstr.h Drop the reg argument to isRegReDefinedByTwoAddr, which was redundant. 2008-12-05 05:45:42 +00:00
MachineInstrBuilder.h Extend X86's addFrameReference to add a MachineMemOperand for 2008-12-03 18:11:40 +00:00
MachineJumpTableInfo.h Fix more -Wshorten-64-to-32 warnings. 2008-05-05 18:30:58 +00:00
MachineLocation.h Switch the MachineOperand accessors back to the short names like 2008-10-03 15:45:36 +00:00
MachineLoopInfo.h Use empty() instead of begin() == end(). 2008-08-14 18:13:49 +00:00
MachineMemOperand.h Change the FoldingSetNodeID usage for objects which carry 2008-08-20 15:58:01 +00:00
MachineModuleInfo.h Fix a couple of Dwarf bugs. 2008-12-10 00:15:44 +00:00
MachineOperand.h Teach DAGCombine to fold constant offsets into GlobalAddress nodes, 2008-10-18 02:06:02 +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 Move createVirtualRegister out-of-line. 2008-12-08 04:54:11 +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
Passes.h Implement stack protectors as function attributes: "ssp" and "sspreq". 2008-11-13 01:02:14 +00:00
PseudoSourceValue.h Have PseudoSourceValue override Value::dump, so that it works 2008-12-03 21:37:21 +00:00
RegAllocRegistry.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
RegisterCoalescer.h Remove uses of "llvm/Support/Debug.h" from LLVM include files, which 2008-07-07 18:14:29 +00:00
RegisterScavenging.h - Register scavenger should use MachineRegisterInfo and internal map to find the first use of a register after a given machine instruction. 2008-11-20 02:32:35 +00:00
RuntimeLibcalls.h Add intrinsics for log, log2, log10, exp, exp2. 2008-09-04 00:47:13 +00:00
ScheduleDAG.h Fix some register-alias-related bugs in the post-RA scheduler liveness 2008-12-16 03:25:46 +00:00
ScheduleDAGInstrs.h Fix some register-alias-related bugs in the post-RA scheduler liveness 2008-12-16 03:25:46 +00:00
ScheduleDAGSDNodes.h Rewrite the SDep class, and simplify some of the related code. 2008-12-09 22:54:47 +00:00
SchedulerRegistry.h Move the scheduler constructor functions to SchedulerRegistry.h, to 2008-11-24 19:53:21 +00:00
SelectionDAG.h Reapply r60997, this time without forgetting that 2008-12-14 09:43:15 +00:00
SelectionDAGISel.h On x86 favors folding short immediate into some arithmetic operations (e.g. add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size. 2008-11-27 00:49:46 +00:00
SelectionDAGNodes.h Add sub/mul overflow intrinsics. This currently doesn't have a 2008-12-09 22:08:41 +00:00
ValueTypes.h Small cleanups. No functionality change intended! 2008-11-10 17:29:56 +00:00
ValueTypes.td Added support for overloading intrinsics (atomics) based on pointers 2008-07-30 04:36:53 +00:00