Changes in directory llvm-poolalloc/lib/PoolAllocate:

TransformFunctionBody.cpp updated: 1.48 -> 1.49
---
Log message:

*** empty log message ***

---
Diffs of the changes:  (+2 -4)

 TransformFunctionBody.cpp |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)


Index: llvm-poolalloc/lib/PoolAllocate/TransformFunctionBody.cpp
diff -u llvm-poolalloc/lib/PoolAllocate/TransformFunctionBody.cpp:1.48 
llvm-poolalloc/lib/PoolAllocate/TransformFunctionBody.cpp:1.49
--- llvm-poolalloc/lib/PoolAllocate/TransformFunctionBody.cpp:1.48      Thu Dec 
22 10:33:29 2005
+++ llvm-poolalloc/lib/PoolAllocate/TransformFunctionBody.cpp   Thu Dec 22 
11:49:34 2005
@@ -592,16 +592,14 @@
 #ifdef BOUNDS_CHECK
       if (ArgNodes[i]->isArray()) {
 #endif
-       if (1) {
-       //Dinakar we need pooldescriptors for allocas in the callee if it 
escapes
+       if (!isa<InvokeInst>(TheCall)) {
+         //Dinakar we need pooldescriptors for allocas in the callee if it 
escapes
          BasicBlock::iterator InsertPt = 
TheCall->getParent()->getParent()->front().begin();
          Type *VoidPtrTy = PointerType::get(Type::SByteTy);
          ArgVal =  new AllocaInst(ArrayType::get(VoidPtrTy, 16), 0, "PD", 
InsertPt);
          Value *ElSize = ConstantUInt::get(Type::UIntTy,0);
          Value *Align  = ConstantUInt::get(Type::UIntTy,0);
          new CallInst(PAInfo.PoolInit, make_vector(ArgVal, ElSize, Align, 
0),"", TheCall);
-         //UGLY HACK this won't release some memory
-         if (!isa<InvokeInst>(TheCall)) 
            new CallInst(PAInfo.PoolDestroy, make_vector(ArgVal, 0), "",
                       TheCall->getNext());
        }



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to