llvm-6502/include/llvm
Jakob Stoklund Olesen df30cf9e61 Transpose the calculation of spill weights such that we are calculating one
register at a time. This turns out to be slightly faster than iterating over
instructions, but more importantly, it allows us to compute spill weights for
new registers created after the spill weight pass has run.

Also compute the allocation hint at the same time as the spill weight. This
allows us to use the spill weight as a cost metric for copies, and choose the
most profitable hint if there is more than one possibility.

The new hints provide a very small (< 0.1%) but universal code size improvement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110631 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 00:02:26 +00:00
..
ADT Remove the ValueMap operator=, which was wrong (it did't correct the 2010-08-09 16:44:56 +00:00
Analysis Refactor. 2010-08-09 21:39:24 +00:00
Assembly Ok, third time's the charm. No changes from last time except the CMake 2010-04-02 23:17:14 +00:00
Bitcode Don't special-case stdout in llvm::WriteBitcodeToFile; just consider 2010-05-27 20:06:51 +00:00
CodeGen Transpose the calculation of spill weights such that we are calculating one 2010-08-10 00:02:26 +00:00
CompilerDriver Return -1 only on failure to execute a program. 2010-07-27 11:19:36 +00:00
Config Add a bit of a hack to avoid multiple defines of variables in 2010-08-08 09:18:29 +00:00
ExecutionEngine remove the JIT "NeedsExactSize" feature and supporting logic. 2010-07-22 21:17:55 +00:00
MC Next bit of support for the dwarf .file directive. This patch takes the 2010-08-09 22:52:14 +00:00
Support Roll back my last two commits, valgrind complains. 2010-08-07 13:27:41 +00:00
System Add an erase() method to llvm::ThreadLocal. 2010-07-28 22:49:43 +00:00
Target Use the "isCompare" machine instruction attribute instead of calling the 2010-08-08 05:04:59 +00:00
Transforms Eliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg") 2010-08-06 21:48:06 +00:00
AbstractTypeUser.h give PATypeHolder an explicit copy ctor which initializes the type pointer, 2010-06-29 19:20:38 +00:00
Argument.h
Attributes.h
AutoUpgrade.h
BasicBlock.h Skip debug info when looking for existing EH calls at the 2010-04-02 21:49:27 +00:00
CallGraphSCCPass.h Remove assignPassManager's default arguments. It's really 2010-08-07 01:25:32 +00:00
CallingConv.h Add support for thiscall calling convention. 2010-05-16 09:08:45 +00:00
CMakeLists.txt
Constant.h
Constants.h Add some comments about undef. 2010-05-14 23:01:02 +00:00
DerivedTypes.h eliminate unlockedRefineAbstractTypeTo, types are all per-llvmcontext, 2010-07-16 20:50:13 +00:00
Function.h Finally land the InvokeInst operand reordering. 2010-03-24 13:21:49 +00:00
GlobalAlias.h
GlobalValue.h Make GlobalValue alignment consistent with load, store, and alloca 2010-07-28 20:56:48 +00:00
GlobalVariable.h
GVMaterializer.h
InlineAsm.h Propagate the AlignStack bit in InlineAsm's to the 2010-07-02 20:16:09 +00:00
InstrTypes.h Split the logic behind CastInst::isNoopCast into a separate static function, 2010-05-28 21:41:37 +00:00
Instruction.def
Instruction.h Rename removeAllMetadata to clearMetadataHashEntries and simplify 2010-07-20 22:25:04 +00:00
Instructions.h Add a predicate to determine if a call is an inline asm statement. 2010-08-07 00:19:59 +00:00
IntrinsicInst.h fit in 80 columns 2010-07-22 14:13:14 +00:00
Intrinsics.h
Intrinsics.td Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem 2010-08-05 23:36:21 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem 2010-08-05 23:36:21 +00:00
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem 2010-08-05 23:36:21 +00:00
IntrinsicsX86.td Fix the last argument type of AVX vblend intrinsics 2010-08-10 00:00:22 +00:00
IntrinsicsXCore.td
LinkAllPasses.h Add an atomic lowering pass 2010-08-03 16:19:16 +00:00
LinkAllVMCore.h
Linker.h
LLVMContext.h Remove an obsolete comment. 2010-07-20 21:45:17 +00:00
Metadata.h Make NamedMDNode not be a subclass of Value, and simplify the interface 2010-07-21 23:38:33 +00:00
Module.h Warnings patrol. 2010-07-22 21:51:30 +00:00
OperandTraits.h
Operator.h
Pass.h Remove assignPassManager's default arguments. It's really 2010-08-07 01:25:32 +00:00
PassAnalysisSupport.h More #include cleanups. 2010-08-07 01:18:18 +00:00
PassManager.h Tidy some #includes and forward-declarations, and move the C binding code 2010-08-07 00:43:20 +00:00
PassManagers.h More #include cleanups. 2010-08-07 01:18:18 +00:00
PassRegistry.h Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
PassSupport.h Tidy some #includes and forward-declarations, and move the C binding code 2010-08-07 00:43:20 +00:00
SymbolTableListTraits.h Avoid many "variable 'Sub' set but not used [-Wunused-but-set-variable]" warnings 2010-06-10 15:06:05 +00:00
Type.h give PATypeHolder an explicit copy ctor which initializes the type pointer, 2010-06-29 19:20:38 +00:00
TypeSymbolTable.h
Use.h re-commit r109220, the compile error has already been fixed 2010-07-26 18:48:07 +00:00
User.h
Value.h Move MaximumAlignment to be a member of the Value class. 2010-07-30 21:07:05 +00:00
ValueSymbolTable.h Make NamedMDNode not be a subclass of Value, and simplify the interface 2010-07-21 23:38:33 +00:00