llvm-6502/include/llvm
Jakob Stoklund Olesen 8bfe50871f Add the SpillPlacement analysis pass.
This pass precomputes CFG block frequency information that can be used by the
register allocator to find optimal spill code placement.

Given an interference pattern, placeSpills() will compute which basic blocks
should have the current variable enter or exit in a register, and which blocks
prefer the stack.

The algorithm is ready to consume block frequencies from profiling data, but for
now it gets by with the static estimates used for spill weights.

This is a work in progress and still not hooked up to RegAllocGreedy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122938 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-06 01:21:53 +00:00
..
ADT add a handy typedef. 2011-01-03 03:16:20 +00:00
Analysis Stub out a new updating interface to AliasAnalysis, allowing stateful analyses to be informed when 2011-01-03 21:38:41 +00:00
Assembly
Bitcode Merge System into Support. 2010-11-29 18:16:10 +00:00
CodeGen Add the SpillPlacement analysis pass. 2011-01-06 01:21:53 +00:00
CompilerDriver Merge System into Support. 2010-11-29 18:16:10 +00:00
Config Support/FileSystem: Fix MinGW build. It doesn't have _chsize_s. 2010-12-03 18:48:56 +00:00
ExecutionEngine Merge System into Support. 2010-11-29 18:16:10 +00:00
MC MC/Mach-O/Thumb: Set the thumb bit in the symbol table. 2010-12-29 14:14:06 +00:00
Object MC/Mach-O: Shuffle enums a bit to make it harder to inadvertently use the wrong 2010-12-21 15:26:45 +00:00
Support Revert svn 122743, removing the instcombine pass that was replaced by earlycse. 2011-01-05 21:16:50 +00:00
Target Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
Transforms Add a new loop-instsimplify pass, with the intention of replacing the instance 2011-01-03 00:25:16 +00:00
AbstractTypeUser.h
Argument.h
Attributes.h
AutoUpgrade.h
BasicBlock.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CallGraphSCCPass.h
CallingConv.h Adding target specific calling conventions to support the MBlaze GCC function 2010-12-15 20:14:09 +00:00
CMakeLists.txt
Constant.h
Constants.h clarify comment 2010-12-03 01:11:13 +00:00
DerivedTypes.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Function.h
GlobalAlias.h
GlobalValue.h Discourage people from using isWeakForLinker when they should be using 2010-12-20 10:57:01 +00:00
GlobalVariable.h
GVMaterializer.h
InitializePasses.h Add the SpillPlacement analysis pass. 2011-01-06 01:21:53 +00:00
InlineAsm.h
InstrTypes.h These methods should be "const"; make them so. 2011-01-04 12:52:29 +00:00
Instruction.def
Instruction.h There is no need for isAssociative to take the type as an argument anymore. 2010-12-20 13:10:23 +00:00
Instructions.h Fix paste-o in ExtractValueInst::getIndexedType() comments. 2010-12-03 14:54:33 +00:00
IntrinsicInst.h remove the pointless check of MemoryUseIntrinsic from 2010-11-30 02:03:47 +00:00
Intrinsics.h
Intrinsics.td Make @llvm.invariant.start not be readonly, so that it has side-effects. This 2010-11-30 04:13:41 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td Add Neon VCVT instructions for f32 <-> f16 conversions. 2010-12-15 22:14:12 +00:00
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td
IntrinsicsXCore.td
LinkAllPasses.h sketch out a new early cse pass. No functionality yet. 2011-01-02 21:47:05 +00:00
LinkAllVMCore.h Missed a spot removing Alarm. 2010-12-07 18:50:33 +00:00
Linker.h
LLVMContext.h
Metadata.h
Module.h Merge System into Support. 2010-11-29 18:16:10 +00:00
OperandTraits.h
Operator.h
Pass.h
PassAnalysisSupport.h
PassManager.h
PassManagers.h
PassRegistry.h
PassSupport.h Merge System into Support. 2010-11-29 18:16:10 +00:00
SymbolTableListTraits.h
Type.h
TypeSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Use.h
User.h
Value.h Revert r122114 (CallbackVH observing use-list changes) because it caused severe slowdowns on the Linux self-host configuration. 2010-12-20 22:28:03 +00:00
ValueSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00