aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2018-03-26 18:49:48 +0000
committerReid Kleckner <rnk@google.com>2018-03-26 18:49:48 +0000
commit41fb2dba9cc30d08b19655a46ec133fbb3e24351 (patch)
treec156b69b86b446ba3dd5dd14ac0584c800c7fe8d /clang/lib/Frontend/CompilerInvocation.cpp
parentf065390f6c9ee101c2409abcd1503bb850edf51f (diff)
downloadllvm-41fb2dba9cc30d08b19655a46ec133fbb3e24351.zip
llvm-41fb2dba9cc30d08b19655a46ec133fbb3e24351.tar.gz
llvm-41fb2dba9cc30d08b19655a46ec133fbb3e24351.tar.bz2
[X86] Fix Windows `i1 zeroext` conventions to use i8 instead of i32
Summary: Re-lands r328386 and r328443, reverting r328482. Incorporates fixes from @mstorsjo in 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. I also tested this by self-hosting clang and it passed tests on win64. Reviewers: mstorsjo, hans Subscribers: hiraditya, mstorsjo, llvm-commits Differential Revision: https://reviews.llvm.org/D44900 llvm-svn: 328570
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions