diff options
author | Nuno Lopes <nunoplopes@sapo.pt> | 2013-03-02 11:36:24 +0000 |
---|---|---|
committer | Nuno Lopes <nunoplopes@sapo.pt> | 2013-03-02 11:36:24 +0000 |
commit | b443a0aeac38e6fdce063224dfc746c269b0779d (patch) | |
tree | 3453d878b793977756e39b1d011acd6de1699bac /include | |
parent | 2bc689c8461dfbaa4ca9a9cc4ae5bc59cb007329 (diff) | |
download | external_llvm-b443a0aeac38e6fdce063224dfc746c269b0779d.zip external_llvm-b443a0aeac38e6fdce063224dfc746c269b0779d.tar.gz external_llvm-b443a0aeac38e6fdce063224dfc746c269b0779d.tar.bz2 |
recommit r172363 & r171325 (reverted in r172756)
This adds minimalistic support for PHI nodes to llvm.objectsize() evaluation
fingers crossed so that it does break clang boostrap again..
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176408 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/MemoryBuiltins.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/llvm/Analysis/MemoryBuiltins.h b/include/llvm/Analysis/MemoryBuiltins.h index dd2fce4..cc1a882 100644 --- a/include/llvm/Analysis/MemoryBuiltins.h +++ b/include/llvm/Analysis/MemoryBuiltins.h @@ -161,12 +161,14 @@ typedef std::pair<APInt, APInt> SizeOffsetType; class ObjectSizeOffsetVisitor : public InstVisitor<ObjectSizeOffsetVisitor, SizeOffsetType> { + typedef DenseMap<const Value*, SizeOffsetType> CacheMapTy; + const DataLayout *TD; const TargetLibraryInfo *TLI; bool RoundToAlign; unsigned IntTyBits; APInt Zero; - SmallPtrSet<Instruction *, 8> SeenInsts; + CacheMapTy CacheMap; APInt align(APInt Size, uint64_t Align); |