| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
suggested by Chris.
llvm-svn: 62099
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and better control the abstraction. Rename the type
to MVT. To update out-of-tree patches, the main
thing to do is to rename MVT::ValueType to MVT, and
rewrite expressions like MVT::getSizeInBits(VT) in
the form VT.getSizeInBits(). Use VT.getSimpleVT()
to extract a MVT::SimpleValueType for use in switch
statements (you will get an assert failure if VT is
an extended value type - these shouldn't exist after
type legalization).
This results in a small speedup of codegen and no
new testsuite failures (x86-64 linux).
llvm-svn: 52044
|
|
|
|
|
|
|
| |
when some another register is used for argument passing.
Currently is used on Win64.
llvm-svn: 49079
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
flags. This is needed by the new legalize types
infrastructure which wants to expand the 64 bit
constants previously used to hold the flags on
32 bit machines. There are two functional changes:
(1) in LowerArguments, if a parameter has the zext
attribute set then that is marked in the flags;
before it was being ignored; (2) PPC had some bogus
code for handling two word arguments when using the
ELF 32 ABI, which was hard to convert because of
the bogusness. As suggested by the original author
(Nicolas Geoffray), I've disabled it for the moment.
Tested with "make check" and the Ada ACATS testsuite.
llvm-svn: 48640
|
|
|
|
|
|
|
|
|
|
| |
field to 32 bits, thus enabling correct handling of ByVal
structs bigger than 0x1ffff. Abstract interface a bit.
Fixes gcc.c-torture/execute/pr23135.c and
gcc.c-torture/execute/pr28982b.c in gcc testsuite (were ICE'ing
on ppc32, quietly producing wrong code on x86-32.)
llvm-svn: 48122
|
|
|
|
|
|
| |
unused parameters of CCStructAssign and add size and alignment requirement info.
llvm-svn: 45997
|
|
|
|
| |
llvm-svn: 45994
|
|
|
|
|
|
| |
and alignment information on the parameter attribute.
llvm-svn: 45897
|
|
|
|
| |
llvm-svn: 45419
|
|
|
|
|
|
|
|
| |
in favour of teaching CCAssignToStack that size 0 and/or align
0 means to use the ABI values. This seems a neater solution.
It is safe since no legal value type has size 0.
llvm-svn: 44107
|
|
|
|
|
|
|
| |
dealing with types whose size & alignment are
different on different subtargets. Use it for x86 f80.
llvm-svn: 43988
|
|
|
|
| |
llvm-svn: 40986
|
|
|
|
| |
llvm-svn: 37940
|
|
|
|
|
|
| |
zext/sext/aext stuff.
llvm-svn: 35008
|
|
|
|
|
|
| |
from formal attributes' flags processing.
llvm-svn: 34963
|
|
|
|
| |
llvm-svn: 34724
|
|
|
|
| |
llvm-svn: 34720
|
|
|
|
| |
llvm-svn: 34697
|
|
llvm-svn: 34696
|