Commit Graph

185 Commits

Author SHA1 Message Date
Nuno Lopes
191dfb96de regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57009 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 15:52:39 +00:00
Nuno Lopes
9e9631dae9 regenerate with bison 2.3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57007 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 15:45:58 +00:00
Devang Patel
652203f3f3 Support inreg, zext and sext as return value attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56801 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-29 20:49:50 +00:00
Devang Patel
2c9c3e7368 Implement function notes as function attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56716 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-26 23:51:19 +00:00
Dale Johannesen
e7261863c5 Generated files for warning fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56715 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-26 23:46:20 +00:00
Devang Patel
19c874638d Now Attributes are divided in three groups
- return attributes - inreg, zext and sext
- parameter attributes
- function attributes - nounwind, readonly, readnone, noreturn

Return attributes use 0 as the index.
Function attributes use ~0U as the index.

This patch requires corresponding changes in llvm-gcc and clang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56704 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-26 22:53:05 +00:00
Dale Johannesen
dfe8c84e1e Generated files for previous patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56679 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-26 19:32:34 +00:00
Devang Patel
0598866c05 Large mechanical patch.
s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g

This sets the stage 
- to implement function notes as function attributes and 
- to distinguish between function attributes and return value attributes.

This requires corresponding changes in llvm-gcc and clang.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56622 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-25 21:00:45 +00:00
Eric Christopher
2a5196fe67 Fix fallout from revision r56535.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56545 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-24 04:55:49 +00:00
Devang Patel
20bcaff6a7 Put FN_NOTE_AlwaysInline and others in FnAttr namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56527 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-24 00:06:15 +00:00
Devang Patel
dd4924c564 Move FN_NOTE_AlwaysInline and other out of ParamAttrs namespace.
Do not check isDeclaration() in hasNote(). It is clients' responsibility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56524 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-23 23:52:03 +00:00
Devang Patel
2d2255d2d9 s/ParameterAttributes/Attributes/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56520 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-23 23:25:44 +00:00
Devang Patel
d9b4a5f859 Use parameter attribute store (soon to be renamed) for
Function Notes also. Function notes are stored at index ~0.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56511 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-23 22:35:17 +00:00
Chris Lattner
ccef6b5d76 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56502 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-23 21:18:31 +00:00
Dan Gohman
d8ee59b0ca Update generated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09 01:13:24 +00:00
Devang Patel
cb7f483d8c s/FP_AlwaysInline/FN_NOTE_AlwaysInline/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55676 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-02 22:43:57 +00:00
Devang Patel
d49808184f Parse function notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55646 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-02 20:52:40 +00:00
Chris Lattner
15bd095aa5 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55542 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 17:20:18 +00:00
Gordon Henriksen
5d82cd32b0 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54900 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 18:48:50 +00:00
Dale Johannesen
20ab78b8b0 Generated files for 54744.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54745 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-13 18:41:46 +00:00
Nate Begeman
5bc1ea0736 Add vector shifts to the IR, patch by Eli Friedman.
CodeGen & Clang work coming next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54161 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-29 15:49:41 +00:00
Dan Gohman
1a570244f0 Update the generated .cvs files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53943 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-23 00:54:54 +00:00
Chris Lattner
1913b94c11 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53440 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 00:30:39 +00:00
Mon P Wang
2887310630 Added MemOperands to Atomic operations since Atomics touches memory.
Added abstract class MemSDNode for any Node that have an associated MemOperand
Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and
atomic.lss => atomic.load.sub


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52706 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-25 08:15:39 +00:00
Dan Gohman
180c1691c7 Update the .cvs files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52637 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-23 18:43:26 +00:00
Dan Gohman
f910eaaddd AsmParser support for immediate constant aggregate values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52149 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09 14:45:02 +00:00
Dan Gohman
81a0c0b44e IR, bitcode reader, bitcode writer, and asmparser changes to
insertvalue and extractvalue to use constant indices instead of
Value* indices. And begin updating LangRef.html.

There's definately more to come here, but I'm checking this 
basic support in now to make it available to people who are
interested.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51806 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 00:58:22 +00:00
Dan Gohman
e4977cf750 Make structs and arrays first-class types, and add assembly
and bitcode support for the extractvalue and insertvalue
instructions and constant expressions.

Note that this does not yet include CodeGen support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51468 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 01:55:30 +00:00
Gordon Henriksen
e46924bdf7 Reverting accidental commit of generated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51239 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-19 05:57:12 +00:00
Gordon Henriksen
83eaae19ad Remove a duplicative binding. Patch by Mahadevan R.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51238 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-19 05:47:10 +00:00
Dan Gohman
041e2eb517 IR support for extractvalue and insertvalue instructions. Also, begin
moving toward making structs and arrays first-class types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51157 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15 19:50:34 +00:00
Dale Johannesen
c7071cc57b Generated files for CommonLinkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51119 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 20:13:36 +00:00
Nate Begeman
ac80ade158 Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
for details.  CodeGen support coming in a follow up patch


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 19:01:56 +00:00
Nick Lewycky
280a6e607d Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-25 16:53:59 +00:00
Dan Gohman
9ac0ac5675 Allow llvm-as to parse a getresult with an undef operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50175 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 20:11:27 +00:00
Chris Lattner
a925a14698 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50139 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 05:37:08 +00:00
Chris Lattner
d8eb63fc72 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49978 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20 00:41:19 +00:00
Dan Gohman
f4423b1e45 Teach llvm-as to accept function types with multiple return types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49945 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 00:24:39 +00:00
Gabor Greif
e64d248b63 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49293 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-06 23:07:54 +00:00
Chris Lattner
58d74910c6 Reimplement the parameter attributes support, phase #1. hilights:
1. There is now a "PAListPtr" class, which is a smart pointer around
   the underlying uniqued parameter attribute list object, and manages
   its refcount.  It is now impossible to mess up the refcount.
2. PAListPtr is now the main interface to the underlying object, and
   the underlying object is now completely opaque.
3. Implementation details like SmallVector and FoldingSet are now no
   longer part of the interface.
4. You can create a PAListPtr with an arbitrary sequence of
   ParamAttrsWithIndex's, no need to make a SmallVector of a specific 
   size (you can just use an array or scalar or vector if you wish).
5. All the client code that had to check for a null pointer before
   dereferencing the pointer is simplified to just access the 
   PAListPtr directly.
6. The interfaces for adding attrs to a list and removing them is a
   bit simpler.

Phase #2 will rename some stuff (e.g. PAListPtr) and do other less 
invasive changes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48289 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12 17:45:29 +00:00
Nick Lewycky
7e93e16193 Update the .cvs files to match today's asm syntax change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48128 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10 05:01:34 +00:00
Devang Patel
6790943540 regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47849 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 18:58:47 +00:00
Devang Patel
13b823c584 regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47642 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26 23:19:08 +00:00
Devang Patel
b82b7f2119 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47634 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26 22:17:48 +00:00
Devang Patel
2007173203 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47519 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-23 01:17:37 +00:00
Devang Patel
6bfc63bef9 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47509 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-23 00:38:56 +00:00
Dale Johannesen
22c3979fca Split ParameterAttributes.h, putting the complicated
stuff into ParamAttrsList.h.  Per feedback from
ParamAttrs changes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47504 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22 22:17:59 +00:00
Devang Patel
bd41a064ed Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47495 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22 19:31:30 +00:00
Dale Johannesen
dc6c0f151b Generated files for 47484.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47485 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22 17:50:51 +00:00
Devang Patel
7990dc7633 regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47408 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 22:40:23 +00:00