llvm-6502/include/llvm
Evan Cheng c781a243a3 In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all.
VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants.

Not yet enabled. This is part 1. More coming.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70787 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03 18:32:42 +00:00
..
ADT Prevent looping when DenseSet is abused. 2009-05-01 20:47:53 +00:00
Analysis -Move the DwarfWriter::ValidDebugInfo check to a static DIDescriptor::ValidDebugInfo 2009-05-03 08:50:41 +00:00
Assembly add a #include to improve portability to windows, as requested by 2009-03-09 05:10:08 +00:00
Bitcode give bitstreamreader an API to ignore names for blocks/records, 2009-04-27 20:04:08 +00:00
CodeGen In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. 2009-05-03 18:32:42 +00:00
CompilerDriver -write-graph now can be used with -o. 2009-03-27 12:57:14 +00:00
Config Regenerate. 2009-04-13 04:26:27 +00:00
Debugger
ExecutionEngine Instead of passing in an unsigned value for the optimization level, use an enum, 2009-04-29 23:29:43 +00:00
Support Apply Jeffrey Yasskin's CallbackVH patch, with minor tweaks from me 2009-05-02 21:10:48 +00:00
System Add sys::Path::makeAbsolute(). 2009-04-09 00:33:08 +00:00
Target In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. 2009-05-03 18:32:42 +00:00
Transforms Revert r70645 for now; it's causing a variety of regressions. 2009-05-03 05:46:20 +00:00
AbstractTypeUser.h Another attempt at fixing PR2975. 2009-04-07 17:23:02 +00:00
Argument.h
Attributes.h
AutoUpgrade.h
BasicBlock.h Revert r67844. This fixes the llvm-gcc-4.2 build on Darwin. 2009-03-27 18:37:13 +00:00
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt CMake: Have generated Xcode projects also contain the LLVM header files. 2009-04-01 15:40:21 +00:00
Constant.h Clearify local/global relocations wording 2009-03-30 17:38:00 +00:00
Constants.h Use intptr_t. 2009-04-25 21:06:53 +00:00
DerivedTypes.h
Function.h Revert r67844. This fixes the llvm-gcc-4.2 build on Darwin. 2009-03-27 18:37:13 +00:00
GlobalAlias.h
GlobalValue.h Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
GlobalVariable.h Factorize out a concept - no functionality change. 2009-03-21 21:27:31 +00:00
InlineAsm.h Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies. 2009-03-23 08:01:15 +00:00
InstrTypes.h
Instruction.def
Instruction.h Updated the comment for isArithmeticShift() to match reality. 2009-03-29 20:41:38 +00:00
Instructions.h Make getOperandNumForIncomingValue and getOperandNumForIncomingBlock 2009-03-23 15:48:29 +00:00
IntrinsicInst.h change the MemIntrinsic get/setAlignment method to take an unsigned 2009-03-08 03:59:00 +00:00
Intrinsics.h
Intrinsics.td Add a comment to describe LLVMMatchType. 2009-04-16 21:46:42 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td
IntrinsicsXCore.td
LinkAllPasses.h Add a liveness analysis pass for LLVM IR values. This computes 2009-03-19 17:29:04 +00:00
LinkAllVMCore.h
Linker.h
Module.h "ghostify" the ilist<Function> sentinel 2009-03-27 22:28:33 +00:00
ModuleProvider.h
OperandTraits.h Give Op<N>() AppleScript-like semantics, i.e. for negative N it indexes relative to op_end. 2009-03-10 23:02:13 +00:00
Pass.h Remove dead code. 2009-04-01 21:27:08 +00:00
PassAnalysisSupport.h Clean up pass manager cache after each run. 2009-04-01 22:34:41 +00:00
PassManager.h
PassManagers.h Clean up pass manager cache after each run. 2009-04-01 22:34:41 +00:00
PassSupport.h
SymbolTableListTraits.h
Type.h Add a new Type::getPointerTo method, which is shorthand for 2009-04-10 06:42:02 +00:00
TypeSymbolTable.h Fixed spelling. 2009-04-01 16:13:29 +00:00
Use.h Add a comment to refer to the section of the programmer's manual that explains what the pointer tagging in Use is for. 2009-04-30 23:28:50 +00:00
User.h Fix the Win32 VS2008 build: 2009-03-19 23:26:52 +00:00
Value.h Add support for embedded metadata to LLVM. This introduces two new types of 2009-04-04 07:22:01 +00:00
ValueSymbolTable.h