summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CallingConvEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename getABITypeSize to getTypePaddedSize, asDuncan Sands2009-01-121-1/+1
| | | | | | suggested by Chris. llvm-svn: 62099
* Wrap MVT::ValueType in a struct to get type safetyDuncan Sands2008-06-061-6/+6
| | | | | | | | | | | | | | | | 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
* Add new CC lowering rule: provide a list of registers, which can be 'shadowed',Anton Korobeynikov2008-04-021-0/+42
| | | | | | | when some another register is used for argument passing. Currently is used on Win64. llvm-svn: 49079
* Introduce a new node for holding call argumentDuncan Sands2008-03-211-4/+4
| | | | | | | | | | | | | | | | | 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
* Increase ISD::ParamFlags to 64 bits. Increase the ByValSizeDale Johannesen2008-03-101-2/+2
| | | | | | | | | | 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
* Rename CCIfStruct to CCIfByVal and CCStructAssign to CCPassByVal. Remove ↵Evan Cheng2008-01-151-3/+6
| | | | | | unused parameters of CCStructAssign and add size and alignment requirement info. llvm-svn: 45997
* Revert my last commit. Not needed.Evan Cheng2008-01-151-20/+7
| | | | llvm-svn: 45994
* ByVal arguments are passed on stack. Make sure to allocate a slot using size ↵Evan Cheng2008-01-121-7/+20
| | | | | | and alignment information on the parameter attribute. llvm-svn: 45897
* remove attributions from utils.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45419
* Eliminate the recently introduced CCAssignToStackABISizeAlignDuncan Sands2007-11-141-12/+14
| | | | | | | | 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
* Add CCAssignToStackABISizeAlign for convenience inDale Johannesen2007-11-101-0/+9
| | | | | | | dealing with types whose size & alignment are different on different subtargets. Use it for x86 f80. llvm-svn: 43988
* propagate struct size and alignment of byval arguments to the DAGRafael Espindola2007-08-101-1/+3
| | | | llvm-svn: 40986
* Add the byval attributeRafael Espindola2007-07-061-1/+2
| | | | llvm-svn: 37940
* Refactoring of formal parameter flags. Enable properly use ofAnton Korobeynikov2007-03-071-2/+6
| | | | | | zext/sext/aext stuff. llvm-svn: 35008
* Use new SDIselParamAttr enumeration. This removes "magick" constantsAnton Korobeynikov2007-03-061-2/+2
| | | | | | from formal attributes' flags processing. llvm-svn: 34963
* rename some CCActionsChris Lattner2007-02-281-2/+2
| | | | llvm-svn: 34724
* implement CCPromoteToTypeChris Lattner2007-02-281-8/+13
| | | | llvm-svn: 34720
* reapplyChris Lattner2007-02-271-1/+2
| | | | llvm-svn: 34697
* *** empty log message ***Chris Lattner2007-02-271-0/+128
llvm-svn: 34696
OpenPOWER on IntegriCloud