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 | b704ffbb46cae716dc51bd8e6ba425c0a4949a47 (patch) | |
tree | cc441747224d2c36235bc6d309aff22281ac020c /lib/CodeGen/SelectionDAG/FastISel.cpp | |
parent | 667754e239538350c5bd8581772f414783ac71a2 (diff) |
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175853 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/FastISel.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/FastISel.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/FastISel.cpp b/lib/CodeGen/SelectionDAG/FastISel.cpp index 6c41e1b193..04f5b32e04 100644 --- a/lib/CodeGen/SelectionDAG/FastISel.cpp +++ b/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. |