Chris Lattner [Tue, 3 Jun 2003 05:04:42 +0000 (05:04 +0000)]
Add -o support for TableGen
I figure that misha has done a lot of things on my todo list, the least I
can do is reciprocate a bit. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6571
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 04:56:29 +0000 (04:56 +0000)]
Make tablegen use more structured command line options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6570
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 04:40:06 +0000 (04:40 +0000)]
Fix minor bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6569
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 03:24:12 +0000 (03:24 +0000)]
Constants are laid out in memory in PC-relative form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6568
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 03:23:35 +0000 (03:23 +0000)]
Added opcode conversion for conditional move of integers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6567
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 03:21:58 +0000 (03:21 +0000)]
* Convert load/store opcodes from register to immediate forms.
* Stop code from wrapping to the next line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6566
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 03:20:57 +0000 (03:20 +0000)]
Convert load/store opcodes from register to immediate forms, if necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6565
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 03:20:14 +0000 (03:20 +0000)]
Store instructions are different from other Format 3.1/3.2 instructions in that
they prefer the destination register to be last. Thus, two new classes were made
for them that accomodate for having this layout of operands (F3_1rd, F3_2rd).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6564
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 03:18:20 +0000 (03:18 +0000)]
Moved code to modify the opcode from 'reg' to 'imm' form to a more logical place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6563
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 01:16:27 +0000 (01:16 +0000)]
* Added section A.34: Move FP register on int reg condition (FMOVr)
* Labeled sections that are not currently used in the Sparc backend as not
requiring completion at this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6562
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 01:13:53 +0000 (01:13 +0000)]
* Removed unused classes (rd field is always mentioned last); fixed comments.
* Added instruction classes which start building from rs1, then rs2, and rd.
* Fixed order of operands in classes 4.1 and 4.2; added 4.6 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6561
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 01:11:58 +0000 (01:11 +0000)]
* Removed unused classes: the rd field is always mentioned as the last reg.
* Added new classes which start building from rs1, adding rs2, and then rd.
* Fixed order of operands in classes 3.11, 3.12, 3.16, and 3.17 .
* Fixed comments to reflect Real Life (tm).
* Removed "don't care" commented out assignments and dead classes (#if 0).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6560
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 01:04:04 +0000 (01:04 +0000)]
The rd field goes after the immediate field in format 2.1 instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6559
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 00:59:24 +0000 (00:59 +0000)]
Removing personal name from source code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6558
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 00:57:41 +0000 (00:57 +0000)]
Added the `to' keyword as in `cast <type> <data> to <type>'.
Cleaned up the header of the file (comments/description/etc).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6557
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 00:56:09 +0000 (00:56 +0000)]
* Added the `to' keyword, as in `cast <type> <data> to <type>'.
* Gave the file a maintainer.
* Cleaned up the layout somewhat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6556
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 00:07:17 +0000 (00:07 +0000)]
Stop ignoring the `cc' field, we actually use it now (e.g. conditional move)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6555
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 23:27:09 +0000 (23:27 +0000)]
Moved FInfo.cpp to lib/Target/Sparc as it is Sparc-specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6554
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 22:57:41 +0000 (22:57 +0000)]
Minor cleanups.
This pass should be moved to lib/Target/Sparc since it's sparc specific
It also needs a file comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6553
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 22:45:07 +0000 (22:45 +0000)]
Remove usage of noncopyable classes to clean up doxygen output.
In particular these classes are the last that link the noncopyable classes
with the hash_map, vector, and list classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6552
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 22:07:37 +0000 (22:07 +0000)]
Remove NonCopyable base class to clean up doxygen output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6551
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 22:05:13 +0000 (22:05 +0000)]
Add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6550
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 21:16:54 +0000 (21:16 +0000)]
Added MOVR (move int reg on register condition), aka comparison with zero.
None of these instructions are actually used in the Sparc backend, so no changes
were required in the instruction selector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6549
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 20:55:14 +0000 (20:55 +0000)]
SparcInstr.def: added 'r' and 'i' versions of MOV(F)cc instructions
SparcInstrSelection.cpp:
* Fixed opcodes to return correct 'i' version since the two functions are each
only used in one place.
* Changed name of function to have an 'i' in the name to signify that they each
return an immediate form of the opcode.
* Added a warning if either of the functions is ever used in a context which
requires a register-version opcode.
SparcV9_F4.td: fixed class F4_3, added F4_4 and notes that F4_{1,2} need fixing
SparcV9.td: added the MOV(F)cc instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6548
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 20:49:09 +0000 (20:49 +0000)]
Removed a useless ofstream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6547
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 19:08:37 +0000 (19:08 +0000)]
* Added casts to/from floating-point to integers.
* Changed // comments to #ifdef 0 to maintain syntax highlighting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6546
91177308-0d34-0410-b5e6-
96231b3b80d8
Guochun Shi [Mon, 2 Jun 2003 17:48:56 +0000 (17:48 +0000)]
compiled with the new SchedGraphCommon
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6545
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 17:42:47 +0000 (17:42 +0000)]
* Make assertion message useful
* Kill dead conditional
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6544
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 17:31:24 +0000 (17:31 +0000)]
Second testcase identified by Joel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6543
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 17:25:46 +0000 (17:25 +0000)]
Fix bug: Linker/2003-06-02-TypeResolveProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6542
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 17:07:42 +0000 (17:07 +0000)]
New testcase identified by Joel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6541
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 05:49:11 +0000 (05:49 +0000)]
Add support for C++ tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6540
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 05:42:39 +0000 (05:42 +0000)]
Be more robust in the face of undefined behavior.
Fixes bug: BasicAA/2003-06-01-AliasCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6538
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 05:42:16 +0000 (05:42 +0000)]
No need to print out bytecode :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6537
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 05:24:46 +0000 (05:24 +0000)]
Clean up after merging in SparcEmitter.cpp; branches and return work again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6536
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 05:21:06 +0000 (05:21 +0000)]
Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6535
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 04:58:23 +0000 (04:58 +0000)]
New testcase, reduced from 300.twolf by bugpoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6534
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 04:54:29 +0000 (04:54 +0000)]
Remove stupid thinko that was preventing bugpoint from working
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6533
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 04:54:16 +0000 (04:54 +0000)]
Give better information about how the passes crash
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6532
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 04:13:58 +0000 (04:13 +0000)]
Eliminated a compiler warning due to casting to a different-sized datatype.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6531
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 04:12:39 +0000 (04:12 +0000)]
Merged in tools/lli/JIT/SparcEmitter.cpp, coupled with the JITResolver taken
from lib/Target/X86/X86CodeEmitter.cpp .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6530
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 04:10:41 +0000 (04:10 +0000)]
Remove spurious assert()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6529
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 03:28:00 +0000 (03:28 +0000)]
Renamed MachineCodeEmitter.cpp -> X86CodeEmitter.cpp as it conflicts with the
target-independent lib/CodeGen/MachineCodeEmitter.cpp; preserved CVS history.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6528
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 2 Jun 2003 03:23:16 +0000 (03:23 +0000)]
* Removed SparcEmitter.cpp; rolled into lib/Target/Sparc/SparcV9CodeEmitter.cpp
* No more createX86Emitter() vs. createSparcEmitter() -- there can be only one
* As a result, the memory management semantics must be handled according to
platform -- the parameters to mmap() are particularly sensitive to the host
architecture.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6527
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 03:10:53 +0000 (03:10 +0000)]
Fix bug: CBackend/2003-06-01-NullPointerType.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6526
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 03:07:54 +0000 (03:07 +0000)]
Testcase distilled from 255.vortex
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6525
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 2 Jun 2003 02:13:26 +0000 (02:13 +0000)]
Deal with %lo/%lm/%hm/%hh flags in getMachineOpValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6522
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 02:13:02 +0000 (02:13 +0000)]
Old testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6521
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 2 Jun 2003 02:10:31 +0000 (02:10 +0000)]
The flag modifications weren't picking up the old values of the
flags before. Save them in a temporary variable, then restore them from the
temporary after creating the new constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6520
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Jun 2003 00:09:00 +0000 (00:09 +0000)]
Remove obsolete code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6518
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 23:24:36 +0000 (23:24 +0000)]
Move target specific code to target files. The new MachineCodeEmitter
class is actually target independent!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6517
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 23:23:50 +0000 (23:23 +0000)]
Move X86 specific code out of the JIT into the X86 backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6516
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 23:22:11 +0000 (23:22 +0000)]
Changes to be compatible with MachineCodeEmitter.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6515
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 23:20:02 +0000 (23:20 +0000)]
Hack up MachineCodeEmitter to actually be target independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6514
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sun, 1 Jun 2003 22:08:29 +0000 (22:08 +0000)]
Fix induction variable name clash in for loops, in finishFunction().
Modify new MachineOperand so that its flags match the old MachineOperand's
flags, for the flags that matter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6513
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sun, 1 Jun 2003 04:52:51 +0000 (04:52 +0000)]
Make the .inc file depend on $(TBLGEN), so that changes to TableGen followed
by a re-link of TableGen will notify Make to rebuild the .inc file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6512
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 03:45:51 +0000 (03:45 +0000)]
Don't print out unique identifier for opaque types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6511
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 03:38:24 +0000 (03:38 +0000)]
* Implement cast (long|ulong) to bool
* Fix cast of (short|ushort|int|uint) to bool to work right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6510
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 03:37:46 +0000 (03:37 +0000)]
Add RR forms of test instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6509
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 03:37:25 +0000 (03:37 +0000)]
Add tests for cast of long to bool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6508
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 03:36:51 +0000 (03:36 +0000)]
Fix a bug with casts to bool. This fixes testcase UnitTests/2003-05-31-CastToBool.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6507
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 03:35:25 +0000 (03:35 +0000)]
Implement xform: (X != 0) -> (bool)X
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6506
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 03:34:53 +0000 (03:34 +0000)]
New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6505
91177308-0d34-0410-b5e6-
96231b3b80d8
Anand Shukla [Sun, 1 Jun 2003 02:48:23 +0000 (02:48 +0000)]
Add map info for arguments to call (copies)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6503
91177308-0d34-0410-b5e6-
96231b3b80d8
Anand Shukla [Sun, 1 Jun 2003 02:40:49 +0000 (02:40 +0000)]
Added the #(internal functions) to output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6502
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 01:57:44 +0000 (01:57 +0000)]
Add tests for 64 bit shifts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6501
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 01:56:54 +0000 (01:56 +0000)]
Add support for shl and shr for 64 bit integer types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6499
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 01:56:39 +0000 (01:56 +0000)]
Add definitions for TEST instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6498
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Jun 2003 00:05:15 +0000 (00:05 +0000)]
Add new cmovne32 instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6496
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 23:30:52 +0000 (23:30 +0000)]
Fix bug: CBackend/2003-05-31-MissingStructName.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6495
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 23:27:10 +0000 (23:27 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6494
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 21:57:06 +0000 (21:57 +0000)]
Fix bug: FunctionResolve/2003-05-31-AllInternalDecls.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6486
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 21:47:16 +0000 (21:47 +0000)]
Add support for: -o -
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6485
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 21:33:08 +0000 (21:33 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6484
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 21:14:45 +0000 (21:14 +0000)]
New testcase for behavior we depend on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6483
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 21:08:45 +0000 (21:08 +0000)]
Fix bug: FuncResolve/2003-05-31-InternalDecl.ll
Count resolutions correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6482
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 21:04:39 +0000 (21:04 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6481
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 20:44:46 +0000 (20:44 +0000)]
Simplify funcresolve a bit more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6480
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 20:33:31 +0000 (20:33 +0000)]
Fix bug: FunctionResolve/2003-05-31-FuncPointerResolve.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6479
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 20:33:09 +0000 (20:33 +0000)]
Add another testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 20:21:13 +0000 (20:21 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6477
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 31 May 2003 20:01:37 +0000 (20:01 +0000)]
Fixed comment width, changed arg to be const, fixed indentation, removed unnecessary includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6476
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2003 19:55:19 +0000 (19:55 +0000)]
* Correct title
* Give credit to John for making the page
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6475
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 31 May 2003 16:46:21 +0000 (16:46 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6474
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:44:07 +0000 (07:44 +0000)]
Made a single common InvalidRegNum = -1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6473
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:43:41 +0000 (07:43 +0000)]
Renamed a variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6472
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:43:01 +0000 (07:43 +0000)]
Support for annul/pred and other future flags on op codes.
Support for recording the physical register for implcit references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6471
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:41:54 +0000 (07:41 +0000)]
Minor changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6470
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:41:24 +0000 (07:41 +0000)]
Added MachineCodeForInstruction object as an argument to
TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6469
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:39:06 +0000 (07:39 +0000)]
Allow explicit physical registers for implicit operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6468
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:37:05 +0000 (07:37 +0000)]
Changes to allow explicit physical register arguments that have been
preallocated. While reg-to-reg dependences were already handled, this
change required new code for adding edges to/from call instructions.
This was part of the extensive changes to the way code generation occurs
for function call arguments and return values.
See log for CodeGen/PhyRegAlloc.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6467
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:34:57 +0000 (07:34 +0000)]
Several bug fixes: globals in call operands were not being pulled out;
globals in some other places may not have been pulled out either;
globals in phi operands were being put just before the phi instead of
in the predecessor basic blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6466
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:32:01 +0000 (07:32 +0000)]
Extensive changes to the way code generation occurs for function
call arguments and return values:
Now all copy operations before and after a call are generated during
selection instead of during register allocation.
The values are copied to virtual registers (or to the stack), but
in the former case these operands are marked with the correct physical
registers according to the calling convention.
Although this complicates scheduling and does not work well with
live range analysis, it simplifies the machine-dependent part of
register allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6465
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 07:27:17 +0000 (07:27 +0000)]
Reverting previous beautification changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6464
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sat, 31 May 2003 06:26:48 +0000 (06:26 +0000)]
Fixed rewriting of branches -- they now work forward and backward.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6463
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sat, 31 May 2003 06:26:06 +0000 (06:26 +0000)]
Removed useless code -- the byte order of output code is correct as is.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6462
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sat, 31 May 2003 06:25:19 +0000 (06:25 +0000)]
The 'rd' register is consistently mentioned last in instruction definitions.
Created new classes from which instructions inherit their ordering of fields.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6461
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sat, 31 May 2003 06:24:29 +0000 (06:24 +0000)]
* Put back into action SLL/SRL/SRA{r,i}6 instructions
* Fixed page numbers referring to the Sparc manual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6460
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sat, 31 May 2003 06:22:37 +0000 (06:22 +0000)]
Code beautification, no functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6459
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 31 May 2003 04:45:56 +0000 (04:45 +0000)]
3 more bugs from the SPEC codes and from richards_benchmark.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6458
91177308-0d34-0410-b5e6-
96231b3b80d8