1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Commit Graph

637 Commits

Author SHA1 Message Date
Dan Gohman
ac5c3382fe 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.

llvm-svn: 51806
2008-05-31 00:58:22 +00:00
Dan Gohman
abbe3d47ab Don't silently truncate array extents to 32 bits.
llvm-svn: 51505
2008-05-23 21:40:55 +00:00
Dan Gohman
d3610b38ac Issue errors in several situations instead of aborting.
llvm-svn: 51493
2008-05-23 18:23:11 +00:00
Dan Gohman
c7007dd0dc 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.

llvm-svn: 51468
2008-05-23 01:55:30 +00:00
Dan Gohman
bed6c00ef0 Recognize the "default" keyword, which is documented in LangRef.html
and supported in the grammar, in the lexer.

llvm-svn: 51448
2008-05-22 22:30:09 +00:00
Gordon Henriksen
27c184c385 Reverting accidental commit of generated files.
llvm-svn: 51239
2008-05-19 05:57:12 +00:00
Gordon Henriksen
a1f7004038 Remove a duplicative binding. Patch by Mahadevan R.
llvm-svn: 51238
2008-05-19 05:47:10 +00:00
Gabor Greif
d61f20217a API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.)
llvm-svn: 51200
2008-05-16 19:29:10 +00:00
Dan Gohman
821bf58428 IR support for extractvalue and insertvalue instructions. Also, begin
moving toward making structs and arrays first-class types.

llvm-svn: 51157
2008-05-15 19:50:34 +00:00
Gabor Greif
48ffb6c7dc Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.
llvm-svn: 51143
2008-05-15 10:04:30 +00:00
Dale Johannesen
8edeae6888 CommonLinkage (missed a file)
llvm-svn: 51120
2008-05-14 20:14:09 +00:00
Dale Johannesen
dcdf2760f2 Generated files for CommonLinkage.
llvm-svn: 51119
2008-05-14 20:13:36 +00:00
Dale Johannesen
768b6f281e Add CommonLinkage; currently tentative definitions
are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both.  The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.

llvm-svn: 51118
2008-05-14 20:12:51 +00:00
Nate Begeman
b5b1e1353b Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
for details.  CodeGen support coming in a follow up patch

llvm-svn: 50985
2008-05-12 19:01:56 +00:00
Chris Lattner
57a81e6804 regenerate
llvm-svn: 50621
2008-05-04 17:18:47 +00:00
Nick Lewycky
1f831c0f57 Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.

llvm-svn: 50265
2008-04-25 16:53:59 +00:00
Dan Gohman
6de65a742d Allow llvm-as to parse a getresult with an undef operand.
llvm-svn: 50175
2008-04-23 20:11:27 +00:00
Chris Lattner
b11a2cca2d regenerate
llvm-svn: 50139
2008-04-23 05:37:08 +00:00
Chris Lattner
b343e5cf8b Validate that the result of a function type is valid using shared
logic with vmcore.

llvm-svn: 50138
2008-04-23 05:36:58 +00:00
Chris Lattner
33e206ef89 regenerate
llvm-svn: 49978
2008-04-20 00:41:19 +00:00
Chris Lattner
f390d62b7f Switch to using Simplified ConstantFP::get API.
llvm-svn: 49977
2008-04-20 00:41:09 +00:00
Dan Gohman
ac2fac937c Teach llvm-as to accept function types with multiple return types.
llvm-svn: 49945
2008-04-19 00:24:39 +00:00
Gabor Greif
5a1f254f0a regenerate
llvm-svn: 49293
2008-04-06 23:07:54 +00:00
Gabor Greif
6c6b8a57f3 API changes for class Use size reduction, wave 1.
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.

llvm-svn: 49277
2008-04-06 20:25:17 +00:00
Chris Lattner
d141d16ed7 Change the MemoryBuffer::getFile* methods to take just a pointer to the
start of a filename, not a filename+length.  All clients can produce a
null terminated name, and the system api's require null terminated 
strings anyway.

