Go to file
Diana Picus 9c52309b37 [ARM] GlobalISel: Lower call params that need extensions
Lower i1, i8 and i16 call parameters by extending them before storing them on
the stack. Also make sure we encode the correct, extended size in the
corresponding memory operand, and that we compute the correct stack size in the
end.

The latter is a bit more complicated because we used to compute the stack size
in the getStackAddress method, based on the Size and Offset of the parameters.
However, if the last parameter is sign extended, we'd be using the wrong,
non-extended size, and we'd end up with a smaller stack than we need to hold the
extended value. Instead of hacking this up based on the value of Size in
getStackAddress, we move our stack size handling logic to assignArg, where we
have access to the CCState which knows everything we could possibly want to know
about the stack. This way we don't need to duplicate any knowledge or resort to
any ugly hacks.

On this same occasion, update the IRTranslator test to check the sizes of the
stores everywhere, not just for sign extended paramteres.

llvm-svn: 296631
2017-03-01 15:35:14 +00:00
clang Introducing clang::tooling::AtomicChange for refactoring tools. 2017-03-01 13:14:01 +00:00
clang-tools-extra [clang-tidy] Attempt to fix the test where exceptions are disabled by default. 2017-03-01 14:41:11 +00:00
compiler-rt [XRay] [compiler-rt] [NFC] Annotate unused variables for the compiler. 2017-02-28 08:48:46 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc math: Implement sinh function 2017-02-25 02:46:53 +00:00
libcxx [libcxx] Support threads on Fuchsia 2017-03-01 03:09:18 +00:00
libcxxabi [libcxxabi] Clean up macro usage. 2017-03-01 11:42:01 +00:00
libunwind Fix the project name in the license file. 2017-02-27 17:47:58 +00:00
lld Simplify. NFC. 2017-03-01 14:21:31 +00:00
lldb Mark TestYMMRegister as no_debug_info_test 2017-03-01 11:18:59 +00:00
llgo [llgo] Remove support for LLVM attributes 2016-12-06 19:22:04 +00:00
llvm [ARM] GlobalISel: Lower call params that need extensions 2017-03-01 15:35:14 +00:00
openmp Removing couple unnecessary architecture guards. 2017-02-28 21:43:28 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Currently broken by recent LLVM upstream changes 2017-03-01 04:34:44 +00:00