aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Sparc
Commit message (Collapse)AuthorAgeFilesLines
* Changes to make this work with Jason's patch. I checked this by hand, butChris Lattner2004-09-131-48/+50
| | | | | | | | would appreciate if others would also look at this to make sure I didn't botch something obvious git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16312 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed file to SparcV8ISelSimple.cppMisha Brukman2004-09-101-1150/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16267 91177308-0d34-0410-b5e6-96231b3b80d8
* This file does not need <iostream>, I think.Brian Gaeke2004-09-082-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16245 91177308-0d34-0410-b5e6-96231b3b80d8
* Back to compiling land for v8Brian Gaeke2004-09-025-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16138 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert bytes to bits in alignmentChris Lattner2004-08-211-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15971 91177308-0d34-0410-b5e6-96231b3b80d8
* V8 never used the instrselectorgeneratorChris Lattner2004-08-151-5/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15791 91177308-0d34-0410-b5e6-96231b3b80d8
* Code insertion methods now return void instead of an int.Chris Lattner2004-08-152-19/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15780 91177308-0d34-0410-b5e6-96231b3b80d8
* These methods no longer take a TargetRegisterClass* operand.Chris Lattner2004-08-152-16/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15774 91177308-0d34-0410-b5e6-96231b3b80d8
* Update to no longer take MF as an argumentChris Lattner2004-08-142-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15748 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove ClassPrefix variable as it's no longer used.Misha Brukman2004-08-091-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15586 91177308-0d34-0410-b5e6-96231b3b80d8
* The (future) SparcV8 JIT would do well to have a class prefix.Misha Brukman2004-08-091-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15583 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the To-Do list according to my notes + assertionsBrian Gaeke2004-08-061-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15535 91177308-0d34-0410-b5e6-96231b3b80d8
* getValues is goneChris Lattner2004-08-041-7/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15494 91177308-0d34-0410-b5e6-96231b3b80d8
* I'm pretty sure that ba is branch always, which is a barrier. Brg shouldChris Lattner2004-07-311-1/+3
| | | | | | | check this :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15357 91177308-0d34-0410-b5e6-96231b3b80d8
* I think that V8 should coallesce registers, don't you?Chris Lattner2004-07-252-0/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15192 91177308-0d34-0410-b5e6-96231b3b80d8
* CPR fixesChris Lattner2004-07-183-10/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14960 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a class for pseudo-instructions. Use it.Brian Gaeke2004-07-161-8/+7
| | | | | | | Add IMPLICIT_USE and IMPLICIT_DEF, a la X86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14884 91177308-0d34-0410-b5e6-96231b3b80d8
* Add what will eventually be the TSFlags. Big switch(opcode) statements are bad.Brian Gaeke2004-07-161-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14883 91177308-0d34-0410-b5e6-96231b3b80d8
* Add special handling for pseudo-instructions (print them as comments).Brian Gaeke2004-07-161-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14882 91177308-0d34-0410-b5e6-96231b3b80d8
* Add to-do list.Brian Gaeke2004-07-161-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14881 91177308-0d34-0410-b5e6-96231b3b80d8
* Do IMPLICIT_DEFs on incoming args' hard regs, to avoid confusing the regalloc.Brian Gaeke2004-07-162-20/+122
| | | | | | | | | Support single-fp incoming args. Support single-fp outgoing args ('call' operands). Support double-fp return values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14880 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete the allocate*TargetMachine function, which is now dead .Chris Lattner2004-07-111-9/+1
| | | | | | | The shared command line options are now in a header that makes sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14756 91177308-0d34-0410-b5e6-96231b3b80d8
* Make these format a bit nicerChris Lattner2004-07-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14747 91177308-0d34-0410-b5e6-96231b3b80d8
* Auto-registrate targetChris Lattner2004-07-111-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14745 91177308-0d34-0410-b5e6-96231b3b80d8
* Support setcc on fp values.Brian Gaeke2004-07-082-24/+42
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14687 91177308-0d34-0410-b5e6-96231b3b80d8
* Add floating-point branches and compares. Compares don't completeBrian Gaeke2004-07-082-0/+52
| | | | | | | | until the next cycle, and there's no interlock, so they effectively have a delay slot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14686 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug where SwitchSection would fail to change to ".bss" successfully.Brian Gaeke2004-07-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14685 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug involving bool arguments to binary operators.Brian Gaeke2004-07-082-4/+4
| | | | | | | Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14684 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in copying long constants to register pairs. We were gettingBrian Gaeke2004-07-082-4/+34
| | | | | | | | | the top and bottom halves backwards...how embarrassing. Support 'cast long to long' and other similar no-op casts to long. Support 'ret long'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14683 91177308-0d34-0410-b5e6-96231b3b80d8
* Support 'ret float'Brian Gaeke2004-07-082-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14681 91177308-0d34-0410-b5e6-96231b3b80d8
* Add #includesChris Lattner2004-07-044-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14625 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix potential problems with unreachable basic blocks.Chris Lattner2004-07-021-0/+10
| | | | | | | | Also, while noone's looking, add support for constant expressions. Wait, I said not to look! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14566 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation to be 2 spaces.Misha Brukman2004-06-302-16/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14512 91177308-0d34-0410-b5e6-96231b3b80d8
* visitSetCondInst() takes a parameter of type `SetCondInst'Misha Brukman2004-06-302-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14508 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow saving and restoring of double and float registers.Brian Gaeke2004-06-271-9/+27
| | | | | | | Allow copying of float registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14445 91177308-0d34-0410-b5e6-96231b3b80d8
* Add FITOS, FITOD, and F{ADD,SUB,MUL,DIV}{S,D}.Brian Gaeke2004-06-271-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14444 91177308-0d34-0410-b5e6-96231b3b80d8
* Support printing constant pool indices.Brian Gaeke2004-06-271-1/+4
| | | | | | | If we see an "unknown operand", abort so it's easier to fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14441 91177308-0d34-0410-b5e6-96231b3b80d8
* Trim whitespace.Brian Gaeke2004-06-272-26/+112
| | | | | | | | | | | Support cast of ints (and narrower) to float and double. Support cast double to double (using load and store). Abort if we see a CallInst or SetCondInst with long/fp args, instead of producing bad code. Support add, sub, mul, div of float and double. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14440 91177308-0d34-0410-b5e6-96231b3b80d8
* * LowercaseString moved to StringExtras.hMisha Brukman2004-06-241-10/+2
| | | | | | | * Wrap long line to 80 cols git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14382 91177308-0d34-0410-b5e6-96231b3b80d8
* Add FSTOD and FDTOS conversion instructions.Brian Gaeke2004-06-241-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14372 91177308-0d34-0410-b5e6-96231b3b80d8
* Support cast float to float, cast double to float, and cast float to double.Brian Gaeke2004-06-242-20/+54
| | | | | | | (It's not yet clear how to copy doubles from register to register.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14371 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the double-fp pseudo registers be "NamedRegs".Brian Gaeke2004-06-241-5/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14366 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a dyn_cast in copyConstantToRegister which should have been a cast.Brian Gaeke2004-06-242-38/+32
| | | | | | | Compactify the code that emits copies of constant ints into registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14365 91177308-0d34-0410-b5e6-96231b3b80d8
* The long integer pseudo-regs are history. So long, we hardly knew ye.Brian Gaeke2004-06-242-31/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14364 91177308-0d34-0410-b5e6-96231b3b80d8
* Use correct add*Imm form in more BuildMI calls.Brian Gaeke2004-06-242-36/+52
| | | | | | | | | | | Fix bug in emitGEPOperation where we weren't passing MBB, IP to getReg. (hey, wouldn't a constant expression lowering pass be cool? huh huhuhuh) Fix bug in emitGEPOperation where we might try to OR a constant into a register which was too big to fit in the immediate field. Support and, or, xor of longs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14363 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the load and store opcodes. The non-fp ones only have oneBrian Gaeke2004-06-242-12/+20
| | | | | | | variant worth worrying about; the fp ones have two. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14362 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the load and store opcodes. The non-fp ones only have oneBrian Gaeke2004-06-241-13/+26
| | | | | | | | variant worth worrying about; the fp ones have two. Add fp stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14361 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the load and store opcodes. The non-fp ones only have oneBrian Gaeke2004-06-242-32/+80
| | | | | | | | | | variant worth worrying about; the fp ones have two. Stub out the case analysis of int-to-fp casts (no code yet). I think the number of operands passed to BuildMI for loads was wrong. Support load and store of float and double. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14360 91177308-0d34-0410-b5e6-96231b3b80d8
* Strange as it may sound, we'll not use LDD/STD to store longs. For reasons ofBrian Gaeke2004-06-242-4/+8
| | | | | | | | representational consistency, we want to address the halves of each 64-bit value separately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14356 91177308-0d34-0410-b5e6-96231b3b80d8
* Support constant cast expressions.Brian Gaeke2004-06-242-34/+86
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14355 91177308-0d34-0410-b5e6-96231b3b80d8