llvm-svn: 49041
2008-04-01 18:04:03 +00:00
Dan Gohman
2b96ce84aa Add explicit keywords.
llvm-svn: 48801
2008-03-25 22:06:05 +00:00
Chris Lattner
7925cc72c0 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.

llvm-svn: 48289
2008-03-12 17:45:29 +00:00
Nick Lewycky
fac0f67198 Update the .cvs files to match today's asm syntax change.
llvm-svn: 48128
2008-03-10 05:01:34 +00:00
Nick Lewycky
5dd879d5b5 Turn unwind_to into "unwinds to".
llvm-svn: 48123
2008-03-10 02:20:00 +00:00
Devang Patel
e7bf998c9a regenerate.
llvm-svn: 47849
2008-03-03 18:58:47 +00:00
Nick Lewycky
b02fe64d8b Add an unwind_to field to basic blocks, making them Users instead of Values.
This is the first checkin for PR1269, the new EH infrastructure.

llvm-svn: 47802
2008-03-02 02:48:09 +00:00
Devang Patel
4813397027 regenerate.
llvm-svn: 47642
2008-02-26 23:19:08 +00:00
Devang Patel
e696fb4f5a Add assert.
llvm-svn: 47641
2008-02-26 23:17:50 +00:00
Devang Patel
6229b52816 regenerate
llvm-svn: 47634
2008-02-26 22:17:48 +00:00
Devang Patel
5c00c6bafa Remove unncessary ReturnInst constructors.
llvm-svn: 47633
2008-02-26 22:12:58 +00:00
Devang Patel
ac2ec94778 Regenerate.
llvm-svn: 47519
2008-02-23 01:17:37 +00:00
Devang Patel
56d28d9fe3 Use isa check instead of getTypeID() check.
llvm-svn: 47518
2008-02-23 01:17:17 +00:00
Devang Patel
7cfd9e7634 Regenerate
llvm-svn: 47509
2008-02-23 00:38:56 +00:00
Devang Patel
f674975a65 To support multiple return values, now ret instruction supports multiple operands instead of one aggregate operand.
llvm-svn: 47508
2008-02-23 00:35:18 +00:00
Dale Johannesen
ae08bdb4cf Split ParameterAttributes.h, putting the complicated
stuff into ParamAttrsList.h.  Per feedback from
ParamAttrs changes.

llvm-svn: 47504
2008-02-22 22:17:59 +00:00
Devang Patel
f8efadbac0 Regenerate
llvm-svn: 47495
2008-02-22 19:31:30 +00:00
Devang Patel
92fdd3b97c Use SymbolicValueRef to parse getresult operand
llvm-svn: 47494
2008-02-22 19:31:15 +00:00
Dale Johannesen
1d3737e5ed Generated files for 47484.
llvm-svn: 47485
2008-02-22 17:50:51 +00:00
Dale Johannesen
a96eb3a1d8 Pass alignment on ByVal parameters, from FE, all
the way through.  It is now used for codegen.

llvm-svn: 47484
2008-02-22 17:49:45 +00:00
Devang Patel
302f762255 regenerate.
llvm-svn: 47408
2008-02-20 22:40:23 +00:00
Devang Patel
77c614dc4a Parse
ret i32 1, i8 2
another step towards multiple return value support.

llvm-svn: 47407
2008-02-20 22:39:45 +00:00
Dale Johannesen
7c2d87a9fc Regenerated files.
llvm-svn: 47402
2008-02-20 21:15:43 +00:00
Dale Johannesen
9b42dda1fd Support alignment within ParamAttrs in the I/O handling.
llvm-svn: 47401
2008-02-20 21:15:19 +00:00
Devang Patel
9f3c2e3d61 Regenerate.
llvm-svn: 47391
2008-02-20 19:13:10 +00:00
Devang Patel
6266d7147e Specify GetResultInst index as an unsigned.
llvm-svn: 47390
2008-02-20 19:10:47 +00:00