summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-07-28 21:43:31 +0000
committerVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-07-28 21:43:31 +0000
commit9876946aee62bbe1e963200a0e55e2fd785c5a88 (patch)
tree63b53d4d195f605f4e619518d06e596b02d7ce1b /llvm/test
parentc69780d7977078d10d6ef86fd81ea0a3ac9c5939 (diff)
downloadbcm5719-llvm-9876946aee62bbe1e963200a0e55e2fd785c5a88.tar.gz
bcm5719-llvm-9876946aee62bbe1e963200a0e55e2fd785c5a88.zip
[mips][FastISel] Fix call lowering by bailing out on "fastcc" calls.
Summary: Currently, we support only the MIPS O32 ABI calling convention for call lowering. With this change we avoid using the O32 calling convetion for lowering calls marked as using the fast calling convention. Reviewers: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11515 llvm-svn: 243485
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/Mips/Fast-ISel/fastcc-miss.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Mips/Fast-ISel/fastcc-miss.ll b/llvm/test/CodeGen/Mips/Fast-ISel/fastcc-miss.ll
new file mode 100644
index 00000000000..7a197b112a2
--- /dev/null
+++ b/llvm/test/CodeGen/Mips/Fast-ISel/fastcc-miss.ll
@@ -0,0 +1,16 @@
+; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -O0 -relocation-model=pic \
+; RUN: -fast-isel=true -mips-fast-isel -fast-isel-verbose 2>&1 | \
+; RUN: FileCheck %s
+
+; CHECK: FastISel missed call:
+; CHECK-SAME: %call = call fastcc i32 @foo(i32 signext %a, i32 signext %b)
+
+define internal i32 @bar(i32 signext %a, i32 signext %b) {
+ %s = and i32 %a, %b
+ ret i32 %s
+}
+
+define i32 @foo(i32 signext %a, i32 signext %b) {
+ %call = call fastcc i32 @foo(i32 signext %a, i32 signext %b)
+ ret i32 %call
+}
OpenPOWER on IntegriCloud