oota-llvm.git
20 years agoFixed a bug so initialization code is always inserted in main
Anand Shukla [Thu, 5 Jun 2003 06:02:46 +0000 (06:02 +0000)]
Fixed a bug so initialization code is always inserted in main

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6622 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase for PHI handling
Chris Lattner [Thu, 5 Jun 2003 05:38:30 +0000 (05:38 +0000)]
New testcase for PHI handling

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6621 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUse a constant expr GEP instead of an actual instruction
Chris Lattner [Thu, 5 Jun 2003 04:48:18 +0000 (04:48 +0000)]
Use a constant expr GEP instead of an actual instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6620 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAll store instructions really want 'rd' in the first field.
Misha Brukman [Thu, 5 Jun 2003 01:06:10 +0000 (01:06 +0000)]
All store instructions really want 'rd' in the first field.

Special cases: STFSRx and STXFSRx - they operate on predefined rd=0 or rd=1, and
expect %fsr as the parameter in assembly. They are disabled (since not used)
until an encoding, both for code generation and output, is chosen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6619 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded missing 'rs1' field to F3_rdrs1imm13, 'rd' to F3_rdrs1rs2.
Misha Brukman [Thu, 5 Jun 2003 00:39:45 +0000 (00:39 +0000)]
Added missing 'rs1' field to F3_rdrs1imm13, 'rd' to F3_rdrs1rs2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6618 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agolib/CodeGen/Mapping/MappingInfo.cpp:
Brian Gaeke [Wed, 4 Jun 2003 22:07:12 +0000 (22:07 +0000)]
lib/CodeGen/Mapping/MappingInfo.cpp:
 Update file comment to contain a bunch of the overview mapping-info
  documentation previously buried within the file.
 Remove some unnecessary include/using stmts.
 Rename pass to MappingInfoCollector.
 Rewrite a lot of it so it doesn't use global instance variables and so
  it outputs into MappingInfo objects and then dumps those out, instead of going
  straight to an assembly file.
 Change name of factory to getMappingInfoCollector.
 Fold prologue & epilogue writers into MappingInfo methods.

lib/Target/Sparc/FInfo.cpp:
 Correct file comment to reflect above change

lib/Target/Sparc/Sparc.cpp:
 Change name of factory to getMappingInfoCollector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6617 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd file comment. Include <vector> and <string>. Update include guards
Brian Gaeke [Wed, 4 Jun 2003 22:02:47 +0000 (22:02 +0000)]
Add file comment. Include <vector> and <string>.  Update include guards
to reflect file's current location.  Add definition of class
MappingInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6616 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRevert brians patch to get mapping info working again
Chris Lattner [Wed, 4 Jun 2003 21:01:12 +0000 (21:01 +0000)]
Revert brians patch to get mapping info working again
sorry dude

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6615 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoHad to comment out a line in outByte() to get it to compile because Out and tmp were
Tanya Lattner [Wed, 4 Jun 2003 20:53:46 +0000 (20:53 +0000)]
Had to comment out a line in outByte() to get it to compile because Out and tmp were
undeclared. I was not sure what Brian wanted, so I will let him fix this. But now it compiles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6614 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake this work with counter > 127
Chris Lattner [Wed, 4 Jun 2003 20:08:47 +0000 (20:08 +0000)]
Make this work with counter > 127

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6613 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Instead of re-inventing the MachineConstantPool emitter that's already given
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

20 years agoAdd prerelease license to cvs
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

20 years ago* Institute a hack for the Sparc call to mmap() to get our generated code to be
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

20 years agoMake writeNumber() void. Get ready to decouple it from .byte directive output.
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

20 years agoModify tracing rules to use opt -trace[m] instead of llc -trace[m].
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

20 years agoMade changes suggested by Chris
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

20 years agoMade changes suggested by Chris; Renamed 'union' function to unionSetsWith
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

20 years agoClean up previous code.
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

20 years agoAdd new setCondition member
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

20 years agoI have finally seen the light. The code to change the opcode must live higher in
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

20 years agoAdded the 4.7 instruction class and all the FMOVcc instructions in them.
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

20 years agoModernize testcase
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

20 years agoImplement combination of boolean not with branch
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

20 years agoAdd new test for inverting branches
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

20 years agoComment out opcodes currently unused in the Sparc backend.
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

20 years agoNo really, you _cannot use_ getelementptr on an unsized type: that makes
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

20 years agoAdded instruction format class 3.15 and floating-point compare instructions.
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

20 years agoUndo one of those last fixes -- it was incorrect.
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

20 years agoSparc's dlsym() requires the special operand RTLD_SELF to find a symbol in the
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

20 years agoAvoid generating a getelementptr instruction of a function
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

