|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 3488 | 
| | 
| 
| 
| 
| 
| | more efficient to boot.
llvm-svn: 3453 | 
| | 
| 
| 
| | llvm-svn: 3443 | 
| | 
| 
| 
| 
| 
| | as an expression.
llvm-svn: 3442 | 
| | 
| 
| 
| 
| 
| | reg and Constant instead.
llvm-svn: 3441 | 
| | 
| 
| 
| 
| 
| 
| | Eliminate bool, boolreg and boolconst nonterminals, and just use
reg and Constant instead.
llvm-svn: 3440 | 
| | 
| 
| 
| | llvm-svn: 3402 | 
| | 
| 
| 
| 
| 
| | no longer a separate instruction but is instead implemented with XOR.
llvm-svn: 3342 | 
| | 
| 
| 
| | llvm-svn: 3301 | 
| | 
| 
| 
| 
| 
| | Bug fixes in casting to signed int values.
llvm-svn: 3297 | 
| | 
| 
| 
| 
| 
| | -Chris
llvm-svn: 3296 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - 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 | 
| | 
| 
| 
| 
| 
| 
| | * Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
llvm-svn: 3278 | 
| | 
| 
| 
| | llvm-svn: 3259 | 
| | 
| 
| 
| | llvm-svn: 3258 | 
| | 
| 
| 
| | llvm-svn: 3251 | 
| | 
| 
| 
| 
| 
| | in choosing how to create int-set instructions.
llvm-svn: 3248 | 
| | 
| 
| 
| 
| 
| | when folding or not folding GEPs.
llvm-svn: 3245 | 
| | 
| 
| 
| | llvm-svn: 3243 | 
| | 
| 
| 
| | llvm-svn: 3236 | 
| | 
| 
| 
| | llvm-svn: 3198 | 
| | 
| 
| 
| | llvm-svn: 3191 | 
| | 
| 
| 
| | llvm-svn: 3188 | 
| | 
| 
| 
| 
| 
| | shared by backends.
llvm-svn: 3146 | 
| | 
| 
| 
| | llvm-svn: 3089 | 
| | 
| 
| 
| 
| 
| | directory is built.
llvm-svn: 3073 | 
| | 
| 
| 
| | llvm-svn: 3056 | 
| | 
| 
| 
| | llvm-svn: 2992 | 
| | 
| 
| 
| | llvm-svn: 2979 | 
| | 
| 
| 
| 
| 
| 
| | * Do NOT add a prefix to global variables that are external
* Add newline after emitting a constpointerref
llvm-svn: 2925 | 
| | 
| 
| 
| | llvm-svn: 2913 | 
| | 
| 
| 
| | llvm-svn: 2874 | 
| | 
| 
| 
| | llvm-svn: 2859 | 
| | 
| 
| 
| 
| 
| | and generate actual machine instruction sequences directly.
llvm-svn: 2858 | 
| | 
| 
| 
| | llvm-svn: 2857 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | -- 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 | 
| | 
| 
| 
| | llvm-svn: 2845 | 
| | 
| 
| 
| 
| 
| | assembly.
llvm-svn: 2842 | 
| | 
| 
| 
| 
| 
| 
| 
| | changes in class MachineRegInfo (see MachineRegInfo.h for details).
Added {LD,ST}[X]FSR instructions.
llvm-svn: 2839 | 
| | 
| 
| 
| | llvm-svn: 2838 | 
| | 
| 
| 
| | llvm-svn: 2837 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| | Added LDFSR, LDXFSR, STFSR and STXFSR.
Fixed operands info for RDCCR, WRCCR.
llvm-svn: 2835 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 2808 | 
| | 
| 
| 
| | llvm-svn: 2791 | 
| | 
| 
| 
| 
| 
| | For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778 | 
| | 
| 
| 
| | llvm-svn: 2762 | 
| | 
| 
| 
| | llvm-svn: 2761 |