[Win64] Only treat some functions as having the Win64 convention
authorReid Kleckner <reid@kleckner.net>
Wed, 8 Jul 2015 21:03:47 +0000 (21:03 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 8 Jul 2015 21:03:47 +0000 (21:03 +0000)
commitf8d36775316514278093ac65e91fb12748be3923
treed389651a1b49a2b574aac710b3172c7054ea519d
parentb13e877e27d6b85f598a8a95b746acafcfb26710
[Win64] Only treat some functions as having the Win64 convention

All the usual X86 target-specific conventions are collapsed to the
normal Win64 convention, but the custom conventions like GHC and webkit
should not be.

Previously we would assume that the caller allocated 32 bytes of shadow
space for us, which is not how webkit_jscc or other custom conventions
are supposed to work.

Based on a patch by peavo@outlook.com.

Fixes PR24051.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241725 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86Subtarget.h
test/CodeGen/X86/webkit-jscc.ll [new file with mode: 0644]