]> granicus.if.org Git - llvm/commit
Merging r354846:
authorTom Stellard <tstellar@redhat.com>
Wed, 15 May 2019 23:31:56 +0000 (23:31 +0000)
committerTom Stellard <tstellar@redhat.com>
Wed, 15 May 2019 23:31:56 +0000 (23:31 +0000)
commite1b1de8d49fd1d73ffafeaff1676a0a0230c2e41
tree6dba2c43ed4398e8855ba9b6801c5234626bf445
parentee7a21c07b0eaddd453f133a5872f462c9e43f87
Merging r354846:

------------------------------------------------------------------------
r354846 | djg | 2019-02-25 21:20:19 -0800 (Mon, 25 Feb 2019) | 12 lines

[WebAssembly] Properly align fp128 arguments in outgoing varargs arguments

For outgoing varargs arguments, it's necessary to check the OrigAlign field
of the corresponding OutputArg entry to determine argument alignment, rather
than just computing an alignment from the argument value type. This is
because types like fp128 are split into multiple argument values, with
narrower types that don't reflect the ABI alignment of the full fp128.

This fixes the printf("printfL: %4.*Lf\n", 2, lval); testcase.

Differential Revision: https://reviews.llvm.org/D58656

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_80@360826 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
test/CodeGen/WebAssembly/varargs.ll