llvm-6502/include/llvm
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
..
ADT Add explicit keywords. 2008-03-25 22:06:05 +00:00
Analysis Add explicit keywords. 2008-03-25 22:06:05 +00:00
Assembly Fix newly-introduced 4.3 warnings 2008-02-20 12:07:57 +00:00
Bitcode Make a note of the fact that EmitOwnedPtr() has nothing to do with the 2008-03-25 04:41:18 +00:00
CodeGen Use a linked data structure for the uses lists of an SDNode, just like 2008-03-26 12:39:26 +00:00
Config Use C-style comments :) 2008-03-23 13:44:17 +00:00
Debugger Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ExecutionEngine Enable exception handling int JIT 2008-02-13 18:39:37 +00:00
Support De-constify the input to the "operator >>" method as it is modified. 2008-03-25 18:16:52 +00:00
System Revert r48676. I had plans for using it, but now it's just dead code. 2008-03-24 21:29:58 +00:00
Target A quick nm audit turned up several fixed tables and objects that were 2008-03-25 21:45:14 +00:00
Transforms Increasing the inline limit from (overly conservative) 200 to 300. Given each BB costs 20 and each instruction costs 5, 200 means a 4 BB function + 24 instructions (actually less because caller's size also contributes to it). 2008-03-24 06:37:48 +00:00
AbstractTypeUser.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Argument.h Add a predicate to Argument to check for the StructRet attribute. 2008-02-17 23:22:28 +00:00
AutoUpgrade.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
BasicBlock.h Two things. Preserve the unwind_to when splitting a BB. 2008-03-09 05:04:48 +00:00
CallGraphSCCPass.h PassInfo keep tracks whether a pass is an analysis pass or not. 2008-03-19 21:56:59 +00:00
CallingConv.h Implement sseregparm. 2008-02-05 20:46:33 +00:00
Constant.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Constants.h ubyte and sbyte? what are those? 2008-03-20 06:19:51 +00:00
DerivedTypes.h Make it possible to get an empty struct using 2008-03-21 15:53:17 +00:00
Function.h move a bunch of trivial methods to be inline. 2008-03-13 05:00:21 +00:00
GlobalAlias.h Typo fixes 2008-03-22 07:48:08 +00:00
GlobalValue.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
GlobalVariable.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
InlineAsm.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
InstrTypes.h When transforming a call to a bitcast function into 2008-01-06 10:12:28 +00:00
Instruction.def Add GetResultInst. First step for multiple return value support. 2008-02-19 22:15:16 +00:00
Instruction.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Instructions.h Remove an unnecessary #include. 2008-03-24 16:58:44 +00:00
IntrinsicInst.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Intrinsics.h Reimplement the parameter attributes support, phase #1. hilights: 2008-03-12 17:45:29 +00:00
Intrinsics.td Fix 80 column violations. 2008-03-04 03:19:19 +00:00
IntrinsicsARM.td remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
IntrinsicsCellSPU.td Final de-tabification. 2008-02-27 06:33:05 +00:00
IntrinsicsPowerPC.td remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
IntrinsicsX86.td Undo 48570. Correctly match mmx shift instructions with an immediate operand. 2008-03-21 00:40:09 +00:00
LinkAllPasses.h Add new sretpromotion pass. 2008-03-07 21:07:34 +00:00
LinkAllVMCore.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Linker.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
LinkTimeOptimizer.h And final pack of warnings silencing 2008-02-20 11:27:04 +00:00
Module.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ModuleProvider.h Add explicit keywords. 2008-03-25 22:06:05 +00:00
ParameterAttributes.h Various improvements suggested by Duncan 2008-03-13 04:33:03 +00:00
Pass.h Don't include <map> in Pass.h, which doesn't need it. This requires 2008-03-21 23:51:57 +00:00
PassAnalysisSupport.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
PassManager.h Give PassManager and FunctionPassManager a common base class, with 2008-03-11 16:41:42 +00:00
PassManagers.h Don't include <map> in Pass.h, which doesn't need it. This requires 2008-03-21 23:51:57 +00:00
PassSupport.h PassInfo keep tracks whether a pass is an analysis pass or not. 2008-03-19 21:56:59 +00:00
SymbolTableListTraits.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Type.h add an assertion to catch a null PATypeHolder, patch by Erick Tryzelaar 2008-02-25 21:28:46 +00:00
TypeSymbolTable.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Use.h Add explicit keywords. 2008-03-25 22:06:05 +00:00
User.h To support multiple return values, now ret instruction supports multiple operands instead of one aggregate operand. 2008-02-23 00:35:18 +00:00
Value.h move the Use destructor where it belongs to 2008-03-14 22:03:02 +00:00
ValueSymbolTable.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00