Add a new optimization pass: Stack Coloring, that merges disjoint static allocations...
authorNadav Rotem <nrotem@apple.com>
Thu, 6 Sep 2012 09:17:37 +0000 (09:17 +0000)
committerNadav Rotem <nrotem@apple.com>
Thu, 6 Sep 2012 09:17:37 +0000 (09:17 +0000)
commitc05d30601ced172b55be81bb529df6be91d6ae15
tree4d0557ea0f15a6136fdfef2f93ec4abcaad662fd
parent6c822eea47dbef96940819b1ea085fabc49a1e71
Add a new optimization pass: Stack Coloring, that merges disjoint static allocations (allocas). Allocas are known to be
disjoint if they are marked by disjoint lifetime markers (@llvm.lifetime.XXX intrinsics).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163299 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
docs/ReleaseNotes.html
include/llvm/ADT/BitVector.h
include/llvm/CodeGen/ISDOpcodes.h
include/llvm/CodeGen/MachineFrameInfo.h
include/llvm/CodeGen/Passes.h
include/llvm/InitializePasses.h
include/llvm/Target/Target.td
include/llvm/Target/TargetOpcodes.h
lib/CodeGen/CMakeLists.txt
lib/CodeGen/CodeGen.cpp
lib/CodeGen/MachineFunction.cpp
lib/CodeGen/Passes.cpp
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
lib/CodeGen/SelectionDAG/InstrEmitter.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/CodeGen/StackColoring.cpp [new file with mode: 0644]
test/CodeGen/X86/StackColoring.ll [new file with mode: 0644]
utils/TableGen/CodeGenTarget.cpp