Misha Brukman [Wed, 4 Jun 2003 20:01:13 +0000 (20:01 +0000)]
* Instead of re-inventing the MachineConstantPool emitter that's already given
in Emitter.cpp, just convert the Sparc version of the constant pool into
what's already supported and inter-operate.
* Implemented a first pass at lazy function resolution in the JITResolver. That
required adding a SparcV9CodeEmitter pointer to simplify generating
bit-patterns of the instructions.
* SparcV9CodeEmitter now creates and destroys static TheJITResolver, which makes
sense because the SparcV9CodeEmitter is the only user of TheJITResolver, and
lives for the entire duration of the JIT (via PassManager which lives in VM).
* Changed all return values in the JITResolver to uint64_t because of the 64-bit
Sparc architecture.
* Added a new version of getting the value of a GlobalValue in the
SparcV9CodeEmitter, which now works for already-generated functions (JITted or
library functions).
* Removed little-used and unused functions, cleaning up the internal view of the
SparcV9CodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6612
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Jun 2003 19:46:36 +0000 (19:46 +0000)]
Add prerelease license to cvs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6611
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Jun 2003 19:45:25 +0000 (19:45 +0000)]
* Institute a hack for the Sparc call to mmap() to get our generated code to be
laid out closer to the VM so that calls to library functions (e.g. puts()) and
callback (e.g. JITResolver::CompilationCallback) fit into 30 bits of the call
instruction.
* Abort if architecture is not yet supported (not X86 or Sparc) because it
likely requires a different set of parameters to mmap() .
* Stop using hard-coded values for page size; use sysconf(_SC_PAGESIZE) instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6610
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 4 Jun 2003 18:17:22 +0000 (18:17 +0000)]
Make writeNumber() void. Get ready to decouple it from .byte directive output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6609
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 4 Jun 2003 14:24:52 +0000 (14:24 +0000)]
Modify tracing rules to use opt -trace[m] instead of llc -trace[m].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6607
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Wed, 4 Jun 2003 08:03:57 +0000 (08:03 +0000)]
Made changes suggested by Chris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6606
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Wed, 4 Jun 2003 08:00:05 +0000 (08:00 +0000)]
Made changes suggested by Chris; Renamed 'union' function to unionSetsWith
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6605
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Jun 2003 05:10:11 +0000 (05:10 +0000)]
Clean up previous code.
Add new combination to turn seteq X, 0 -> not(cast X to bool)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6604
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Jun 2003 05:08:31 +0000 (05:08 +0000)]
Add new setCondition member
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6603
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Jun 2003 04:54:06 +0000 (04:54 +0000)]
I have finally seen the light. The code to change the opcode must live higher in
the loop, and in both cases. In the first case, it is a VReg that is a constant
so it may be actually converted to a constant. In the second case, it is already
a constant, but then if it doesn't change its type (e.g. to become a register
and have the value loaded from memory if it is too large to live in its
instruction field), we must change the opcode BEFORE the 'continue', otherwise
we miss the opportunity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6602
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Jun 2003 04:48:31 +0000 (04:48 +0000)]
Added the 4.7 instruction class and all the FMOVcc instructions in them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6601
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Jun 2003 04:47:40 +0000 (04:47 +0000)]
Modernize testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6600
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Jun 2003 04:46:00 +0000 (04:46 +0000)]
Implement combination of boolean not with branch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6599
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Jun 2003 04:37:46 +0000 (04:37 +0000)]
Add new test for inverting branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6598
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Jun 2003 02:57:55 +0000 (02:57 +0000)]
Comment out opcodes currently unused in the Sparc backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6597
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Jun 2003 02:35:35 +0000 (02:35 +0000)]
No really, you _cannot use_ getelementptr on an unsized type: that makes
no sense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6595
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Jun 2003 02:26:14 +0000 (02:26 +0000)]
Added instruction format class 3.15 and floating-point compare instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6594
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 4 Jun 2003 02:10:37 +0000 (02:10 +0000)]
Undo one of those last fixes -- it was incorrect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6593
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Jun 2003 01:57:22 +0000 (01:57 +0000)]
Sparc's dlsym() requires the special operand RTLD_SELF to find a symbol in the
currently-running process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6592
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Jun 2003 01:24:40 +0000 (01:24 +0000)]
Avoid generating a getelementptr instruction of a function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6591
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Jun 2003 20:00:49 +0000 (20:00 +0000)]
Pass through the emitConstantPool() call to the real emitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6590
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 3 Jun 2003 19:30:15 +0000 (19:30 +0000)]
Make the write*map methods more self-contained. Document some more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6589
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 3 Jun 2003 18:56:57 +0000 (18:56 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6585
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:42:53 +0000 (15:42 +0000)]
Minor cleanups:
* Document the MOTy namespace correctly for doxygen
* Eliminate usage of the MachineOpCode typedef, which should eventually
be eliminated entirely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6584
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:41:58 +0000 (15:41 +0000)]
Remove usage of typedef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6583
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:41:45 +0000 (15:41 +0000)]
Remove use of enum
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6582
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:31:23 +0000 (15:31 +0000)]
Add namespace comments for doxygen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6581
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:30:48 +0000 (15:30 +0000)]
There are now no uses of NonCopyableV
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6580
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:30:37 +0000 (15:30 +0000)]
Add doxygen comment for namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6579
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:30:13 +0000 (15:30 +0000)]
Add comment for doxygen for namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6578
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:30:01 +0000 (15:30 +0000)]
Minor cleanups:
* LLVM #include should use "", not <>
* Fix line wrapping
* Remove noncopyable base class to improve doxygen output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6577
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:29:12 +0000 (15:29 +0000)]
Remove noncopyable base class as it was making the doxygen docs harder to read
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6576
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 15:28:40 +0000 (15:28 +0000)]
Remove noncopyableV base classes, as they were confusing the doxygen documentation,
making it harder to read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6575
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 3 Jun 2003 07:56:05 +0000 (07:56 +0000)]
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.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6574
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 05:07:28 +0000 (05:07 +0000)]
Spiff up options a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6573
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Jun 2003 05:06:33 +0000 (05:06 +0000)]
Use the new -o tablegen option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6572
91177308-0d34-0410-b5e6-
96231b3b80d8
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