summaryrefslogtreecommitdiff
path: root/include/llvm/Analysis/PHITransAddr.h
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2011-12-01 03:08:23 +0000
committerChad Rosier <mcrosier@apple.com>2011-12-01 03:08:23 +0000
commit618c1dbd293d15ee19f61b1156ab8086ad28311a (patch)
treea3d38072ea36b97f75ee77b30c5af8cbe390bb43 /include/llvm/Analysis/PHITransAddr.h
parent66d004ef708642bbdc38fd761507f2e9ee3970cd (diff)
downloadllvm-618c1dbd293d15ee19f61b1156ab8086ad28311a.tar.gz
llvm-618c1dbd293d15ee19f61b1156ab8086ad28311a.tar.bz2
llvm-618c1dbd293d15ee19f61b1156ab8086ad28311a.tar.xz
Propagate TargetLibraryInfo throughout ConstantFolding.cpp and
InstructionSimplify.cpp. Other fixups as needed. Part of rdar://10500969 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145559 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/PHITransAddr.h')
-rw-r--r--include/llvm/Analysis/PHITransAddr.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/llvm/Analysis/PHITransAddr.h b/include/llvm/Analysis/PHITransAddr.h
index 033efba3e7..ff9a24790a 100644
--- a/include/llvm/Analysis/PHITransAddr.h
+++ b/include/llvm/Analysis/PHITransAddr.h
@@ -20,7 +20,8 @@
namespace llvm {
class DominatorTree;
class TargetData;
-
+ class TargetLibraryInfo;
+
/// PHITransAddr - An address value which tracks and handles phi translation.
/// As we walk "up" the CFG through predecessors, we need to ensure that the
/// address we're tracking is kept up to date. For example, if we're analyzing
@@ -37,11 +38,14 @@ class PHITransAddr {
/// TD - The target data we are playing with if known, otherwise null.
const TargetData *TD;
+
+ /// TLI - The target library info if known, otherwise null.
+ const TargetLibraryInfo *TLI;
/// InstInputs - The inputs for our symbolic address.
SmallVector<Instruction*, 4> InstInputs;
public:
- PHITransAddr(Value *addr, const TargetData *td) : Addr(addr), TD(td) {
+ PHITransAddr(Value *addr, const TargetData *td) : Addr(addr), TD(td), TLI(0) {
// If the address is an instruction, the whole thing is considered an input.
if (Instruction *I = dyn_cast<Instruction>(Addr))
InstInputs.push_back(I);