diff options
| author | Owen Anderson <resistor@mac.com> | 2007-07-10 20:48:38 +0000 |
|---|---|---|
| committer | Owen Anderson <resistor@mac.com> | 2007-07-10 20:48:38 +0000 |
| commit | c432490b4c4b8939e072602f70678077042a72ef (patch) | |
| tree | cbf644c7e24a4e9e01b0dd79f5018d4f4d7e9cd3 /llvm/lib | |
| parent | faf9e424792d83e034188536c4d3163e684c00e3 (diff) | |
| download | bcm5719-llvm-c432490b4c4b8939e072602f70678077042a72ef.tar.gz bcm5719-llvm-c432490b4c4b8939e072602f70678077042a72ef.zip | |
Calculate the size of a array allocation correctly.
llvm-svn: 38511
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp index 4168cd6fb18..1225ebbe884 100644 --- a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp @@ -64,7 +64,7 @@ Instruction* MemoryDependenceAnalysis::getCallSiteDependency(CallSite C, bool lo } else if (AllocationInst* AI = dyn_cast<AllocationInst>(QI)) { pointer = AI; if (ConstantInt* C = dyn_cast<ConstantInt>(AI->getArraySize())) - pointerSize = C->getZExtValue(); + pointerSize = C->getZExtValue() * TD.getTypeSize(AI->getAllocatedType()); else pointerSize = ~0UL; } else if (VAArgInst* V = dyn_cast<VAArgInst>(QI)) { @@ -180,7 +180,7 @@ Instruction* MemoryDependenceAnalysis::getDependency(Instruction* query, } else if (AllocationInst* AI = dyn_cast<AllocationInst>(QI)) { pointer = AI; if (ConstantInt* C = dyn_cast<ConstantInt>(AI->getArraySize())) - pointerSize = C->getZExtValue(); + pointerSize = C->getZExtValue() * TD.getTypeSize(AI->getAllocatedType()); else pointerSize = ~0UL; } else if (VAArgInst* V = dyn_cast<VAArgInst>(QI)) { |

