Chris Lattner [Fri, 19 May 2006 22:00:54 +0000 (22:00 +0000)]
new testcase for csretcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28413
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:58:52 +0000 (21:58 +0000)]
Print csretcc calls like this:
call csretcc void %structret( { sbyte }* %P )
instead of this:
callcsretcc void %structret( { sbyte }* %P )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28412
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:57:37 +0000 (21:57 +0000)]
Fix misencoding of calling conventions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28411
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:54:03 +0000 (21:54 +0000)]
pretty print csretcc for calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28410
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:34:04 +0000 (21:34 +0000)]
CSRet allows varargs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28409
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:29:57 +0000 (21:29 +0000)]
Asmprint csret nicely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28408
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:28:53 +0000 (21:28 +0000)]
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:28:34 +0000 (21:28 +0000)]
Add support for parsing csret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28406
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:25:17 +0000 (21:25 +0000)]
csret functions can be varargs (as can target cc's). Verify restrictions on
csret functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28405
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:19:02 +0000 (21:19 +0000)]
Add new calling convention, as documented in LangRef.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28404
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:15:36 +0000 (21:15 +0000)]
New calling convention I will be adding shortly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28403
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 21:01:38 +0000 (21:01 +0000)]
Add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28402
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 20:55:31 +0000 (20:55 +0000)]
Add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28401
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 20:51:43 +0000 (20:51 +0000)]
Split the SSE readme items out into their own README.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28400
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 20:45:52 +0000 (20:45 +0000)]
Split FP-stack notes out of the main readme. Next up: splitting out SSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28399
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 20:45:08 +0000 (20:45 +0000)]
Move a target-independent note out of the X86 readme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28398
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 19:41:33 +0000 (19:41 +0000)]
Particularly ugly code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28397
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 19:34:09 +0000 (19:34 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28396
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 May 2006 19:09:46 +0000 (19:09 +0000)]
Fix a doxygen problem and break lines at 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28395
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 19 May 2006 19:07:54 +0000 (19:07 +0000)]
Fix some doxygen usage in these headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28394
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 19 May 2006 18:43:41 +0000 (18:43 +0000)]
These can be transformed into lea as well. Not that we use this feature
currently...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28393
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 19 May 2006 18:40:54 +0000 (18:40 +0000)]
- Use exact-width integer types, e.g. int32_t, to avoid confusion.
- Fix a couple of minor bugs in i16immSExt8 and i16immZExt8.
- Added loadiPTR fragment used for indirect jumps and calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28392
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 May 2006 17:17:12 +0000 (17:17 +0000)]
Use class tags instead of struct tags. The coding standards specify this
for public classes for improved win32 compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28391
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 19 May 2006 07:30:36 +0000 (07:30 +0000)]
Explicitly specify MOV32mi can only be used store 32-bit GV, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28390
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 19 May 2006 07:24:32 +0000 (07:24 +0000)]
Now that iPTR is a fully resolved type. We end up losing the type check for
patterns that look like this:
def : Pat<(i32 (X86Wrapper tconstpool :$dst)), (MOV32ri tconstpool :$dst)>;
InsertOneTypeCheck should copy the type from the resolved pattern to the
unresolved one as long as there types are different.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28389
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 18 May 2006 21:45:49 +0000 (21:45 +0000)]
implement movri
add a stub LowerFORMAL_ARGUMENTS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28388
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 18 May 2006 20:44:26 +0000 (20:44 +0000)]
Added a Flags field to TargetOperandInfo. Currently the only flag is
M_LOOK_UP_PTR_REG_CLASS which allows the register class of the operand to be
resolved via a callback at runtime.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28387
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 18 May 2006 20:42:07 +0000 (20:42 +0000)]
lib/Target/Target.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28386
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 18 May 2006 19:42:16 +0000 (19:42 +0000)]
Improve error output. Use the third parameter of the "catch" command to
capture the error output from the exec option. This generally will capture
the stderr messages generated by the tools. This information is then
printed if the test fails. This helps to recognize more quickly what the
error was. Otherwise, this information is lost.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28385
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 May 2006 18:26:13 +0000 (18:26 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28384
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 May 2006 17:38:16 +0000 (17:38 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28383
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 18 May 2006 17:29:34 +0000 (17:29 +0000)]
Fix a bogus gcc warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28382
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 18 May 2006 06:27:15 +0000 (06:27 +0000)]
ImmMask should be 3 for a two-bit field; Compact X86II
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28381
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 18 May 2006 05:46:08 +0000 (05:46 +0000)]
Fix some think-o's in my last commit. Thanks to Chris for pointing them out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28380
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 18 May 2006 02:10:31 +0000 (02:10 +0000)]
Change Module to use TargetData-compatible strings internally.
This is part of the on-going work on PR 761.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28379
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 18 May 2006 00:12:58 +0000 (00:12 +0000)]
getCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28378
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 18 May 2006 00:09:53 +0000 (00:09 +0000)]
Remove CalleeSavedRegisters from class Target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28377
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 18 May 2006 00:08:46 +0000 (00:08 +0000)]
Don't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28376
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 23:43:56 +0000 (23:43 +0000)]
This test is buggy: printf is a varargs function. This fixes the test with
the PPC JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28375
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 17 May 2006 22:55:35 +0000 (22:55 +0000)]
Make some changes suggested by Chris:
1. Remove the LLVM_DO_NOT_BUILD feature (not needed any more)
2. Ensure that lib/VMCore gets built first. This needs to be done because
VMCore now uses tblgen to generate the Intrinsics header which are
needed in other libraries. In parallel builds, this can cause problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28374
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 17 May 2006 21:56:02 +0000 (21:56 +0000)]
Fix a stupid bug when parsing TargetData strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28373
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 21:54:48 +0000 (21:54 +0000)]
Use DIRS here instead of PARALLEL_DIRS, as VMCore has to be built before the
other dirs (for Intrinsics.gen). :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28372
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 21:21:41 +0000 (21:21 +0000)]
Use generic iPTR instead i32 to represent pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28371
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 21:20:51 +0000 (21:20 +0000)]
Another entry
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28370
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 17 May 2006 21:20:50 +0000 (21:20 +0000)]
Remove the llvm-db and bugpoint restrictions from the win32 platform so
they can be compiled with ming32. The use of fork(2) has been removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28369
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 21:20:27 +0000 (21:20 +0000)]
Remove PointerType from class Target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28368
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 21:05:27 +0000 (21:05 +0000)]
Declare that lowerinvoke doesn't interact with other lowering passes.
Patch written by Domagoj Babic!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28367
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 20:55:51 +0000 (20:55 +0000)]
Typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28366
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 20:49:36 +0000 (20:49 +0000)]
Fix the result of the call to use a correct vbitconvert. There is no need to
use getPackedTypeBreakdown at all here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28365
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 20:43:21 +0000 (20:43 +0000)]
Correct a previous patch which broke CodeGen/PowerPC/vec_call.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28364
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 20:37:59 +0000 (20:37 +0000)]
Remove PointerType from target definition. Use abstract type MVT::iPTR to
represent pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28363
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 20:21:44 +0000 (20:21 +0000)]
PR736 has already been fixed. Remove XFAIL marker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28362
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 20:20:04 +0000 (20:20 +0000)]
New test case for vector type argument pass by value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28361
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 17 May 2006 19:24:49 +0000 (19:24 +0000)]
Fix call_adj.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28360
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 17 May 2006 19:24:31 +0000 (19:24 +0000)]
Added sanity check for obviously bogus immediates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28359
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 17 May 2006 19:23:31 +0000 (19:23 +0000)]
Added regression that breaks gcc4 build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28358
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 19:07:40 +0000 (19:07 +0000)]
Should pass by reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28357
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 19:05:31 +0000 (19:05 +0000)]
Another entry
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28356
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 19:02:25 +0000 (19:02 +0000)]
Add a note about a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 19:00:46 +0000 (19:00 +0000)]
Make PPC call lowering more aggressive, making the isel matching code simple
enough to be autogenerated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28354
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 18:22:14 +0000 (18:22 +0000)]
Another typo. Pointed out by Nate Begeman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28353
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 18:16:39 +0000 (18:16 +0000)]
Fixed a LowerCallTo and LowerArguments bug. They were introducing illegal
VBIT_VECTOR nodes. There were some confusion about the semantics of
getPackedTypeBreakdown(). e.g. for <4 x f32> it returns 1 and v4f32, not 4,
and f32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28352
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 18:10:06 +0000 (18:10 +0000)]
Fix an obvious bug in getPackedTypeBreakdown. Return 1 if type is legal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28351
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 17 May 2006 18:08:20 +0000 (18:08 +0000)]
Fix a mis-leading comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 18:05:35 +0000 (18:05 +0000)]
Add a CloneModule call that exposes the mapping of values from the old module
to the new module. Patch provided by Nick Lewycky!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 18:00:08 +0000 (18:00 +0000)]
When we legalize target nodes, do not use getNode to create a new node,
use UpdateNodeOperands to just update the operands! This is important because
getNode will allocate a new node if the node returns a flag and this breaks
assumptions in the legalizer that you can legalize some things multiple times
and get exactly the same results.
This latent bug was exposed by my ppc patch last night, and this fixes
gsm/toast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 17:55:45 +0000 (17:55 +0000)]
Add an assertion, avoid some unneeded work for each call. No functionality
change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 06:01:33 +0000 (06:01 +0000)]
Switch PPC over to a call-selection model where the lowering code creates
the copyto/fromregs instead of making the PPCISD::CALL selection code create
them. This vastly simplifies the selection code, and moves the ABI handling
parts into one place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28346
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 04:20:13 +0000 (04:20 +0000)]
add an external symbol testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 03:57:31 +0000 (03:57 +0000)]
new test for various forms of calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28344
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 00:18:23 +0000 (00:18 +0000)]
test for support to pass/return vectors to calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 May 2006 00:15:40 +0000 (00:15 +0000)]
3 changes, 2 of which are cleanup one of which changes codegen:
1. Rearrange code a bit so that the special case doesn't require indenting lots
of code.
2. Add comments describing PPC calling convention.
3. Only round up to 56-bytes of stack space for an outgoing call if the callee
is varargs. This saves a bit of stack space.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 23:54:25 +0000 (23:54 +0000)]
implement passing/returning vector regs to calls, at least non-varargs calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 23:39:44 +0000 (23:39 +0000)]
Add support for calls that pass and return legal vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28340
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 22:56:08 +0000 (22:56 +0000)]
Instead of implementing LowerCallTo directly, let the default impl produce an
ISD::CALL node, then custom lower that. This means that we only have to handle
LEGAL call operands/results, not every possible type. This allows us to
simplify the call code, shrinking it by about 1/3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28339
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 22:53:20 +0000 (22:53 +0000)]
Add a new ISD::CALL node, make the default impl of TargetLowering::LowerCallTo
produce it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28338
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 22:52:27 +0000 (22:52 +0000)]
Add a new CALL node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28337
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 22:52:11 +0000 (22:52 +0000)]
There is now a default impl of this method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 18:58:15 +0000 (18:58 +0000)]
Simplify the argument counting logic by only incrementing the index.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28335
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 18:54:32 +0000 (18:54 +0000)]
Simplify the dead argument handling code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28334
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 18:51:52 +0000 (18:51 +0000)]
Vector args passed in registers don't reserve stack space.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28333
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 18:23:55 +0000 (18:23 +0000)]
Another testcase that shouldn't need vrsave twiddling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28332
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 18:18:50 +0000 (18:18 +0000)]
Switch the PPC backend over to using FORMAL_ARGUMENTS for formal argument
handling. This makes the lower argument code significantly simpler (we
only need to handle legal argument types).
Incidentally, this also implements support for vector argument registers,
so long as they are not on the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28331
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 16 May 2006 17:45:23 +0000 (17:45 +0000)]
this should be 128 I think
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28330
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 16 May 2006 17:42:15 +0000 (17:42 +0000)]
Move this code to a common place
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28329
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 17:22:42 +0000 (17:22 +0000)]
Remove this xfail-d test, which doesn't make any sense
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28328
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 17:14:26 +0000 (17:14 +0000)]
Implement the custom lowering hook right, returning values for all of the
arguments at once.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28327
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 17:08:35 +0000 (17:08 +0000)]
Fix a bug I introduced yesterday, which broke functions with *no* arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28326
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 16 May 2006 08:53:32 +0000 (08:53 +0000)]
Make sure to default ${prefix} to /usr/local if the user didn't specify it.
This assists with getting around configure's late binding values so that
our LLVM variables don't end up with a "NONE" prefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28325
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 16 May 2006 07:21:53 +0000 (07:21 +0000)]
X86 integer register classes naming changes. Make them consistent with FP, vector classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28324
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 16 May 2006 07:05:30 +0000 (07:05 +0000)]
Allow patterns to refer to physical registers that belong to multiple
register classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28323
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 16 May 2006 06:51:02 +0000 (06:51 +0000)]
Make sure that $(CXX.Flags) is passed to the linker so that the same options
with which source is compiled are used when linking. This matters when a
project is using the LLVM makefiles and overrides CXXFLAGS to specify new
flags to use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28322
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 06:45:50 +0000 (06:45 +0000)]
Make this print the right start pointer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28321
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 06:45:34 +0000 (06:45 +0000)]
Add a chain to FORMAL_ARGUMENTS. This is a minimal port of the X86 backend,
it doesn't currently use/maintain the chain properly. Also, make the
X86ISelLowering.cpp file 80-col clean.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28320
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 06:43:59 +0000 (06:43 +0000)]
Add a chain to FORMAL_ARGUMENTS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28319
91177308-0d34-0410-b5e6-
96231b3b80d8
Vladimir Prus [Tue, 16 May 2006 06:39:36 +0000 (06:39 +0000)]
Replace "../whatever.td" with "whatever.td", so that out-of-tree backends
can just add lib/Target to TableGen includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28318
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 16 May 2006 06:27:31 +0000 (06:27 +0000)]
For PR778:
Improve doxygenification of this header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28317
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 16 May 2006 06:25:14 +0000 (06:25 +0000)]
When linking, make sure the project libraries are linked before the LLVM
libraries. This ensures that the project's libraries (which most likely
depend on LLVM libraries) come first on the command line and can thus be
resolved by the LLVM libraries that appear later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28316
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 06:10:58 +0000 (06:10 +0000)]
Move function-live-in-handling code from the sdisel code to the scheduler.
This code should be emitted after legalize, so it can't be in sdisel.
Note that the EmitFunctionEntryCode hook should be updated to operate on the
DAG. The X86 backend is the only one currently using this hook.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28315
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 May 2006 05:55:30 +0000 (05:55 +0000)]
Print the vreg that livein physregs are live in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28314
91177308-0d34-0410-b5e6-
96231b3b80d8