20 years agoPass through the emitConstantPool() call to the real emitter.
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

20 years agoMake the write*map methods more self-contained. Document some more.
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

20 years agoImproved how tracing can be used:
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

20 years agoMinor cleanups:
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

20 years agoRemove usage of typedef
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

20 years agoRemove use of enum
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

20 years agoAdd namespace comments for doxygen
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

20 years agoThere are now no uses of NonCopyableV
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

20 years agoAdd doxygen comment for namespace
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

20 years agoAdd comment for doxygen for namespace
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

20 years agoMinor cleanups:
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

20 years agoRemove noncopyable base class as it was making the doxygen docs harder to read
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

20 years agoRemove noncopyableV base classes, as they were confusing the doxygen documentation,
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

20 years agoI documented this file, in an attempt to understand it, with a view toward
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

20 years agoSpiff up options a bit
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

20 years agoUse the new -o tablegen option
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

20 years agoAdd -o support for TableGen
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

20 years agoMake tablegen use more structured command line options
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

20 years agoFix minor bug
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

20 years agoConstants are laid out in memory in PC-relative form.
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

20 years agoAdded opcode conversion for conditional move of integers.
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

20 years ago* Convert load/store opcodes from register to immediate forms.
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

20 years agoConvert load/store opcodes from register to immediate forms, if necessary.
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

20 years agoStore instructions are different from other Format 3.1/3.2 instructions in that
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

20 years agoMoved code to modify the opcode from 'reg' to 'imm' form to a more logical place.
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

20 years ago* Added section A.34: Move FP register on int reg condition (FMOVr)
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

20 years ago* Removed unused classes (rd field is always mentioned last); fixed comments.
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

20 years ago* Removed unused classes: the rd field is always mentioned as the last reg.
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

20 years agoThe rd field goes after the immediate field in format 2.1 instructions.
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

20 years agoRemoving personal name from source code.
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

20 years agoAdded the `to' keyword as in `cast <type> <data> to <type>'.
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

20 years ago* Added the `to' keyword, as in `cast <type> <data> to <type>'.
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

20 years agoStop ignoring the `cc' field, we actually use it now (e.g. conditional move)
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

20 years agoMoved FInfo.cpp to lib/Target/Sparc as it is Sparc-specific.
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

20 years agoMinor cleanups.
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

20 years agoRemove usage of noncopyable classes to clean up doxygen output.
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

20 years agoRemove NonCopyable base class to clean up doxygen output
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

20 years agoAdd #include
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

20 years agoAdded MOVR (move int reg on register condition), aka comparison with zero.
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

20 years agoSparcInstr.def: added 'r' and 'i' versions of MOV(F)cc instructions
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

20 years agoRemoved a useless ofstream.
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

20 years ago* Added casts to/from floating-point to integers.
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

20 years agocompiled with the new SchedGraphCommon
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

20 years ago* Make assertion message useful
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

20 years agoSecond testcase identified by Joel
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

20 years agoFix bug: Linker/2003-06-02-TypeResolveProblem.ll
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

20 years agoNew testcase identified by Joel
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

20 years agoAdd support for C++ tests
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

20 years agoBe more robust in the face of undefined behavior.
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

20 years agoNo need to print out bytecode :)
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

20 years agoClean up after merging in SparcEmitter.cpp; branches and return work again.
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

20 years agoMinor cleanups
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

20 years agoNew testcase, reduced from 300.twolf by bugpoint
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

20 years agoRemove stupid thinko that was preventing bugpoint from working
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

20 years agoGive better information about how the passes crash
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

20 years agoEliminated a compiler warning due to casting to a different-sized datatype.
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

20 years agoMerged in tools/lli/JIT/SparcEmitter.cpp, coupled with the JITResolver taken
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

20 years agoRemove spurious assert()
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

20 years agoRenamed MachineCodeEmitter.cpp -> X86CodeEmitter.cpp as it conflicts with the
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

20 years ago* Removed SparcEmitter.cpp; rolled into lib/Target/Sparc/SparcV9CodeEmitter.cpp
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

20 years agoFix bug: CBackend/2003-06-01-NullPointerType.ll
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

20 years agoTestcase distilled from 255.vortex
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

20 years agoDeal with %lo/%lm/%hm/%hh flags in getMachineOpValue().
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

20 years agoOld testcase
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

20 years agoThe flag modifications weren't picking up the old values of the
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

20 years agoRemove obsolete code
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

20 years agoMove target specific code to target files. The new MachineCodeEmitter
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

20 years agoMove X86 specific code out of the JIT into the X86 backend
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

20 years agoChanges to be compatible with MachineCodeEmitter.h
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

20 years agoHack up MachineCodeEmitter to actually be target independent.
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