diff options
author | Jacob Gravelle <jgravelle@google.com> | 2017-08-24 19:53:44 +0000 |
---|---|---|
committer | Jacob Gravelle <jgravelle@google.com> | 2017-08-24 19:53:44 +0000 |
commit | 73e192592efb739612c1338c5b75ddcb4a07e611 (patch) | |
tree | 943acb1f7e9686248f908781a6ea97782832784d /test/CodeGen/WebAssembly | |
parent | 3133c0dc5b1d59d9818528997eb86c641acb17a3 (diff) |
[WebAssembly] FastISel : Bail to SelectionDAG for constexpr calls
Summary: Currently FastISel lowers constexpr calls as indirect calls.
We'd like those to direct calls, and falling back to SelectionDAGISel
handles that.
Reviewers: dschuff, sunfish
Subscribers: jfb, sbc100, llvm-commits, aheejin
Differential Revision: https://reviews.llvm.org/D37073
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311693 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/WebAssembly')
-rw-r--r-- | test/CodeGen/WebAssembly/call.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/CodeGen/WebAssembly/call.ll b/test/CodeGen/WebAssembly/call.ll index 1cf42242a6c..dfa0cf5efe0 100644 --- a/test/CodeGen/WebAssembly/call.ll +++ b/test/CodeGen/WebAssembly/call.ll @@ -150,6 +150,27 @@ define void @coldcc_tail_call_void_nullary() { ret void } +; CHECK-LABEL: call_constexpr: +; CHECK-NEXT: i32.const $push[[L0:[0-9]+]]=, 2{{$}} +; CHECK-NEXT: i32.const $push[[L1:[0-9]+]]=, 3{{$}} +; CHECK-NEXT: call vararg_func@FUNCTION, $pop[[L0]], $pop[[L1]]{{$}} +; CHECK-NEXT: call other_void_nullary@FUNCTION{{$}} +; CHECK-NEXT: call void_nullary@FUNCTION{{$}} +; CHECK-NEXT: return{{$}} +declare void @vararg_func(...) +declare void @other_void_nullary() +define void @call_constexpr() { +bb0: + call void bitcast (void (...)* @vararg_func to void (i32, i32)*)(i32 2, i32 3) + br label %bb1 +bb1: + call void select (i1 0, void ()* @void_nullary, void ()* @other_void_nullary)() + br label %bb2 +bb2: + call void inttoptr (i32 ptrtoint (void ()* @void_nullary to i32) to void ()*)() + ret void +} + ; TODO: test the following: ; - More argument combinations. ; - Tail call. |