Commit Graph

24755 Commits

Author SHA1 Message Date
Chris Lattner b77ba73a29 Add support for calls that pass and return legal vectors.
llvm-svn: 28340
2006-05-16 23:39:44 +00:00
Chris Lattner aa40ec1b32 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.

llvm-svn: 28339
2006-05-16 22:56:08 +00:00
Chris Lattner aaa23d953f Add a new ISD::CALL node, make the default impl of TargetLowering::LowerCallTo
produce it.

llvm-svn: 28338
2006-05-16 22:53:20 +00:00
Chris Lattner e33580e5b4 Add a new CALL node.
llvm-svn: 28337
2006-05-16 22:52:27 +00:00
Chris Lattner 84f9f380f2 There is now a default impl of this method
llvm-svn: 28336
2006-05-16 22:52:11 +00:00
Chris Lattner 26e2fcd8b1 Simplify the argument counting logic by only incrementing the index.
llvm-svn: 28335
2006-05-16 18:58:15 +00:00
Chris Lattner 76c47b50e7 Simplify the dead argument handling code.
llvm-svn: 28334
2006-05-16 18:54:32 +00:00
Chris Lattner 318f0d2122 Vector args passed in registers don't reserve stack space.
llvm-svn: 28333
2006-05-16 18:51:52 +00:00
Chris Lattner f4d08dd0d3 Another testcase that shouldn't need vrsave twiddling
llvm-svn: 28332
2006-05-16 18:23:55 +00:00
Chris Lattner 4302e8fb67 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.

llvm-svn: 28331
2006-05-16 18:18:50 +00:00
Andrew Lenharth 20eb2ce871 this should be 128 I think
llvm-svn: 28330
2006-05-16 17:45:23 +00:00
Andrew Lenharth 1dc9ec5874 Move this code to a common place
llvm-svn: 28329
2006-05-16 17:42:15 +00:00
Chris Lattner a1f0b95ce4 Remove this xfail-d test, which doesn't make any sense
llvm-svn: 28328
2006-05-16 17:22:42 +00:00
Chris Lattner c7df70db57 Implement the custom lowering hook right, returning values for all of the
arguments at once.

llvm-svn: 28327
2006-05-16 17:14:26 +00:00
Chris Lattner 7b8b8bbbf9 Fix a bug I introduced yesterday, which broke functions with *no* arguments.
llvm-svn: 28326
2006-05-16 17:08:35 +00:00
Reid Spencer 40f1b1321d 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.

llvm-svn: 28325
2006-05-16 08:53:32 +00:00
Evan Cheng 9fee442e63 X86 integer register classes naming changes. Make them consistent with FP, vector classes.
llvm-svn: 28324
2006-05-16 07:21:53 +00:00
Evan Cheng d985d66781 Allow patterns to refer to physical registers that belong to multiple
register classes.

llvm-svn: 28323
2006-05-16 07:05:30 +00:00
Reid Spencer 540c1b95f1 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.

llvm-svn: 28322
2006-05-16 06:51:02 +00:00
Chris Lattner aa10fb7ebe Make this print the right start pointer
llvm-svn: 28321
2006-05-16 06:45:50 +00:00
Chris Lattner 3d82699605 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.

llvm-svn: 28320
2006-05-16 06:45:34 +00:00
Chris Lattner 0f89bbd6cc Add a chain to FORMAL_ARGUMENTS.
llvm-svn: 28319
2006-05-16 06:43:59 +00:00
Vladimir Prus 788db2c812 Replace "../whatever.td" with "whatever.td", so that out-of-tree backends
can just add lib/Target to TableGen includes.

llvm-svn: 28318
2006-05-16 06:39:36 +00:00
Reid Spencer 1f54156a01 For PR778:
Improve doxygenification of this header file.

llvm-svn: 28317
2006-05-16 06:27:31 +00:00
Reid Spencer 1053658517 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.

llvm-svn: 28316
2006-05-16 06:25:14 +00:00
Chris Lattner 957cb6733a 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.

