oota-llvm.git
18 years agonew testcase for csretcc
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

18 years agoPrint csretcc calls like this:
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

18 years agoFix misencoding of calling conventions
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

18 years agopretty print csretcc for calls
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

18 years agoCSRet allows varargs
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

18 years agoAsmprint csret nicely
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

18 years agoRegenerate
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

18 years agoAdd support for parsing csret
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

18 years agocsret functions can be varargs (as can target cc's). Verify restrictions on
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

18 years agoAdd new calling convention, as documented in LangRef.html
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

18 years agoNew calling convention I will be adding shortly.
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

18 years agoAdd a note
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

18 years agoAdd a note
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

18 years agoSplit the SSE readme items out into their own README.
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

18 years agoSplit FP-stack notes out of the main readme. Next up: splitting out SSE.
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

18 years agoMove a target-independent note out of the X86 readme.
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

18 years agoParticularly ugly code.
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

18 years agonew testcase
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

18 years agoFix a doxygen problem and break lines at 80 columns
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

18 years agoFix some doxygen usage in these headers.
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

18 years agoThese can be transformed into lea as well. Not that we use this feature
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

18 years ago- Use exact-width integer types, e.g. int32_t, to avoid confusion.
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

18 years agoUse class tags instead of struct tags. The coding standards specify this
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

18 years agoExplicitly specify MOV32mi can only be used store 32-bit GV, etc.
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

18 years agoNow that iPTR is a fully resolved type. We end up losing the type check for
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

18 years agoimplement movri
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

18 years agoAdded a Flags field to TargetOperandInfo. Currently the only flag is
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

18 years agolib/Target/Target.td
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

18 years agoImprove error output. Use the third parameter of the "catch" command to
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

18 years agoadd a note
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

18 years agoadd a note
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

18 years agoFix a bogus gcc warning
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

18 years agoImmMask should be 3 for a two-bit field; Compact X86II
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

18 years agoFix some think-o's in my last commit. Thanks to Chris for pointing them out.
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

18 years agoChange Module to use TargetData-compatible strings internally.
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

18 years agogetCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd.
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

18 years agoRemove CalleeSavedRegisters from class Target.
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

18 years agoDon't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore.
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

18 years agoThis test is buggy: printf is a varargs function. This fixes the test with
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

18 years agoMake some changes suggested by Chris:
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

18 years agoFix a stupid bug when parsing TargetData strings.
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

18 years agoUse DIRS here instead of PARALLEL_DIRS, as VMCore has to be built before the
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

18 years agoUse generic iPTR instead i32 to represent pointer type.
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

18 years agoAnother entry
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

18 years agoRemove the llvm-db and bugpoint restrictions from the win32 platform so
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

18 years agoRemove PointerType from class Target
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

18 years agoDeclare that lowerinvoke doesn't interact with other lowering passes.
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

18 years agoTypo
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

18 years agoFix the result of the call to use a correct vbitconvert. There is no need to
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

18 years agoCorrect a previous patch which broke CodeGen/PowerPC/vec_call.ll
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

18 years agoRemove PointerType from target definition. Use abstract type MVT::iPTR to
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

18 years agoPR736 has already been fixed. Remove XFAIL marker.
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

18 years agoNew test case for vector type argument pass by value.
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

18 years agoFix call_adj.ll
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

18 years agoAdded sanity check for obviously bogus immediates
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

18 years agoAdded regression that breaks gcc4 build
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

18 years agoShould pass by reference.
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

18 years agoAnother entry
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

18 years agoAdd a note about a note
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

18 years agoMake PPC call lowering more aggressive, making the isel matching code simple
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

18 years agoAnother typo. Pointed out by Nate Begeman.
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

18 years agoFixed a LowerCallTo and LowerArguments bug. They were introducing illegal
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

18 years agoFix an obvious bug in getPackedTypeBreakdown. Return 1 if type is legal.
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

18 years agoFix a mis-leading comment.
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

18 years agoAdd a CloneModule call that exposes the mapping of values from the old module
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

18 years agoWhen we legalize target nodes, do not use getNode to create a new node,
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

18 years agoAdd an assertion, avoid some unneeded work for each call. No functionality
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

18 years agoSwitch PPC over to a call-selection model where the lowering code creates
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

18 years agoadd an external symbol testcase
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

18 years agonew test for various forms of calls
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

18 years agotest for support to pass/return vectors to calls.
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

18 years ago3 changes, 2 of which are cleanup one of which changes codegen:
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

18 years agoimplement passing/returning vector regs to calls, at least non-varargs calls.
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

18 years agoAdd support for calls that pass and return legal vectors.
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

18 years agoInstead of implementing LowerCallTo directly, let the default impl produce an
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

18 years agoAdd a new ISD::CALL node, make the default impl of TargetLowering::LowerCallTo
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

18 years agoAdd a new CALL node.
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

18 years agoThere is now a default impl of this method
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

18 years agoSimplify the argument counting logic by only incrementing the index.
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

18 years agoSimplify the dead argument handling code.
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

18 years agoVector args passed in registers don't reserve stack space.
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

18 years agoAnother testcase that shouldn't need vrsave twiddling
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

18 years agoSwitch the PPC backend over to using FORMAL_ARGUMENTS for formal argument
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

18 years agothis should be 128 I think
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

18 years agoMove this code to a common place
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

18 years agoRemove this xfail-d test, which doesn't make any sense
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

18 years agoImplement the custom lowering hook right, returning values for all of the
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

18 years agoFix a bug I introduced yesterday, which broke functions with *no* arguments.
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

18 years agoMake sure to default ${prefix} to /usr/local if the user didn't specify it.
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

18 years agoX86 integer register classes naming changes. Make them consistent with FP, vector...
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

18 years agoAllow patterns to refer to physical registers that belong to multiple
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

18 years agoMake sure that $(CXX.Flags) is passed to the linker so that the same options
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

18 years agoMake this print the right start pointer
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

18 years agoAdd a chain to FORMAL_ARGUMENTS. This is a minimal port of the X86 backend,
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

18 years agoAdd a chain to FORMAL_ARGUMENTS.
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

18 years agoReplace "../whatever.td" with "whatever.td", so that out-of-tree backends
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

18 years agoFor PR778:
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

18 years agoWhen linking, make sure the project libraries are linked before the LLVM
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

18 years agoMove function-live-in-handling code from the sdisel code to the scheduler.
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

18 years agoPrint the vreg that livein physregs are live in
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