Allow machine LICM to do its job on SPU.

-return a sensible value for register pressure
-add pattern to 'ila' instrucion

llvm-svn: 120285
This commit is contained in:
Kalle Raiskila 2010-11-29 10:08:09 +00:00
parent 427add8f24
commit 1842ada3ad
2 changed files with 9 additions and 1 deletions

View File

@ -181,6 +181,14 @@ namespace llvm {
virtual bool isLegalAddressingMode(const AddrMode &AM,
const Type *Ty) const;
/// After allocating this many registers, the allocator should feel
/// register pressure. The value is a somewhat random guess, based on the
/// number of non callee saved registers in the C calling convention.
virtual unsigned getRegPressureLimit( const TargetRegisterClass *RC,
MachineFunction &MF) const{
return 50;
}
};
}

View File

@ -416,7 +416,7 @@ multiclass ImmLoadAddress
def lo: ILARegInst<R32C, symbolLo, imm18>;
def lsa: ILAInst<(outs R32C:$rT), (ins symbolLSA:$val),
[/* no pattern */]>;
[(set R32C:$rT, imm18:$val)]>;
}
defm ILA : ImmLoadAddress;