llvm-svn: 28315
2006-05-16 06:10:58 +00:00
Chris Lattner 52d0c78de8 Print the vreg that livein physregs are live in
llvm-svn: 28314
2006-05-16 05:55:30 +00:00
Chris Lattner 5f0edfb849 Legalize FORMAL_ARGUMENTS nodes correctly, we don't want to legalize them once
for each argument.

llvm-svn: 28313
2006-05-16 05:49:56 +00:00
Vladimir Prus 1f01aa0f28 Add my homepage, as a test that commit access works
llvm-svn: 28312
2006-05-16 05:36:15 +00:00
Chris Lattner d2ca9abf57 Fit in 80 cols
llvm-svn: 28311
2006-05-16 04:20:24 +00:00
Rafael Espindola 4abf33f56e add an abort after every assert(0)
llvm-svn: 28310
2006-05-15 22:34:39 +00:00
Reid Spencer 26bb7c467f For PR777:
Add an additional catch block to ensure that this function can't throw any
exceptions, even one's we're not expecting.

llvm-svn: 28309
2006-05-15 22:12:42 +00:00
Reid Spencer 3d01718c70 Upgrade in preparation for doxygen 1.4.4. The config file format changed,
there are new/different css styles to support, and the footer was woefully
out of date.

llvm-svn: 28308
2006-05-15 21:36:13 +00:00
Chris Lattner fce45ffcd6 Improve comment, patch provided by Vladimir Prus!
llvm-svn: 28307
2006-05-15 18:35:02 +00:00
Chris Lattner 30b868d697 Update dox, patch by Vladimir Prus!
llvm-svn: 28306
2006-05-15 17:26:46 +00:00
Chris Lattner d02dd3c388 Improve comments, patch provided by Vladimir Prus!
llvm-svn: 28305
2006-05-15 17:25:05 +00:00
Reid Spencer 0bc5119270 Doxygenify the comments, bringing the file level comments down to be attached
with the class that it documents. Patch suggested by Vladimir Prus.

llvm-svn: 28304
2006-05-15 16:12:01 +00:00
Chris Lattner 04a9e38369 Remove some dead code, identified by coverity.
llvm-svn: 28303
2006-05-15 05:48:32 +00:00
Owen Anderson e58e5082c8 Add myself to the credits.
llvm-svn: 28302
2006-05-15 05:13:07 +00:00
Rafael Espindola ffdc24b847 added a skeleton of the ARM backend
llvm-svn: 28301
2006-05-14 22:18:28 +00:00
Rafael Espindola b37e4105c2 added myself to CREDITS.TXT
llvm-svn: 28300
2006-05-14 20:29:25 +00:00
Chris Lattner ab81de7514 Free memory allocated by copy_env.
llvm-svn: 28299
2006-05-14 19:17:28 +00:00
Chris Lattner 2bd9d8eaca print a nice error if bugpoint gets an error reading inputs. Bug identified
by coverity.

llvm-svn: 28298
2006-05-14 19:15:56 +00:00
Chris Lattner 90abfe4bd9 Fix a bug found by inspection.
llvm-svn: 28297
2006-05-14 19:11:40 +00:00
Chris Lattner a782bbe827 improve comment.
llvm-svn: 28296
2006-05-14 19:10:22 +00:00
Chris Lattner 5eae951603 Catch a potentially thrown exception.
llvm-svn: 28295
2006-05-14 19:08:39 +00:00
Chris Lattner a8a550f1e3 Improve documentation on throwing, it is not complete still though. :(
llvm-svn: 28294
2006-05-14 19:07:07 +00:00
Chris Lattner 63539389ca LoadLibraryPermanently can theoretically throw an exception. Do not propagate
it out of 'ExecutionEngine::create'.  This fixes a problem reported by coverity.

llvm-svn: 28293
2006-05-14 19:01:55 +00:00
Chris Lattner 78b8e977b2 Bug noticed, by inspection. Filename can be null.
llvm-svn: 28292
2006-05-14 19:00:53 +00:00
Chris Lattner f64397ba1a This function is not documented as throwing an exception and callers don't
handle it.  Just silently fail.

llvm-svn: 28291
2006-05-14 18:53:09 +00:00