Remove the JustSP single-register regclass.

It was only being used by instructions with the t_addrmode_sp addressing mode,
and that is pattern matched in a way that guarantees SP is used. There is
never any register allocation done from this class.

llvm-svn: 93280
This commit is contained in:
Jakob Stoklund Olesen 2010-01-13 00:43:06 +00:00
parent 59ca529e20
commit 2d819b93a2
2 changed files with 1 additions and 14 deletions

View File

@ -113,7 +113,7 @@ def t_addrmode_s1 : Operand<i32>,
def t_addrmode_sp : Operand<i32>,
ComplexPattern<i32, 2, "SelectThumbAddrModeSP", []> {
let PrintMethod = "printThumbAddrModeSPOperand";
let MIOperandInfo = (ops JustSP:$base, i32imm:$offsimm);
let MIOperandInfo = (ops GPR:$base, i32imm:$offsimm);
}
//===----------------------------------------------------------------------===//

View File

@ -367,19 +367,6 @@ def QPR_8 : RegisterClass<"ARM", [v16i8, v8i16, v4i32, v2i64, v4f32, v2f64],
// Condition code registers.
def CCR : RegisterClass<"ARM", [i32], 32, [CPSR]>;
// Just the stack pointer (for tSTRspi and friends).
def JustSP : RegisterClass<"ARM", [i32], 32, [SP]> {
let MethodProtos = [{
iterator allocation_order_end(const MachineFunction &MF) const;
}];
let MethodBodies = [{
JustSPClass::iterator
JustSPClass::allocation_order_end(const MachineFunction &MF) const {
return allocation_order_begin(MF);
}
}];
}
//===----------------------------------------------------------------------===//
// Subregister Set Definitions... now that we have all of the pieces, define the
// sub registers for each register.