diff options
author | Pete Cooper <peter_cooper@apple.com> | 2013-02-22 01:50:38 +0000 |
---|---|---|
committer | Pete Cooper <peter_cooper@apple.com> | 2013-02-22 01:50:38 +0000 |
commit | 047f81a5dfe84dab8968f7f45a401bd643b27dd8 (patch) | |
tree | 08994ee156ba8a9c79554503a6f1f144f50dd0f5 /llvm/lib/CodeGen/SelectionDAG | |
parent | a3bb2b604422789a452d4b269061ad23e96729f7 (diff) | |
download | bcm5719-llvm-047f81a5dfe84dab8968f7f45a401bd643b27dd8.tar.gz bcm5719-llvm-047f81a5dfe84dab8968f7f45a401bd643b27dd8.zip |
Fix isa<> check which could never be true.
It was incorrectly checking a Function* being an IntrinsicInst* which
isn't possible. It should always have been checking the CallInst* instead.
Added test case for x86 which ensures we only get one constant load.
It was 2 before this change.
rdar://problem/13267920
llvm-svn: 175853
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/FastISel.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp b/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp index 6c41e1b1931..04f5b32e042 100644 --- a/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp @@ -705,7 +705,7 @@ bool FastISel::SelectCall(const User *I) { // all the values which have already been materialized, // appear after the call. It also makes sense to skip intrinsics // since they tend to be inlined. - if (!isa<IntrinsicInst>(F)) + if (!isa<IntrinsicInst>(Call)) flushLocalValueMap(); // An arbitrary call. Bail. |