- Nov 05, 2012
-
-
Ulrich Weigand authored
zero-extended to 64 bits. This information is currently provided to the back end by setting "signext" or "zeroext" attributes. However, this is done only for integer types *smaller* than i32, not for i32 itself. This causes clang to generate code violating the ABI, which results in a failure of the tramp3d-v4 test case (due to calling a system library routine without ABI-required extension). This patch implements custom versions of classifyArgumentType and classifyReturnType for PPC64_SVR4_ABIInfo, which are the same as the default versions except that they also classify "int" and "unsigned int" as types needing extending. This fixed tramp3d-v4 on PowerPC64. llvm-svn: 167393
-
- Nov 04, 2012
-
-
Fariborz Jahanian authored
well as couple of tests which were not being excercised because of TYPOs. llvm-svn: 167374
-
- Nov 03, 2012
-
-
David Blaikie authored
llvm-svn: 167336
-
- Nov 02, 2012
-
-
Fariborz Jahanian authored
mrr mode. llvm-svn: 167331
-
David Blaikie authored
llvm-svn: 167308
-
Quentin Colombet authored
llvm-svn: 167266
-
- Nov 01, 2012
-
-
Richard Smith authored
llvm-svn: 167261
-
Richard Smith authored
llvm-svn: 167260
-
Richard Smith authored
separate functions, since they share essentially no code. llvm-svn: 167259
-
Richard Smith authored
g++'s -ftrapv, failed to call the -ftrapv overflow handler, and are still available under -fcatch-undefined-behavior. llvm-svn: 167258
-
Matt Beaumont-Gay authored
llvm-svn: 167249
-
Fariborz Jahanian authored
generation for captured block variables in arc mode. This includes inlined version of the meta-data when it can be done. It also includes severat tests. This is wip. // rdar://12184410. llvm-svn: 167241
-
Richard Smith authored
We want the diagnostic, and if the load is optimized away, we still want to trap it. Stop checking non-default address spaces; that doesn't work in general. llvm-svn: 167219
-
- Oct 31, 2012
-
-
Manman Ren authored
According to the spec, we can backfill VFP registers that were skipped due to alignment constraints. llvm-svn: 167159
-
Manman Ren authored
If HA can only partially fit into VFP registers, we add padding to make sure HA will be on stack and later VFP CPRCs will be on stack as well. llvm-svn: 167058
-
- Oct 30, 2012
-
-
Fariborz Jahanian authored
layout meta-data. It is currently off (so no tests). This is wip. llvm-svn: 167047
-
Quentin Colombet authored
llvm-svn: 167021
-
Eli Friedman authored
llvm-svn: 166992
-
- Oct 29, 2012
-
-
Quentin Colombet authored
llvm-svn: 166957
-
Quentin Colombet authored
llvm-svn: 166946
-
Ulrich Weigand authored
llvm-svn: 166924
-
- Oct 27, 2012
-
-
Fariborz Jahanian authored
It is currently off (so no tests). This is wip. llvm-svn: 166892
-
Rafael Espindola authored
llvm-svn: 166853
-
Rafael Espindola authored
llvm-svn: 166849
-
Rafael Espindola authored
llvm-svn: 166848
-
Rafael Espindola authored
can be refactored and used in Sema. llvm-svn: 166847
-
Eli Friedman authored
llvm-svn: 166832
-
-
Fariborz Jahanian authored
llvm-svn: 166823
-
- Oct 26, 2012
-
-
Fariborz Jahanian authored
flags for __block variable meta-data. llvm-svn: 166811
-
Fariborz Jahanian authored
extern "C", its method definitions must be IRGen'ed before meta-data for class is generated. Otherwise, IRGen crashes (to say the least). // rdar://12581683 llvm-svn: 166809
-
Bill Schmidt authored
varargs parameter passing. A strict reading of the ABI indicates that any argument with alignment greater than 8 may require skipping doublewords in the parameter save area to align the argument, and hence require skipping GPRs. In practice, this is not done by GCC. The alignment restriction is used for internal alignment of a structure, but a structure with 16-byte alignment, for example, is not itself 16-byte aligned in the parameter save area. Although this is messy, it has become the de facto standard used in building existing libraries. My initial varargs support followed the ABI language, but not the de facto standard. Running the GCC compatibility test suite exposed this issue, and indeed showed that LLVM didn't pass parameters self-consistently with my original logic. Removing the additional alignment logic allows the affected tests to now pass. I modified the ppc64-varargs-struct.c test case to remove the existing test for generation of alignment code, which is no longer appropriate. Built and tested on powerpc64-unknown-linux-gnu with no new regressions. llvm-svn: 166805
-
Fariborz Jahanian authored
variable descriptor captured by a block. llvm-svn: 166746
-
Quentin Colombet authored
llvm-svn: 166744
-
Fariborz Jahanian authored
what it is meant for. llvm-svn: 166734
-
- Oct 25, 2012
-
-
Fariborz Jahanian authored
layout meta-data work. wip. llvm-svn: 166717
-
Fariborz Jahanian authored
llvm-svn: 166703
-
Micah Villmow authored
llvm-svn: 166684
-
David Tweed authored
Modify the targets to set appropriate calling convention defaults and C variables when using a gnueabihf or aapcs-vfp target. Tested by me and Wei-Ren Chen. llvm-svn: 166679
-
Alexey Samsonov authored
Initialize debug info for special cases of functions that lack declarations and are generated by Clang (global initializers/destructors, thunks) . Fixes PR13942. llvm-svn: 166676
-