summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG
diff options
context:
space:
mode:
authorPete Cooper <peter_cooper@apple.com>2013-02-22 01:50:38 +0000
committerPete Cooper <peter_cooper@apple.com>2013-02-22 01:50:38 +0000
commit047f81a5dfe84dab8968f7f45a401bd643b27dd8 (patch)
tree08994ee156ba8a9c79554503a6f1f144f50dd0f5 /llvm/lib/CodeGen/SelectionDAG
parenta3bb2b604422789a452d4b269061ad23e96729f7 (diff)
downloadbcm5719-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.cpp2
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.
OpenPOWER on IntegriCloud