[llvm-commits] CVS: llvm/lib/Target/SparcV8/SparcV8RegisterInfo.td
Alkis Evlogimenos
alkis at cs.uiuc.edu
Sun Mar 7 23:40:02 PST 2004
On Sunday 07 March 2004 09:48 pm, Chris Lattner wrote:
>
> Changes in directory llvm/lib/Target/SparcV8:
>
> SparcV8RegisterInfo.td updated: 1.6 -> 1.7
>
> ---
> Log message:
>
> Avoid allocating special registers a bit more robustly
>
>
> ---
> Diffs of the changes: (+11 -3)
>
> Index: llvm/lib/Target/SparcV8/SparcV8RegisterInfo.td
> diff -u llvm/lib/Target/SparcV8/SparcV8RegisterInfo.td:1.6 llvm/lib/Target/SparcV8/SparcV8RegisterInfo.td:1.7
> --- llvm/lib/Target/SparcV8/SparcV8RegisterInfo.td:1.6 Fri Mar 5 23:31:32 2004
> +++ llvm/lib/Target/SparcV8/SparcV8RegisterInfo.td Sun Mar 7 21:48:07 2004
> @@ -61,10 +61,18 @@
> // FIXME: the register order should be defined in terms of the preferred
> // allocation order...
> //
> -def IntRegs : RegisterClass<i32, 8, [G1, G2, G3, G4, G5, G6, G7, G0,
> - O0, O1, O2, O3, O4, O5, O6, O7,
> +def IntRegs : RegisterClass<i32, 8, [G1, G2, G3, G4, G5, G6, G7,
> + O0, O1, O2, O3, O4, O5, O7,
> L0, L1, L2, L3, L4, L5, L6, L7,
> - I0, I1, I2, I3, I4, I5, I6, I7]>;
> + I0, I1, I2, I3, I4, I5,
> + // Non-allocatable regs
> + O6, I6, I7, G0]> {
> + let Methods = [{
> + iterator allocation_order_end(MachineFunction &MF) const {
> + return end()-4; // Don't allocate special registers
> + }
> + }];
> +}
>
> def FPRegs : RegisterClass<f32, 4, [F0, F1, F2, F3, F4, F5, F6, F7, F8,
> F9, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22,
>
Maybe G0 should be placed back in IntRegs and allocation order begin should start at the second element?
--
Alkis
More information about the llvm-commits
mailing list