llvm-6502/include/llvm/CodeGen
Roman Levenstein e326332acd Use a linked data structure for the uses lists of an SDNode, just like
LLVM Value/Use does and MachineRegisterInfo/MachineOperand does.
This allows constant time for all uses list maintenance operations.

The idea was suggested by Chris. Reviewed by Evan and Dan.
Patch is tested and approved by Dan.

On normal use-cases compilation speed is not affected. On very big basic
blocks there are compilation speedups in the range of 15-20% or even better. 



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48822 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-26 12:39:26 +00:00
..
AsmPrinter.h Replace all target specific implicit def instructions with a target independent one: TargetInstrInfo::IMPLICIT_DEF. 2008-03-15 00:03:38 +00:00
BreakCriticalMachineEdge.h Fixes for BreakCriticalMachineCodeEdge by Fernando. 2008-01-27 19:51:03 +00:00
CallingConvLower.h Introduce a new node for holding call argument 2008-03-21 09:14:45 +00:00
Collector.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
CollectorMetadata.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Collectors.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
DwarfWriter.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ELFRelocation.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
FileWriters.h Use PassManagerBase instead of FunctionPassManager for functions 2008-03-11 22:29:46 +00:00
IntrinsicLowering.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
LinkAllCodegenComponents.h Setting GlobalDirective in TargetAsmInfo by default rather than 2008-01-07 02:31:11 +00:00
LiveInterval.h Detabify 2008-02-26 10:49:39 +00:00
LiveIntervalAnalysis.h Don't include <map> in Pass.h, which doesn't need it. This requires 2008-03-21 23:51:57 +00:00
LiveVariables.h Fix live variables issues: 2008-03-19 00:52:20 +00:00
MachineBasicBlock.h Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to 16-byte boundaries. 2008-02-28 00:43:03 +00:00
MachineCodeEmitter.h Enable exception handling int JIT 2008-02-13 18:39:37 +00:00
MachineConstantPool.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +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 Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to 16-byte boundaries. 2008-02-28 00:43:03 +00:00
MachineFunction.h Rename SSARegMap -> MachineRegisterInfo in keeping with the idea 2007-12-31 04:13:23 +00:00
MachineFunctionPass.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineInstr.h Refactor some code out of MachineSink into a MachineInstr query. 2008-03-13 00:44:09 +00:00
MachineInstrBuilder.h Back out r48353. Not needed. 2008-03-14 22:01:01 +00:00
MachineJumpTableInfo.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineLocation.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
MachineLoopInfo.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineModuleInfo.h A quick nm audit turned up several fixed tables and objects that were 2008-03-25 21:45:14 +00:00
MachineOperand.h Back out r48353. Not needed. 2008-03-14 22:01:01 +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 Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings. 2008-02-20 11:08:44 +00:00
MachineRelocation.h Fix the failures in the PPC JIT by marking relocation entries for 2008-01-21 22:27:27 +00:00
MachORelocation.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MemOperand.h Change MemOperand's size and offset to be 64-bit. 2008-02-15 01:29:57 +00:00
Passes.h Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to 16-byte boundaries. 2008-02-28 00:43:03 +00:00
PseudoSourceValue.h Follow Chris' suggestion; change the PseudoSourceValue accessors 2008-02-07 18:41:25 +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 Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
RegisterScavenging.h When setting the "unused" info, take into account something like this: 2008-03-06 23:22:43 +00:00
RuntimeLibcalls.h Implement more support for fp-to-i128 and i128-to-fp conversions. 2008-03-10 23:03:31 +00:00
SchedGraphCommon.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ScheduleDAG.h Use a linked data structure for the uses lists of an SDNode, just like 2008-03-26 12:39:26 +00:00
SchedulerRegistry.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SelectionDAG.h Teach DAG combiner to commute commutable binary nodes in order to achieve sdisel CSE. 2008-03-22 01:55:50 +00:00
SelectionDAGISel.h Enabling the target-independent garbage collection infrastructure by hooking it 2008-01-07 01:30:38 +00:00
SelectionDAGNodes.h Use a linked data structure for the uses lists of an SDNode, just like 2008-03-26 12:39:26 +00:00
ValueTypes.h Add MVT::is128BitVector and is64BitVector. Shrink 2008-03-01 03:40:57 +00:00
ValueTypes.td remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00