10364 Commits

Author SHA1 Message Date
Chris Lattner
d2cd0afd11 Change access to the cwriter
llvm-svn: 11406
2004-02-13 23:00:45 +00:00
Chris Lattner
81155b0069 Make the cwriter use the lowerinvoke pass so that it can either use "disabled exceptions" or
"expensive exceptions" controlled by an option.  Also refactor and eliminate a bunch of cruft.
This is a temporary solution and causes millions of warnings to pour out of programs that use
exceptions, but it should fix the problem with sparc and the 'write' declaration (PR190).
Subsequent changes will make this stink much less

llvm-svn: 11405
2004-02-13 23:00:29 +00:00
Chris Lattner
110d7bd802 New testcase. The CFE should not generate illegal LLVM intrinsics, even if
the input program is horribly broken (like 126.gcc).

llvm-svn: 11401
2004-02-13 22:04:41 +00:00
John Criswell
b13b431a6e Added check for target machine endian-ness and put the result into
Makefile.config (ENDIAN variable is set to big or little).

llvm-svn: 11398
2004-02-13 21:57:29 +00:00
Chris Lattner
33ed4f9de9 Add support for a bunch more functions
llvm-svn: 11395
2004-02-13 21:21:48 +00:00
Alkis Evlogimenos
6d6ab846af Remove getAllocatedRegNum(). Use getReg() instead.
llvm-svn: 11393
2004-02-13 21:01:20 +00:00
Alkis Evlogimenos
e504fa6710 Mark MachineBasicBlock::operator[] deprecated.
llvm-svn: 11392
2004-02-13 20:05:56 +00:00
Alkis Evlogimenos
8159b05e03 Define DEPRECATED so that it can be used in function and variable
declarations.

llvm-svn: 11391
2004-02-13 20:05:44 +00:00
Chris Lattner
fbacee0077 Add support for fopen/fclose. Specifically with fopen, we were marking all of the
operands as incomplete, though fopen is known to only read them.  This just adds
fclose for symmetry, though it doesn't gain anything.  This makes the dsgraphs for
181.mcf much more precise.

llvm-svn: 11390
2004-02-13 20:05:32 +00:00
Alkis Evlogimenos
c1ef192d44 Use getNumVirtualRegs().
Whitespace cleanups.

llvm-svn: 11389
2004-02-13 18:20:47 +00:00
Alkis Evlogimenos
c109214f58 Add getNumVirtualRegs().
Whitespace cleanups.

llvm-svn: 11388
2004-02-13 18:07:06 +00:00
Chris Lattner
d07ccb4844 Bug fixed
llvm-svn: 11385
2004-02-13 17:03:01 +00:00
Chris Lattner
2265790f9f Fix compilation of 126.gcc: intrinsic functions cannot throw, so they are not
allowed in invoke instructions.  Thus, if we are inlining a call to an intrinsic
function into an invoke site, we don't need to turn the call into an invoke!

llvm-svn: 11384
2004-02-13 16:47:35 +00:00
Chris Lattner
b0fadd694d Intrinsic functions cannot throw
llvm-svn: 11383
2004-02-13 16:46:46 +00:00
John Criswell
848bbea2c5 Updated to list all code/directories that have additional or alternate
licensing information.

Also added note to indicate that warrany disclaimer and the no-endorsement
clause applies to everything.

