|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 3094 | 
| | 
| 
| 
| | llvm-svn: 3090 | 
| | 
| 
| 
| | llvm-svn: 3075 | 
| | 
| 
| 
| | llvm-svn: 3058 | 
| | 
| 
| 
| | llvm-svn: 3057 | 
| | 
| 
| 
| | llvm-svn: 3056 | 
| | 
| 
| 
| | llvm-svn: 2993 | 
| | 
| 
| 
| | llvm-svn: 2985 | 
| | 
| 
| 
| | llvm-svn: 2974 | 
| | 
| 
| 
| | llvm-svn: 2942 | 
| | 
| 
| 
| | llvm-svn: 2922 | 
| | 
| 
| 
| | llvm-svn: 2911 | 
| | 
| 
| 
| | llvm-svn: 2875 | 
| | 
| 
| 
| | llvm-svn: 2861 | 
| | 
| 
| 
| 
| 
| 
| | Represent previous bools and these ones with flags in a single byte
per operand.
llvm-svn: 2860 | 
| | 
| 
| 
| | llvm-svn: 2847 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | handle conditional move instructions:
-- cpMem<->Reg functions now support CC registers (int and FP) correctly.
-- 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.
-- class MachineCodeForBasicBlock is now an annotation on BasicBlock.
llvm-svn: 2833 | 
| | 
| 
| 
| 
| 
| 
| | because operands may be modified directly to set register.
Also, class MachineCodeForBasicBlock is now an annotation on BasicBlock.
llvm-svn: 2832 | 
| | 
| 
| 
| | llvm-svn: 2831 | 
| | 
| 
| 
| | llvm-svn: 2830 | 
| | 
| 
| 
| 
| 
| | This class is now an annotation on BasicBlock.
llvm-svn: 2829 | 
| | 
| 
| 
| | llvm-svn: 2828 | 
| | 
| 
| 
| 
| 
| | Moved here from MachineInstr.cpp to make it an annotation on BasicBlock.
llvm-svn: 2827 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | so additional dep. edges have to be added.
This was needed to correctly handle conditional move instructions!
MachineCodeForBasicBlock is now an annotation on BasicBlock.
Renamed "earliestForNode" to "earliestReadyTimeForNode".
llvm-svn: 2826 | 
| | 
| 
| 
| | llvm-svn: 2822 | 
| | 
| 
| 
| 
| 
| 
| 
| | An (explicit or implicit) operand may now be both a def and a use.
Also add a set of regs used by each instruction.
dump() no longer takes an optional argument, which doesn't work in gdb.
llvm-svn: 2821 | 
| | 
| 
| 
| 
| 
| | because operands may be modified directly to set register.
llvm-svn: 2820 | 
| | 
| 
| 
| | llvm-svn: 2807 | 
| | 
| 
| 
| | llvm-svn: 2791 | 
| | 
| 
| 
| 
| 
| | For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779 | 
| | 
| 
| 
| 
| 
| | For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778 | 
| | 
| 
| 
| 
| 
| | a vector.  This makes asserting on array bounds easier.
llvm-svn: 2731 | 
| | 
| 
| 
| 
| 
| | to #include CommandLine.h.
llvm-svn: 2712 | 
| | 
| 
| 
| | llvm-svn: 2710 | 
| | 
| 
| 
| | llvm-svn: 2676 | 
| | 
| 
| 
| | llvm-svn: 2664 | 
| | 
| 
| 
| 
| 
| 
| | May be slightly less efficient but significantly reduces special
cases interfaces in code generation.
llvm-svn: 2649 | 
| | 
| 
| 
| 
| 
| 
| 
| | array and struct indexes.
Update operand values in CallArgsDescriptor (a new class)
when replacing constant values with immediates.
llvm-svn: 2645 | 
| | 
| 
| 
| | llvm-svn: 2644 | 
| | 
| 
| 
| | llvm-svn: 2643 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | -- passing FP arguments to functions with more than 6 arguments
-- passing FP arguments to varargs functions
-- passing FP arguments to functions with no prototypes
-- incorrect coloring for CC registers (both int and FP): interferences
   were being completely ignored for int CC and were considered but no
   spills were marked for fp CC!
Also some code improvements:
-- better interface to generating machine instr for common cases
   (many places still need to be updated to use this interface)
-- annotations on MachineInstr to communicate information from
   one codegen phase to another (now used to pass information about
   CALL/JMPLCALL operands from selection to register allocation)
-- all sizes and offests in class TargetData are uint64_t instead of uint
llvm-svn: 2642 | 
| | 
| 
| 
| | llvm-svn: 2486 | 
| | 
| 
| 
| | llvm-svn: 2406 | 
| | 
| 
| 
| | llvm-svn: 2397 | 
| | 
| 
| 
| 
| 
| | to make debugging output a lot nicer.
llvm-svn: 2395 | 
| | 
| 
| 
| | llvm-svn: 2379 | 
| | 
| 
| 
| | llvm-svn: 2378 | 
| | 
| 
| 
| 
| 
| | to the global namespace
llvm-svn: 2370 | 
| | 
| 
| 
| | llvm-svn: 2369 | 
| | 
| 
| 
| | llvm-svn: 2336 |