forked from OSchip/llvm-project
Revert "[RISCV] Set isAsCheapAsAMove for ADDI, ORI, XORI, LUI"
This reverts commit ccfb060ecb5d7e18ea729455660484d576bde2cc. Some tests need to to fixed before reapplying this commit. llvm-svn: 352014
This commit is contained in:
parent
4d91cf71cc
commit
5c0521ac52
|
@ -447,16 +447,3 @@ unsigned RISCVInstrInfo::getInstSizeInBytes(const MachineInstr &MI) const {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool RISCVInstrInfo::isAsCheapAsAMove(const MachineInstr &MI) const {
|
||||
const unsigned Opcode = MI.getOpcode();
|
||||
switch(Opcode) {
|
||||
default:
|
||||
break;
|
||||
case RISCV::ADDI:
|
||||
case RISCV::ORI:
|
||||
case RISCV::XORI:
|
||||
return (MI.getOperand(1).isReg() && MI.getOperand(1).getReg() == RISCV::X0);
|
||||
}
|
||||
return MI.isAsCheapAsAMove();
|
||||
}
|
||||
|
|
|
@ -78,8 +78,6 @@ public:
|
|||
|
||||
bool isBranchOffsetInRange(unsigned BranchOpc,
|
||||
int64_t BrOffset) const override;
|
||||
|
||||
bool isAsCheapAsAMove(const MachineInstr &MI) const override;
|
||||
};
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -312,7 +312,7 @@ class Priv<string opcodestr, bits<7> funct7>
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
|
||||
let isReMaterializable = 1, isAsCheapAsAMove = 1 in
|
||||
let isReMaterializable = 1 in
|
||||
def LUI : RVInstU<OPC_LUI, (outs GPR:$rd), (ins uimm20_lui:$imm20),
|
||||
"lui", "$rd, $imm20">;
|
||||
|
||||
|
@ -348,13 +348,13 @@ def SW : Store_rri<0b010, "sw">;
|
|||
|
||||
// ADDI isn't always rematerializable, but isReMaterializable will be used as
|
||||
// a hint which is verified in isReallyTriviallyReMaterializable.
|
||||
let isReMaterializable = 1, isAsCheapAsAMove = 1 in
|
||||
let isReMaterializable = 1 in
|
||||
def ADDI : ALU_ri<0b000, "addi">;
|
||||
|
||||
def SLTI : ALU_ri<0b010, "slti">;
|
||||
def SLTIU : ALU_ri<0b011, "sltiu">;
|
||||
|
||||
let isReMaterializable = 1, isAsCheapAsAMove = 1 in {
|
||||
let isReMaterializable = 1 in {
|
||||
def XORI : ALU_ri<0b100, "xori">;
|
||||
def ORI : ALU_ri<0b110, "ori">;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue