mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-05 02:16:46 +00:00
Misc.
1. Remove RA from list of allocatable registers 2. Enable d,y,r constraint inline assembly instructions Patch by Reed Kotler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163753 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6c7ccaa3fd
commit
afc945b614
@ -113,7 +113,6 @@ MipsTargetLowering(MipsTargetMachine &TM)
|
||||
|
||||
if (Subtarget->inMips16Mode()) {
|
||||
addRegisterClass(MVT::i32, &Mips::CPU16RegsRegClass);
|
||||
addRegisterClass(MVT::i32, &Mips::CPURARegRegClass);
|
||||
}
|
||||
|
||||
if (!TM.Options.UseSoftFloat) {
|
||||
@ -1571,7 +1570,8 @@ SDValue MipsTargetLowering::LowerGlobalAddress(SDValue Op,
|
||||
if (getTargetMachine().getRelocationModel() != Reloc::PIC_ && !IsN64) {
|
||||
SDVTList VTs = DAG.getVTList(MVT::i32);
|
||||
|
||||
const MipsTargetObjectFile &TLOF = (const MipsTargetObjectFile&)getObjFileLowering();
|
||||
const MipsTargetObjectFile &TLOF =
|
||||
(const MipsTargetObjectFile&)getObjFileLowering();
|
||||
|
||||
// %gp_rel relocation
|
||||
if (TLOF.IsGlobalInSmallSection(GV, getTargetMachine())) {
|
||||
@ -3325,8 +3325,11 @@ getRegForInlineAsmConstraint(const std::string &Constraint, EVT VT) const
|
||||
case 'd': // Address register. Same as 'r' unless generating MIPS16 code.
|
||||
case 'y': // Same as 'r'. Exists for compatibility.
|
||||
case 'r':
|
||||
if (VT == MVT::i32 || VT == MVT::i16 || VT == MVT::i8)
|
||||
if (VT == MVT::i32 || VT == MVT::i16 || VT == MVT::i8) {
|
||||
if (Subtarget->inMips16Mode())
|
||||
return std::make_pair(0U, &Mips::CPU16RegsRegClass);
|
||||
return std::make_pair(0U, &Mips::CPURegsRegClass);
|
||||
}
|
||||
if (VT == MVT::i64 && !HasMips64)
|
||||
return std::make_pair(0U, &Mips::CPURegsRegClass);
|
||||
if (VT == MVT::i64 && HasMips64)
|
||||
|
Loading…
Reference in New Issue
Block a user