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