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
Misha Brukman
155bdf6993
Removed a useless ofstream.
...
llvm-svn: 6547
2003-06-02 20:49:09 +00:00
Misha Brukman
609b55c255
* Added casts to/from floating-point to integers.
...
* Changed // comments to #ifdef 0 to maintain syntax highlighting.
llvm-svn: 6546
2003-06-02 19:08:37 +00:00
Guochun Shi
8dfdb0f68e
compiled with the new SchedGraphCommon
...
llvm-svn: 6545
2003-06-02 17:48:56 +00:00
Chris Lattner
93c8f14906
* Make assertion message useful
...
* Kill dead conditional
llvm-svn: 6544
2003-06-02 17:42:47 +00:00
Chris Lattner
4476a7bf80
Second testcase identified by Joel
...
llvm-svn: 6543
2003-06-02 17:31:24 +00:00
Chris Lattner
7fa6783a01
Fix bug: Linker/2003-06-02-TypeResolveProblem.ll
...
llvm-svn: 6542
2003-06-02 17:25:46 +00:00
Chris Lattner
92d2086df3
New testcase identified by Joel
...
llvm-svn: 6541
2003-06-02 17:07:42 +00:00
Chris Lattner
062127b4d9
Add support for C++ tests
...
llvm-svn: 6540
2003-06-02 05:49:11 +00:00
Chris Lattner
78dd43245d
Be more robust in the face of undefined behavior.
...
Fixes bug: BasicAA/2003-06-01-AliasCrash.ll
llvm-svn: 6538
2003-06-02 05:42:39 +00:00
Chris Lattner
1f3ae6abeb
No need to print out bytecode :)
...
llvm-svn: 6537
2003-06-02 05:42:16 +00:00
Misha Brukman
55c6331637
Clean up after merging in SparcEmitter.cpp; branches and return work again.
...
llvm-svn: 6536
2003-06-02 05:24:46 +00:00
Chris Lattner
7b66a726f8
Minor cleanups
...
llvm-svn: 6535
2003-06-02 05:21:06 +00:00
Chris Lattner
43876ae58b
New testcase, reduced from 300.twolf by bugpoint
...
llvm-svn: 6534
2003-06-02 04:58:23 +00:00
Chris Lattner
a965631408
Remove stupid thinko that was preventing bugpoint from working
...
llvm-svn: 6533
2003-06-02 04:54:29 +00:00
Chris Lattner
b165ea31b7
Give better information about how the passes crash
...
llvm-svn: 6532
2003-06-02 04:54:16 +00:00
Misha Brukman
f9162dc713
Eliminated a compiler warning due to casting to a different-sized datatype.
...
llvm-svn: 6531
2003-06-02 04:13:58 +00:00
Misha Brukman
ce62d36615
Merged in tools/lli/JIT/SparcEmitter.cpp, coupled with the JITResolver taken
...
from lib/Target/X86/X86CodeEmitter.cpp .
llvm-svn: 6530
2003-06-02 04:12:39 +00:00
Misha Brukman
6fd0681010
Remove spurious assert()
...
llvm-svn: 6529
2003-06-02 04:10:41 +00:00
Misha Brukman
29848417f3
Renamed MachineCodeEmitter.cpp -> X86CodeEmitter.cpp as it conflicts with the
...
target-independent lib/CodeGen/MachineCodeEmitter.cpp; preserved CVS history.
llvm-svn: 6528
2003-06-02 03:28:00 +00:00
Misha Brukman
6ac7fe7dc0
* 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.
llvm-svn: 6527
2003-06-02 03:23:16 +00:00
Chris Lattner
239ff501ac
Fix bug: CBackend/2003-06-01-NullPointerType.ll
...
llvm-svn: 6526
2003-06-02 03:10:53 +00:00
Chris Lattner
f557cbd314
Testcase distilled from 255.vortex
...
llvm-svn: 6525
2003-06-02 03:07:54 +00:00
Brian Gaeke
bca71e4735
Deal with %lo/%lm/%hm/%hh flags in getMachineOpValue().
...
llvm-svn: 6522
2003-06-02 02:13:26 +00:00
Chris Lattner
a0af384528
Old testcase
...
llvm-svn: 6521
2003-06-02 02:13:02 +00:00
Brian Gaeke
78e8ade959
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.
llvm-svn: 6520
2003-06-02 02:10:31 +00:00
Chris Lattner
cd0a9fa5b4
Remove obsolete code
...
llvm-svn: 6518
2003-06-02 00:09:00 +00:00
Chris Lattner
6b689e3ad4
Move target specific code to target files. The new MachineCodeEmitter
...
class is actually target independent!
llvm-svn: 6517
2003-06-01 23:24:36 +00:00