[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