[llvm-commits] [llvm] r60238 - /llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp
Duncan Sands
baldrick at free.fr
Sat Nov 29 05:25:09 PST 2008
Hi Chris,
> if (ConstantInt* C = dyn_cast<ConstantInt>(AI->getArraySize()))
> pointerSize = C->getZExtValue() *
> - TD.getABITypeSize(AI->getAllocatedType());
> + TD.getTypeStoreSize(AI->getAllocatedType());
this looks wrong: when alloca'ing multiple elements, the elements are spaced
by the ABI size, not the store size, so I think this change is wrong when C > 1.
That said, if C >= 1, then doing (C-1)*ABISize + StoreSize should be correct.
> + } else if (AllocationInst *AI = dyn_cast<AllocationInst>(Inst)) {
> + Pointer = AI;
> + if (ConstantInt *C = dyn_cast<ConstantInt>(AI->getArraySize()))
> + PointerSize = C->getZExtValue() *
> + TD.getTypeStoreSize(AI->getAllocatedType());
Likewise.
Ciao,
Duncan.
More information about the llvm-commits
mailing list