[PATCH] D37073: [WebAssembly] FastISel : Lower constant calls as direct calls

Derek Schuff via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 24 11:03:04 PDT 2017


dschuff added a comment.

Also looking back and my previous comment,

> Also that this patch really does is just bail from fast-isel when the callee is a constant (which is fine), and that has the effect of causing calls of bitcasts to be lowered as direct calls.

it really wasn't clear what what I meant was that when you land this you should update the commit description to be more clear about what this change does (bail) and that that's why its effect is to cause calls of bitcasts to be direct.



================
Comment at: test/CodeGen/WebAssembly/call.ll:163
+define void @call_constexpr() {
+  call void bitcast (void (...)* @vararg_func to void (i32, i32)*)(i32 2, i32 3)
+  call void select (i1 0, void ()* @void_nullary, void ()* @other_void_nullary)()
----------------
If the behavior of bailing from fast-isel is to go back and select the whole rest of the BB with the DAG isel, then these calls probably need to be in different BBs, so we can check that each independently causes a bail.


https://reviews.llvm.org/D37073





More information about the llvm-commits mailing list