[llvm-commits] CVS: llvm/lib/Transforms/IPO/GlobalOpt.cpp
Nate Begeman
natebegeman at mac.com
Sat Nov 5 01:21:43 PST 2005
Changes in directory llvm/lib/Transforms/IPO:
GlobalOpt.cpp updated: 1.59 -> 1.60
---
Log message:
Add support alignment of allocation instructions.
Add support for specifying alignment and size of setjmp jmpbufs.
No targets currently do anything with this information, nor is it presrved
in the bytecode representation. That's coming up next.
---
Diffs of the changes: (+2 -1)
GlobalOpt.cpp | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)
Index: llvm/lib/Transforms/IPO/GlobalOpt.cpp
diff -u llvm/lib/Transforms/IPO/GlobalOpt.cpp:1.59 llvm/lib/Transforms/IPO/GlobalOpt.cpp:1.60
--- llvm/lib/Transforms/IPO/GlobalOpt.cpp:1.59 Tue Oct 25 06:18:06 2005
+++ llvm/lib/Transforms/IPO/GlobalOpt.cpp Sat Nov 5 03:21:28 2005
@@ -678,7 +678,7 @@
(unsigned)NElements->getRawValue());
MallocInst *NewMI =
new MallocInst(NewTy, Constant::getNullValue(Type::UIntTy),
- MI->getName(), MI);
+ MI->getAlignment(), MI->getName(), MI);
std::vector<Value*> Indices;
Indices.push_back(Constant::getNullValue(Type::IntTy));
Indices.push_back(Indices[0]);
@@ -950,6 +950,7 @@
DEBUG(std::cerr << "LOCALIZING GLOBAL: " << *GV);
Instruction* FirstI = GS.AccessingFunction->getEntryBlock().begin();
const Type* ElemTy = GV->getType()->getElementType();
+ // FIXME: Pass Global's alignment when globals have alignment
AllocaInst* Alloca = new AllocaInst(ElemTy, NULL, GV->getName(), FirstI);
if (!isa<UndefValue>(GV->getInitializer()))
new StoreInst(GV->getInitializer(), Alloca, FirstI);
More information about the llvm-commits
mailing list