Commit Graph

624 Commits

Author SHA1 Message Date
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
Chris Lattner
cc81d15605 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50621 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-04 17:18:47 +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
f7dedf2d85 Validate that the result of a function type is valid using shared
logic with vmcore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50138 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 05:36:58 +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
Chris Lattner
02a260aa11 Switch to using Simplified ConstantFP::get API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49977 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20 00:41:09 +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
Gabor Greif
051a950000 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-06 20:25:17 +00:00
Chris Lattner
038112a4e0 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49041 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 18:04:03 +00:00
Dan Gohman
950a4c40b8 Add explicit keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48801 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 22:06:05 +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
Nick Lewycky
9be3c97183 Turn unwind_to into "unwinds to".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48123 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10 02:20:00 +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
Nick Lewycky
fc82fabe00 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47802 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-02 02:48:09 +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
43a1bb3984 Add assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47641 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26 23:17:50 +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
53284d39cd Remove unncessary ReturnInst constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47633 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26 22:12:58 +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
155b8746ba Use isa check instead of getTypeID() check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47518 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-23 01:17:17 +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
Devang Patel
57ef4f46c1 To support multiple return values, now ret instruction supports multiple operands instead of one aggregate operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47508 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-23 00:35:18 +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
Devang Patel
1b76c759ac Use SymbolicValueRef to parse getresult operand
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47494 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22 19:31:15 +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
Dale Johannesen
08e78b18b8 Pass alignment on ByVal parameters, from FE, all
the way through.  It is now used for codegen.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47484 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22 17:49:45 +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
Devang Patel
5af2f63479 Parse
ret i32 1, i8 2
another step towards multiple return value support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47407 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 22:39:45 +00:00
Dale Johannesen
172f3118d8 Regenerated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47402 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 21:15:43 +00:00
Dale Johannesen
8d1433c6fc Support alignment within ParamAttrs in the I/O handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47401 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 21:15:19 +00:00
Devang Patel
4c3f844cb8 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47391 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 19:13:10 +00:00
Devang Patel
23755d8755 Specify GetResultInst index as an unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47390 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 19:10:47 +00:00
Anton Korobeynikov
c70d7734d3 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47376 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 12:10:37 +00:00
Anton Korobeynikov
4aefd6b7d4 Fix newly-introduced 4.3 warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47375 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 12:07:57 +00:00
Anton Korobeynikov
ae9f3a3b7c Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47367 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 11:08:44 +00:00
Devang Patel
5a97097e56 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47350 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 22:27:01 +00:00
Devang Patel
d6ffcf9117 Parse
%b = getresult {i32, i32} %a, i32 1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47349 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 22:26:37 +00:00
Dale Johannesen
222ebf70b7 Generated files for checkin 47342.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47344 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 21:40:51 +00:00
Dale Johannesen
ab0789c616 Forgot a file, goes with 47342.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47343 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 21:40:10 +00:00
Dale Johannesen
0d51e7ec0d Expand ParameterAttributes to 32 bits (in preparation
for adding alignment info, not there yet).  Clean up
interfaces to reference ParameterAttributes consistently.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47342 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 21:38:47 +00:00
Chris Lattner
389056110f regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47312 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 04:36:25 +00:00
Chris Lattner
689e8b294e Fix PR2060 by rejecting invalid types for integer constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47311 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 04:36:07 +00:00
Scott Michel
15dcd8e19d Back out mods to llvmAsmParser, incorrectly committed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46545 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30 03:10:00 +00:00
Scott Michel
7f9ba9bb3c More cleanups for CellSPU:
- Expand tabs... (poss 80-col violations, will get them later...)
- Consolidate logic for SelectDFormAddr and SelectDForm2Addr into a single
  function, simplifying maintenance. Also reduced custom instruction
  generation for SPUvecinsert/INSERT_MASK.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46544 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30 02:55:46 +00:00
Duncan Sands
eb824709cb If there are attributes on the varargs part of a
call, don't discard them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45884 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-11 21:23:39 +00:00