summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* Add dependency to make TableGen rule fire.Brian Gaeke2003-05-281-0/+2
| | | | llvm-svn: 6383
* Fixed an error preventing compilation.Misha Brukman2003-05-272-2/+2
| | | | llvm-svn: 6381
* Added the 'r' and 'i' annotations to instructions as their opcode names haveMisha Brukman2003-05-271-3/+3
| | | | | | changed. llvm-svn: 6380
* Keep track of the current BasicBlock being processed so that a referencingMisha Brukman2003-05-272-2/+4
| | | | | | MachineInstr can later be patched up correctly. llvm-svn: 6378
* Added 'r' and 'i' annotations to instructions as SparcInstr.def has changed.Misha Brukman2003-05-271-19/+22
| | | | llvm-svn: 6377
* Added 'r' or 'i' annotations to instructions, as SparcInstr.def has changed.Misha Brukman2003-05-271-16/+16
| | | | | | | | | Non-obvious change: since I have changed ST and STD to be STF and STDF to (a) closer resemble their name (NOT assembly text) in the Sparc manual, and (b) clearly specify that they they are floating-point opcodes, I made the same changes in this file. llvm-svn: 6376
* Added 'r' or 'i' annotations to instructions, as SparcInstr.def has changed.Misha Brukman2003-05-271-41/+79
| | | | | | | | | | Here I had to make one non-trivial change: add a function to get a version of the opcode that takes an immediate, given an opcode that takes all registers. This is required because sometimes it is not known at construction time which opcode is used because opcodes are passed around between functions. llvm-svn: 6375
* Added 'r' or 'i' annotations to instructions, as SparcInstr.def has changed.Misha Brukman2003-05-273-27/+30
| | | | llvm-svn: 6373
* Added entries for each of the instructions with annotations ('r' or 'i').Misha Brukman2003-05-271-34/+57
| | | | llvm-svn: 6372
* One of the first major changes to make the work of JITting easier: addingMisha Brukman2003-05-271-55/+113
| | | | | | | | | | | | | | | | annotations on instructions to specify which format they are (i.e., do they take 2 registers and 1 immediate or just 3 registers) as that changes their binary representation and hence, code emission. This makes instructions more like how X86 defines them to be. Now, writers of instruction selection must choose the correct opcode based on what instruction type they are building, which they already know. Thus, the JIT doesn't have to do the same work by `discovering' which operands an instruction really has. As this involves lots of small changes to a lot of files in lib/target/Sparc, I'll commit them individually because otherwise the diffs will be unreadable. llvm-svn: 6371
* * Allow passing in an unsigned configuration to allocateSparcTargetMachine()Misha Brukman2003-05-271-10/+35
| | | | | | | | a default value is set in the header file. * Fixed some code layout to make it more consistent with the rest of codebase * Added addPassesToJITCompile() with relevant passes llvm-svn: 6369
* Moved generation of the SparcV9CodeEmitter.inc file higher in the Makefile soMisha Brukman2003-05-271-3/+4
| | | | | | that Makefile.common would see it. llvm-svn: 6367
* Add prototypes to add passes to JIT compilation and code emission.Misha Brukman2003-05-271-8/+17
| | | | | | | | Also, added annotations to how instructions are modified (reg/imm operands). Added prototype for adding register numbers to values pass for interfacing with the target-independent register allocators in the JIT. llvm-svn: 6366
* Broke out class definition from SparcV9CodeEmitter, and added ability to take aMisha Brukman2003-05-272-25/+35
| | | | | | | MachineCodeEmitter to make a pass-through debugger -- output to memory and to std::cerr. llvm-svn: 6363
* SparcV9CodeEmitter.cpp is a part of the Sparc code emitter. The main functionMisha Brukman2003-05-273-0/+94
| | | | | | | | | | | that assembles instructions is generated via TableGen (and hence must be built before building this directory, but that's already the case in the top-level Makefile). Also added is .cvsignore to ignore the generated file `SparcV9CodeEmitter.inc', which is included by SparcV9CodeEmitter.cpp . llvm-svn: 6357
* Added definitions for a bunch of floating-point instructions.Misha Brukman2003-05-271-65/+381
| | | | llvm-svn: 6356
* Renamed opIsDef to opIsDefOnly.Vikram S. Adve2003-05-271-3/+6
| | | | llvm-svn: 6340
* Added special register class containing (for now) %fsr.Vikram S. Adve2003-05-275-158/+111
| | | | | | | | Fixed spilling of %fcc[0-3] which are part of %fsr. Moved some machine-independent reg-class code to class TargetRegInfo from SparcReg{Class,}Info. llvm-svn: 6339
* Bug fix: right shift for int divide-by-power-of-2 was incorrect forVikram S. Adve2003-05-251-11/+48
| | | | | | negative values. Need to add one to a negative value before right shift! llvm-svn: 6334
* Bug fix: padding bytes within a structure should go after each field!Vikram S. Adve2003-05-251-5/+5
| | | | llvm-svn: 6333
* Bug fix: sign-extension was not happening for C = -MININT since C == -C!Vikram S. Adve2003-05-251-2/+3
| | | | llvm-svn: 6332
* Add support for compiling varargs functions.Vikram S. Adve2003-05-254-77/+179
| | | | llvm-svn: 6325
* Reword to remove reference to how things worked in the past.Misha Brukman2003-05-243-12/+9
| | | | llvm-svn: 6323
* Implement the TargetInstrInfo's createNOPinstr() and isNOPinstr() interface.Misha Brukman2003-05-243-1/+71
| | | | llvm-svn: 6320
* Cleaned up code layout; no functional changes.Misha Brukman2003-05-231-24/+20
| | | | llvm-svn: 6312
* Fixed `volatile' typo.Misha Brukman2003-05-211-1/+1
| | | | llvm-svn: 6266
* Cleaned up code layout, spacing, etc. for readability purposes and to be moreMisha Brukman2003-05-212-307/+281
| | | | | | | | | consistent with the style of LLVM's code base (and itself! it's inconsistent in some places.) No functional changes were made. llvm-svn: 6265
* * Fix divide by zero error with empty structsChris Lattner2003-05-211-5/+3
| | | | | | * Empty structs should have ALIGNMENT 1, not SIZE 1. llvm-svn: 6263
* Cleaned up code layout, spacing, etc. for readability purposes and to be moreMisha Brukman2003-05-211-59/+44
| | | | | | | | | consistent with the style of LLVM's code base (and itself! it's inconsistent in some places.) No functional changes were made. llvm-svn: 6262
* Namespacified `vector' and `cerr' to always use the `std::' namespace.Misha Brukman2003-05-213-88/+90
| | | | | | Eliminated `using' directives. llvm-svn: 6261
* Sparc instruction opcodes now all live under the `V9' namespace.Misha Brukman2003-05-208-568/+569
| | | | llvm-svn: 6249
* Clean up #includesChris Lattner2003-05-131-8/+2
| | | | llvm-svn: 6173
* Make abort more explicitChris Lattner2003-05-121-1/+3
| | | | llvm-svn: 6151
* Remove the assertion failure of course... dohChris Lattner2003-05-121-7/+0
| | | | llvm-svn: 6150
* Implement casts from unsigned integers to floating pointChris Lattner2003-05-121-11/+43
| | | | llvm-svn: 6148
* Make error messages more useful than jsut an abortChris Lattner2003-05-121-2/+9
| | | | llvm-svn: 6146
* Remove wierd printoutChris Lattner2003-05-121-1/+1
| | | | llvm-svn: 6145
* Do not insert multiple initializations for the same value in a PHI nodeChris Lattner2003-05-121-9/+29
| | | | llvm-svn: 6113
* This blank line has GOT to go.Chris Lattner2003-05-092-2/+0
| | | | llvm-svn: 6057
* Add support for Add, Sub, And, Or, & Xor constant exprsChris Lattner2003-05-081-13/+45
| | | | llvm-svn: 6049
* Add support for variable argument functions!Chris Lattner2003-05-081-2/+84
| | | | llvm-svn: 6046
* Added the initial version of the TableGen description for the Sparc backend.Misha Brukman2003-05-071-0/+359
| | | | llvm-svn: 6021
* IMPLICIT_DEF was not the beautiful elegant solution I thought it was goingChris Lattner2003-05-074-14/+5
| | | | | | to be. In fact, it made stuff worse. :( llvm-svn: 6013
* Emit pseudo instructions to indicate that some registers are live on entranceChris Lattner2003-05-061-0/+11
| | | | | | | and exit of the function. This fixes bug: Jello/2003-05-06-LivenessClobber.llx and the Fhourstones benchmark llvm-svn: 6010
* Don't have a cow with new pseudo instructionsChris Lattner2003-05-062-4/+6
| | | | llvm-svn: 6009
* Add two new pseudo instructionsChris Lattner2003-05-061-2/+15
| | | | llvm-svn: 6008
* The Hyphenation-Adding Committee is now in session.Misha Brukman2003-05-031-1/+1
| | | | llvm-svn: 5986
* Eliminate use of NonCopyable so that doxygen documentation doesn't linkChris Lattner2003-05-011-3/+4
| | | | | | the Annotation classes with the noncopyable classes for no reason llvm-svn: 5973
* Remove two fields from TargetData which are target specific.Chris Lattner2003-04-263-8/+2
| | | | llvm-svn: 5963
* The promotion rules are the same for all targets, they are set by the C ↵Chris Lattner2003-04-261-9/+3
| | | | | | standard. llvm-svn: 5962
OpenPOWER on IntegriCloud