Chris Lattner [Sun, 8 Jun 2003 15:33:25 +0000 (15:33 +0000)]
Fix bug in environment setting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6671
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Jun 2003 06:43:57 +0000 (06:43 +0000)]
Add #include for older GCC's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6670
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jun 2003 21:45:42 +0000 (21:45 +0000)]
Fix bug: LevelRaise/2003-06-07-EmptyArrayTest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6669
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jun 2003 21:43:56 +0000 (21:43 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6668
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Jun 2003 20:29:58 +0000 (20:29 +0000)]
Fix compilation problem on GCC 2.9x
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6667
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sat, 7 Jun 2003 02:34:43 +0000 (02:34 +0000)]
Do not hastily change the Opcode from 'r' to 'i' type if we're not actually
SETTING the operand to be an immediate or have verified that one of the operands
is really a SignExtended or Unextended immediate value already, which warrants
an 'i' opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6662
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jun 2003 23:06:20 +0000 (23:06 +0000)]
Old versions of GCC doesn't have <ostream> :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6661
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jun 2003 22:13:01 +0000 (22:13 +0000)]
Fix compilation problem with some versions of G++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6660
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jun 2003 21:09:29 +0000 (21:09 +0000)]
Fix problem with perror
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6659
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jun 2003 18:25:33 +0000 (18:25 +0000)]
Fix warnings on Sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6658
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 09:53:28 +0000 (09:53 +0000)]
Print address out as hex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6657
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 09:52:58 +0000 (09:52 +0000)]
Added 'r' and 'i' versions to WRCCR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6656
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 09:52:23 +0000 (09:52 +0000)]
* Changed Bcc instructions to behave like BPcc instructions
* BPA and BPN do not take a %cc register as a parameter
* SLL/SRL/SRA{r,i}5 are there for a reason - they are ONLY 32-bit instructions
* Likewise, SLL/SRL/SRAX{r,i}6 are only 64-bit
* Added WRCCR{r,i} opcodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6655
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 08:00:40 +0000 (08:00 +0000)]
Return 'int 0' instead of 'void' so that the test can be seen as successful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6654
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 07:58:29 +0000 (07:58 +0000)]
Return 'int 0' instead of void so that the test can be considered to pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6653
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 07:11:16 +0000 (07:11 +0000)]
* Removed PreSelection pass because that is now done in the JIT
* Removed instruction scheduling as it is too slow to run in a JIT environment
* Removed other passes because they aren't necessary and can slow JIT down
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6652
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jun 2003 07:10:24 +0000 (07:10 +0000)]
Don't output explicit initializers for globals that are zero initialized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6651
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 06:59:55 +0000 (06:59 +0000)]
::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::
The JIT is designed to code-generate a function at-a-time. That means that any
pass can only make local changes to its function. Period.
Because the Sparc PreSelection pass claims to be a BasicBlock pass while adding
globals to the Module, it cannot be run with the other passes, because by this
time, the globals have been output already by the JIT, and the addresses of any
globals appearing AFTER this point are not recognized.
However, the PreSelection pass is a requirement for correctness in the Sparc
codegen path, so it MUST be run.
::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6650
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 06:52:35 +0000 (06:52 +0000)]
Output function address as hex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6649
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 06:50:43 +0000 (06:50 +0000)]
Simplify test case: remove declaration of __main() and call to it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6648
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 04:41:22 +0000 (04:41 +0000)]
Fixed a bunch of test cases in test/Regression/Jello which could not get the
address of a floating-point (allocated via ConstantPool) correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6647
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Jun 2003 04:00:05 +0000 (04:00 +0000)]
Add statistic for # machine instrs emitted
Add GROSS HACK to get CompilationCallback to work when compiled in release mode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6646
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 03:35:37 +0000 (03:35 +0000)]
* If a global is not a function, just ask the MachineCodeEmitter for the addr
* Do not block a print statement with a DEBUG() guard if we're going to abort()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6645
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 03:34:47 +0000 (03:34 +0000)]
The SUB*i instructions belong to a different class than their SUB*r brethren.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6644
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 00:27:02 +0000 (00:27 +0000)]
All debug print statements are now output with the DEBUG() guard to make
output clean so that tests can automatically diff the output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6643
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 00:26:11 +0000 (00:26 +0000)]
Put all debug print statements under the DEBUG() guard to make output clean so
that tests can automatically diff the output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6642
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 6 Jun 2003 00:00:54 +0000 (00:00 +0000)]
Removed debug print statement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6641
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 5 Jun 2003 23:51:10 +0000 (23:51 +0000)]
Fixed confusion between register classes and register types.
Now %fcc registers are recognized correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6640
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 5 Jun 2003 23:35:11 +0000 (23:35 +0000)]
Added missing directive to store the instruction name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6639
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 5 Jun 2003 23:33:15 +0000 (23:33 +0000)]
Moved predict and annul fields to the end of each individual instruction
class, because they are currently unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6638
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 5 Jun 2003 23:30:27 +0000 (23:30 +0000)]
Do not preset the cc register, the instructions actually use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6637
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 5 Jun 2003 23:15:25 +0000 (23:15 +0000)]
* Stop ignoring cc registers, since we actually use them in branches.
* Added comment as to why we are still ignoring predict and annul bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6636
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 5 Jun 2003 21:12:56 +0000 (21:12 +0000)]
Minor tuning -- avoid a non-inlinable function call on every operand.
Also, reorder a couple of functions for inlining.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6635
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 21:01:26 +0000 (21:01 +0000)]
Fix (bogus) possibly uninitialized warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6634
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 5 Jun 2003 20:52:06 +0000 (20:52 +0000)]
Added lazy function resolution to the JIT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6633
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 5 Jun 2003 20:51:37 +0000 (20:51 +0000)]
* The textual output of (non-)predicted FP branches is the same.
* Stop mapping FBcc instructions to deprecated opcodes, map to FBPcc instead.
* Fixed opf in FCMPxy instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6632
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 20:51:10 +0000 (20:51 +0000)]
Remove duplicate pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6631
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 20:12:51 +0000 (20:12 +0000)]
Fix bug: InstCombine/2003-06-05-BranchInvertInfLoop.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6630
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 20:12:32 +0000 (20:12 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6629
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 20:11:19 +0000 (20:11 +0000)]
Test seteq AND setne
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6628
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 19:30:30 +0000 (19:30 +0000)]
Implement generation of cmp R, C to not use an extra register
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6627
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 18:28:55 +0000 (18:28 +0000)]
Special case simple binary operator X op C
This avoid generating a register to hold C, which in turn speeds up the
register allocator by a lot: ~9% on 164.gzip and ~17% on 256.bzip2. This
also speeds up other passes. This also speeds up execution of the program
marginally, and makes the asm much easier to read. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6626
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 18:25:08 +0000 (18:25 +0000)]
Add instructions for (add|sub|and|or|xor)ri(8|16|32)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6625
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 17:15:04 +0000 (17:15 +0000)]
Fix bug: Jello/2003-06-04-bzip2-bug.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6624
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Jun 2003 16:57:55 +0000 (16:57 +0000)]
New testcase, the JIT currently handles this right, I just don't want to
reintroduce a bug that didn't have a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6623
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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