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
This commit is contained in:
Nadav Rotem
2012-09-06 09:17:37 +00:00
parent 6c822eea47
commit c05d30601c
22 changed files with 1058 additions and 17 deletions
@@ -97,7 +97,7 @@ void FunctionLoweringInfo::set(const Function &fn, MachineFunction &mf) {
cast<ArrayType>(Ty)->getElementType()->isIntegerTy(8)));
StaticAllocaMap[AI] =
MF->getFrameInfo()->CreateStackObject(TySize, Align, false,
MayNeedSP);
MayNeedSP, AI);
}
for (; BB != EB; ++BB)