[PATCH] D44900: [X86] Fix Windows `i1 zeroext` conventions to use i8 instead of i32

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 26 10:33:05 PDT 2018


rnk created this revision.
rnk added reviewers: mstorsjo, hans.
Herald added a subscriber: hiraditya.

Re-lands r328386 and r328443, reverting r328482.

Incorporates fixes from @mstorsjo in https://reviews.llvm.org/D44876 (thanks!) so that small
parameters in i8 and i16 do not end up in the SysV register parameters
(EDI, ESI, etc).

I added tests for how we receive small parameters, since that is the
important part. It's always safe to store more bytes than will be read,
but the assumptions you make when loading them are what really matter.


https://reviews.llvm.org/D44900

Files:
  llvm/lib/Target/X86/X86CallingConv.td
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/test/CodeGen/X86/avx512-intel-ocl.ll
  llvm/test/CodeGen/X86/h-registers-0.ll
  llvm/test/CodeGen/X86/test-shrink.ll
  llvm/test/CodeGen/X86/vec_cast.ll
  llvm/test/CodeGen/X86/win-smallparams.ll
  llvm/test/CodeGen/X86/win32-bool.ll
  llvm/test/CodeGen/X86/win64-bool.ll
  llvm/test/CodeGen/X86/xor.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44900.139814.patch
Type: text/x-patch
Size: 11561 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180326/458d0f23/attachment.bin>


More information about the llvm-commits mailing list