Misha Brukman
7be5063ccc
Added the 4.7 instruction class and all the FMOVcc instructions in them.
...
llvm-svn: 6601
2003-06-04 04:48:31 +00:00
Chris Lattner
d3ce33c422
Modernize testcase
...
llvm-svn: 6600
2003-06-04 04:47:40 +00:00
Chris Lattner
9eef8a78b4
Implement combination of boolean not with branch
...
llvm-svn: 6599
2003-06-04 04:46:00 +00:00
Chris Lattner
e1957a34f8
Add new test for inverting branches
...
llvm-svn: 6598
2003-06-04 04:37:46 +00:00
Misha Brukman
11cfb6f7dc
Comment out opcodes currently unused in the Sparc backend.
...
llvm-svn: 6597
2003-06-04 02:57:55 +00:00
Chris Lattner
fee44070a1
No really, you _cannot use_ getelementptr on an unsized type: that makes
...
no sense.
llvm-svn: 6595
2003-06-04 02:35:35 +00:00
Misha Brukman
37586db4b5
Added instruction format class 3.15 and floating-point compare instructions.
...
llvm-svn: 6594
2003-06-04 02:26:14 +00:00
Vikram S. Adve
680ee9f634
Undo one of those last fixes -- it was incorrect.
...
llvm-svn: 6593
2003-06-04 02:10:37 +00:00
Misha Brukman
905496e94f
Sparc's dlsym() requires the special operand RTLD_SELF to find a symbol in the
...
currently-running process.
llvm-svn: 6592
2003-06-04 01:57:22 +00:00
Chris Lattner
46666cfcdd
Avoid generating a getelementptr instruction of a function
...
llvm-svn: 6591
2003-06-04 01:24:40 +00:00
Misha Brukman
a6c3f896da
Pass through the emitConstantPool() call to the real emitter.
...
llvm-svn: 6590
2003-06-03 20:00:49 +00:00
Brian Gaeke
49e14432c2
Make the write*map methods more self-contained. Document some more.
...
llvm-svn: 6589
2003-06-03 19:30:15 +00:00
Vikram S. Adve
de9d6a41b6
Improved how tracing can be used:
...
-- added new targets %.trace-out-llc and %.trace-out-cbe
-- either TRACE=yes or TRACEM=yes is still needed and chooses how to trace
llvm-svn: 6585
2003-06-03 18:56:57 +00:00
Chris Lattner
9109b41a00
Minor cleanups:
...
* Document the MOTy namespace correctly for doxygen
* Eliminate usage of the MachineOpCode typedef, which should eventually
be eliminated entirely.
llvm-svn: 6584
2003-06-03 15:42:53 +00:00
Chris Lattner
fd2a8f5868
Remove usage of typedef
...
llvm-svn: 6583
2003-06-03 15:41:58 +00:00
Chris Lattner
a87bab4e4c
Remove use of enum
...
llvm-svn: 6582
2003-06-03 15:41:45 +00:00
Chris Lattner
0addbab5e2
Add namespace comments for doxygen
...
llvm-svn: 6581
2003-06-03 15:31:23 +00:00
Chris Lattner
be9cef8af4
There are now no uses of NonCopyableV
...
llvm-svn: 6580
2003-06-03 15:30:48 +00:00
Chris Lattner
46a1892c68
Add doxygen comment for namespace
...
llvm-svn: 6579
2003-06-03 15:30:37 +00:00
Chris Lattner
f3dce0882f
Add comment for doxygen for namespace
...
llvm-svn: 6578
2003-06-03 15:30:13 +00:00
Chris Lattner
cee7ced058
Minor cleanups:
...
* LLVM #include should use "", not <>
* Fix line wrapping
* Remove noncopyable base class to improve doxygen output
llvm-svn: 6577
2003-06-03 15:30:01 +00:00
Chris Lattner
58f2b4c5bc
Remove noncopyable base class as it was making the doxygen docs harder to read
...
llvm-svn: 6576
2003-06-03 15:29:12 +00:00
Chris Lattner
fb29f4e173
Remove noncopyableV base classes, as they were confusing the doxygen documentation,
...
making it harder to read.
llvm-svn: 6575
2003-06-03 15:28:40 +00:00
Brian Gaeke
71ab329f08
I documented this file, in an attempt to understand it, with a view toward
...
rewriting it. I also vacuumed out all the commented-out code and
inaccurate comments, etc.
(We need to put the mapping information in a data structure so that we can
pass it out to the JIT, instead of automagically converting it to .byte
directives.)
llvm-svn: 6574
2003-06-03 07:56:05 +00:00
Chris Lattner
1580a96e2a
Spiff up options a bit
...
llvm-svn: 6573
2003-06-03 05:07:28 +00:00
Chris Lattner
0521493aa9
Use the new -o tablegen option
...
llvm-svn: 6572
2003-06-03 05:06:33 +00:00
Chris Lattner
5ef4cf863b
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. :)
llvm-svn: 6571
2003-06-03 05:04:42 +00:00
Chris Lattner
6dc6f066bc
Make tablegen use more structured command line options
...
llvm-svn: 6570
2003-06-03 04:56:29 +00:00
Chris Lattner
3b8f3da50a
Fix minor bug
...
llvm-svn: 6569
2003-06-03 04:40:06 +00:00
Misha Brukman
2712333e5f
Constants are laid out in memory in PC-relative form.
...
llvm-svn: 6568
2003-06-03 03:24:12 +00:00
Misha Brukman
c8728a147e
Added opcode conversion for conditional move of integers.
...
llvm-svn: 6567
2003-06-03 03:23:35 +00:00
Misha Brukman
cdf6256940
* Convert load/store opcodes from register to immediate forms.
...
* Stop code from wrapping to the next line.
llvm-svn: 6566
2003-06-03 03:21:58 +00:00
Misha Brukman
3cdf52a644
Convert load/store opcodes from register to immediate forms, if necessary.
...
llvm-svn: 6565
2003-06-03 03:20:57 +00:00
Misha Brukman
b54bf54065
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).
llvm-svn: 6564
2003-06-03 03:20:14 +00:00
Misha Brukman
0cf667165e
Moved code to modify the opcode from 'reg' to 'imm' form to a more logical place.
...
llvm-svn: 6563
2003-06-03 03:18:20 +00:00
Misha Brukman
bbd10f96a2
* 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.
llvm-svn: 6562
2003-06-03 01:16:27 +00:00
Misha Brukman
e9465fc1d4
* 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 .
llvm-svn: 6561
2003-06-03 01:13:53 +00:00
Misha Brukman
ace89ff224
* 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).
llvm-svn: 6560
2003-06-03 01:11:58 +00:00
Misha Brukman
4485c795a9
The rd field goes after the immediate field in format 2.1 instructions.
...
llvm-svn: 6559
2003-06-03 01:04:04 +00:00
Misha Brukman
b6073c3719
Removing personal name from source code.
...
llvm-svn: 6558
2003-06-03 00:59:24 +00:00
Misha Brukman
ddbfa79371
Added the `to' keyword as in `cast <type> <data> to <type>'.
...
Cleaned up the header of the file (comments/description/etc).
llvm-svn: 6557
2003-06-03 00:57:41 +00:00
Misha Brukman
d8acf7c5c3
* Added the `to' keyword, as in `cast <type> <data> to <type>'.
...
* Gave the file a maintainer.
* Cleaned up the layout somewhat.
llvm-svn: 6556
2003-06-03 00:56:09 +00:00
Misha Brukman
7e66953f17
Stop ignoring the `cc' field, we actually use it now (e.g. conditional move)
...
llvm-svn: 6555
2003-06-03 00:07:17 +00:00
Misha Brukman
e7021ad033
Moved FInfo.cpp to lib/Target/Sparc as it is Sparc-specific.
...
llvm-svn: 6554
2003-06-02 23:27:09 +00:00
Chris Lattner
17776f432e
Minor cleanups.
...
This pass should be moved to lib/Target/Sparc since it's sparc specific
It also needs a file comment.
llvm-svn: 6553
2003-06-02 22:57:41 +00:00
Chris Lattner
396680793c
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.
llvm-svn: 6552
2003-06-02 22:45:07 +00:00
Chris Lattner
befbece2c6
Remove NonCopyable base class to clean up doxygen output
...
llvm-svn: 6551
2003-06-02 22:07:37 +00:00
Chris Lattner
a0a3ef8d21
Add #include
...
llvm-svn: 6550
2003-06-02 22:05:13 +00:00
Misha Brukman
f545b2402f
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.
llvm-svn: 6549
2003-06-02 21:16:54 +00:00
Misha Brukman
843d6933a0
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
llvm-svn: 6548
2003-06-02 20:55:14 +00:00