llvm-svn: 11382
2004-02-13 16:46:05 +00:00
Chris Lattner
170dd38f7c Bug fix
llvm-svn: 11381
2004-02-13 16:40:24 +00:00
Chris Lattner
bdd49e8f4d exit(1) instead of abort()'ing on error
llvm-svn: 11380
2004-02-13 16:37:43 +00:00
Chris Lattner
92da902d40 Fix buggy error message problem
llvm-svn: 11379
2004-02-13 16:33:56 +00:00
Misha Brukman
47df5a35ec Fix spelling of `tendency'.
llvm-svn: 11378
2004-02-13 16:23:14 +00:00
Chris Lattner
2b87d0184b Expose a pass ID for lower-invoke
llvm-svn: 11377
2004-02-13 16:16:35 +00:00
Chris Lattner
f1de565975 Expose a pass ID that can be 'required'
llvm-svn: 11376
2004-02-13 16:16:16 +00:00
Chris Lattner
da61b0ab20 Squish warning
llvm-svn: 11375
2004-02-13 16:14:50 +00:00
Chris Lattner
dd8e3f4208 Restructure code to handle memcpy/memmove
llvm-svn: 11374
2004-02-13 16:09:54 +00:00
Chris Lattner
4013ba42ee Right, memcpy READS memory too :)
llvm-svn: 11373
2004-02-13 16:09:37 +00:00
Chris Lattner
3b458d2f65 New testcase for support for memcpy/memmove
llvm-svn: 11372
2004-02-13 16:04:51 +00:00
Brian Gaeke
40b9cf9615 Fix off-by-one in Interpreter::getFirstVarArg(), which was punishing
any attempts by LLI to use varargs (possibly left over from the introduction
of IntrinsicLowering??)

llvm-svn: 11370
2004-02-13 06:18:39 +00:00
Chris Lattner
c16e56ea41 Fine grainify namespacification, prune #includes
llvm-svn: 11369
2004-02-13 06:18:21 +00:00
Brian Gaeke
212ffba663 The Interpreter was failing the AtExit UnitTest. This fixes it.
llvm-svn: 11367
2004-02-13 05:48:00 +00:00
Brian Gaeke
50719e9dbc Update the example here in the header file.
I don't know about you guys, but I rarely read the .html manuals :-)

llvm-svn: 11366
2004-02-13 04:49:04 +00:00
Brian Gaeke
7707461afa Include <iosfwd>.
Add prototypes for MachineBasicBlock's dump() and print() methods.

llvm-svn: 11365
2004-02-13 04:40:15 +00:00
Brian Gaeke
4f4348e113 Refactor MachineFunction::print() into MachineBasicBlock::print().
Add MachineBasicBlock::dump().

llvm-svn: 11364
2004-02-13 04:39:55 +00:00
Brian Gaeke
44cc73b6f2 Add head-of-file comments and Doxygen comments. Tighten up a lot of whitespace.
Rename SetMachineOperandConst's formal parameters to match other methods here.
Mark some methods as being used only by the SPARC back-end.
Fix a missing-paren bug in OutputValue().

llvm-svn: 11363
2004-02-13 04:39:32 +00:00
Chris Lattner
705753bd4f Add support for memcpy and memmove intrinsics. Why isn't the cwriter using
the intrinsiclowering code?? :(

llvm-svn: 11362
2004-02-12 23:13:33 +00:00
Chris Lattner
fffcec6c76 New features
llvm-svn: 11361
2004-02-12 21:21:17 +00:00
Chris Lattner
c41ea880a0 Be a bit more specific about what the alignment value means and the restrictions on it
llvm-svn: 11360
2004-02-12 21:18:15 +00:00
Chris Lattner
978a94db1a New testcase for PR233: [llvmgcc] Structure copies result in a LOT of code
llvm-svn: 11359
2004-02-12 21:06:52 +00:00
Alkis Evlogimenos
00d97b6a13 Move ilist_trairs<MachineInstr> in MachineBasicBlock.
llvm-svn: 11358
2004-02-12 19:12:03 +00:00
Alkis Evlogimenos
3ecdcd18c5 Add parent pointer to MachineInstr that points to owning
MachineBasicBlock. Also change opcode to a short and numImplicitRefs
to an unsigned char so that overall MachineInstr's size stays the
same.

llvm-svn: 11357
2004-02-12 18:49:07 +00:00
John Criswell
3ce16ca3ec Fixed minor typos.
llvm-svn: 11356
2004-02-12 18:11:53 +00:00
Chris Lattner
c908f6b738 Add support for the llvm.memmove intrinsic
Patch graciously contributed by Reid Spencer!

llvm-svn: 11355
2004-02-12 18:11:20 +00:00
Chris Lattner
7c8aebbdbc Add support for the llvm.memmove intrinsic.
Patch graciously contributed by Reid Spencer!

llvm-svn: 11354
2004-02-12 18:10:10 +00:00
Chris Lattner
d2ee2d61ac Urg, check in header I forgot. :(
llvm-svn: 11353
2004-02-12 17:57:11 +00:00
Chris Lattner
4ce80b3f86 Test that we get rep movs when calling memcpy
llvm-svn: 11352
2004-02-12 17:53:43 +00:00
Chris Lattner
d1c4f4c833 Add support for the rep movs[bwd] instructions, and emit them when code
generating the llvm.memcpy intrinsic.

llvm-svn: 11351
2004-02-12 17:53:22 +00:00
Chris Lattner
161154c102 Document the llvm.memcpy intrinsic. Clean up some of the formatting of other
sections

llvm-svn: 11350
2004-02-12 17:01:32 +00:00
Chris Lattner
0d988a0d14 Implement the llvm.memcpy intrinsic
llvm-svn: 11349
2004-02-12 17:01:09 +00:00
Chris Lattner
ef375052c6 Rename the opCode instance variable to Opcode
llvm-svn: 11348
2004-02-12 16:09:53 +00:00
Chris Lattner
04c37927bd Remove a dead field from MachineInstr!
llvm-svn: 11347
2004-02-12 16:05:03 +00:00
Chris Lattner
bda81f88b7 This field is never read
llvm-svn: 11346
2004-02-12 16:04:49 +00:00
Alkis Evlogimenos
94cab18bdc Change interface so that we can add to the end of a basic block
without getting an assertion from ilist that we are dereferencing
ilist<T>::end().

llvm-svn: 11345
2004-02-12 08:11:04 +00:00