summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
Commit message (Collapse)AuthorAgeFilesLines
* Eliminated the MemAccessInst class, folding contents into GEP class.Chris Lattner2002-08-221-4/+6
| | | | llvm-svn: 3488
* Change code to not use the copyOperands method added to User. It's nowChris Lattner2002-08-221-7/+9
| | | | | | more efficient to boot. llvm-svn: 3453
* Fix two resource names.Vikram S. Adve2002-08-221-2/+2
| | | | llvm-svn: 3443
* Add AsmPrinter::ConstantExprToString, which writes out a ConstantExprVikram S. Adve2002-08-221-1/+74
| | | | | | as an expression. llvm-svn: 3442
* Eliminate bool, boolreg and boolconst nonterminals, and just useVikram S. Adve2002-08-221-17/+11
| | | | | | reg and Constant instead. llvm-svn: 3441
* Change rules for Not, since it is now implemented as Xor(reg,11..1).Vikram S. Adve2002-08-221-48/+54
| | | | | | | Eliminate bool, boolreg and boolconst nonterminals, and just use reg and Constant instead. llvm-svn: 3440
* This case JUST handles constantpointer nulls, not all pointers.Chris Lattner2002-08-201-3/+1
| | | | llvm-svn: 3402
* Revise code generation for unary Not (boolean and bitwise), which isVikram S. Adve2002-08-151-24/+46
| | | | | | no longer a separate instruction but is instead implemented with XOR. llvm-svn: 3342
* Several bug fixes in casting to signed int values.Vikram S. Adve2002-08-131-69/+141
| | | | llvm-svn: 3301
* Handle small unsigned results correctly by clearing high bits.Vikram S. Adve2002-08-131-34/+64
| | | | | | Bug fixes in casting to signed int values. llvm-svn: 3297
* Build correctly in the face of /shared.Brian Ensink2002-08-121-7/+5
| | | | | | -Chris llvm-svn: 3296
* - Clean up interface to Sparc register handling a bit:Chris Lattner2002-08-125-186/+170
| | | | | | | | | | | | - Eliminate Sparc*Order classes, moving contents to Sparc*Class classes - get register name methods now return const char * const pointers instead of std::string's. - Added file header comments to SparcRegClassInfo.(cpp|h) - Moved BIG constant arrays out of SparcRegClassInfo.h, into SparcRegInfo.cpp. This should allow a LOT of std::string constructors to not have to be called. llvm-svn: 3295
* * Removed extraneous #includesChris Lattner2002-08-095-63/+31
| | | | | | | * Fixed file headers to be consistent with the rest of LLVM * Other minor fixes llvm-svn: 3278
* Merge three loops into one.Chris Lattner2002-08-071-23/+18
| | | | llvm-svn: 3259
* Fix breakage in the buildChris Lattner2002-08-071-3/+2
| | | | llvm-svn: 3258
* added Mapping and Function PassMehwish Nagda2002-08-051-1/+5
| | | | llvm-svn: 3251
* Bug fix in CreateCodeToLoadConst(): use sign of dest, not operand,Vikram S. Adve2002-08-041-29/+7
| | | | | | in choosing how to create int-set instructions. llvm-svn: 3248
* Bug fix in SetOperandsForMemInstr: handle leading zeros correctlyVikram S. Adve2002-08-041-5/+9
| | | | | | when folding or not folding GEPs. llvm-svn: 3245
* Fix compilation problem. IsIndexZero doesn't exist, use IsZero instead.Chris Lattner2002-08-031-6/+4
| | | | llvm-svn: 3243
* Simplified handling of array indexes in SetMemOperands_Internal.Vikram S. Adve2002-08-031-77/+62
| | | | llvm-svn: 3236
* Bug fix: incorrect SAVE instruction when using register for stack size.Vikram S. Adve2002-08-011-1/+1
| | | | llvm-svn: 3198
* Just improved comments and assertions.Vikram S. Adve2002-07-311-14/+18
| | | | llvm-svn: 3191
* Add a missing case: converting float/double to unsigned integer types.Vikram S. Adve2002-07-311-77/+73
| | | | llvm-svn: 3188
* * Move InstructionSelection pass to lib/CodeGen/InstrSelection so it isChris Lattner2002-07-301-18/+1
| | | | | | shared by backends. llvm-svn: 3146
* changed implementation of LLVM BYTECODE LengthMehwish Nagda2002-07-251-18/+16
| | | | llvm-svn: 3089
* GCC 3.1 changes, finally the burm file builds the FIRST time a clean ↵Chris Lattner2002-07-255-9/+18
| | | | | | directory is built. llvm-svn: 3073
* *** empty log message ***Chris Lattner2002-07-243-8/+8
| | | | llvm-svn: 3056
* moved from CodeGen to this dirMehwish Nagda2002-07-221-0/+11
| | | | llvm-svn: 2992
* Adding code for outputing length in .sAnand Shukla2002-07-211-2/+20
| | | | llvm-svn: 2979
* * Make global variables with external linkage get emitted correctlyChris Lattner2002-07-161-13/+14
| | | | | | | * Do NOT add a prefix to global variables that are external * Add newline after emitting a constpointerref llvm-svn: 2925
* Added the Mapping Pass to out put Mapping Info to .s fileMehwish Nagda2002-07-151-3/+6
| | | | llvm-svn: 2913
* added std:: to vectorAnand Shukla2002-07-111-2/+2
| | | | llvm-svn: 2874
* Changed interface to insertCallerSavingCode().Vikram S. Adve2002-07-101-1/+3
| | | | llvm-svn: 2859
* Stop using pseudo-instructions (SETX, SETUW, SETSW)Vikram S. Adve2002-07-101-10/+28
| | | | | | and generate actual machine instruction sequences directly. llvm-svn: 2858
* Add support to print %hh, %hm, %lm, or %lo in an operand field.Vikram S. Adve2002-07-101-14/+30
| | | | llvm-svn: 2857
* Major overhaul to stop using pseudo-instructions (SETX, SETUW, SETSW)Vikram S. Adve2002-07-101-110/+207
| | | | | | | | | | | and generate actual machine instruction sequences directly. Also a couple of bug fixes in code for putting constants into registers: -- Do *not* sign-extend unsigned constant that is shorter than int reg size -- Fix handling of address constant (a GlobalValue) vs. constant that must be loaded. llvm-svn: 2856
* More important fixes:Vikram S. Adve2002-07-101-40/+53
| | | | | | | | | | -- FP argument to a function with no prototype going on stack was not being copied to the stack in colorCallArgs(). -- Put caller-saving code *before* argument copying code so that we don't trash a register before saving it! -- Two other minor fixes. llvm-svn: 2855
* Added std:: to mem_fun for 64-bit gccAnand Shukla2002-07-091-2/+2
| | | | llvm-svn: 2845
* Added support for printing constant global references toVikram S. Adve2002-07-091-4/+10
| | | | | | assembly. llvm-svn: 2842
* Numerous changes in interface to class SparcRegInfo corresponding toVikram S. Adve2002-07-081-75/+78
| | | | | | | | changes in class MachineRegInfo (see MachineRegInfo.h for details). Added {LD,ST}[X]FSR instructions. llvm-svn: 2839
* class MachineCodeForBasicBlock is now an annotation on BasicBlock.Vikram S. Adve2002-07-081-2/+3
| | | | llvm-svn: 2838
* BA no longer has the unused CC operand.Vikram S. Adve2002-07-081-2/+3
| | | | llvm-svn: 2837
* Have to save a boolean (setCC) value whenever use is outside the currentVikram S. Adve2002-07-081-20/+16
| | | | | | | | | | basic block. Mark setCCInstr used as dest. of conditional-move as both a def and a use. BA instruction no longer has the unused CC argument. llvm-svn: 2836
* BA has only one argument.Vikram S. Adve2002-07-081-8/+12
| | | | | | | Added LDFSR, LDXFSR, STFSR and STXFSR. Fixed operands info for RDCCR, WRCCR. llvm-svn: 2835
* Significant changes to correctly spill CC registers and to correctlyVikram S. Adve2002-07-081-214/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | handle conditional move instructions: -- cpMem<->Reg functions now support CC registers (int and FP) correctly. Also, cpMem<->Reg functions now return a vector of machine instructions. -- Scratch registers must be explicitly provided to cpMem<->Reg when needed, since CC regs need one to be copied to/from memory. -- CC regs are saved to a scratch register instead of stack. -- All regs used by a instruction are now recorded in MachineInstr::regsUsed, since regs used to save values *across* an instruction are not obvious either from the operands or from the LiveVar sets. -- An (explicit or implicit) operand may now be both a def and a use. This is needed for conditional move operations. So an operand may need spill code both before and after the instruction. Other changes: -- Added several get{Class,Type} functions. -- Added unified-to-local register number conversion. -- class MachineCodeForBasicBlock is now an annotation on BasicBlock. -- Suggest/Color methods may modify the MachineInstr (and always did), so don't make that argument const! -- Caller-saving code doesn't need its special purpose code for handling CC registers since cpMem<->Reg handle those correctly now. llvm-svn: 2834
* Remove diff-cluttering tagsChris Lattner2002-06-302-2/+0
| | | | llvm-svn: 2808
* changes to make it compatible with 64bit gccAnand Shukla2002-06-255-6/+8
| | | | llvm-svn: 2791
* MEGAPATCH checkin.Chris Lattner2002-06-255-110/+97
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2778
* Fix constnessChris Lattner2002-06-051-1/+1
| | | | llvm-svn: 2762
* Fix Constness problemsChris Lattner2002-06-051-13/+13
| | | | llvm-svn: 2761
OpenPOWER on IntegriCloud