forked from OSchip/llvm-project
Mark flag neverHasSideEffects of pattern-less instructions that do not have
any side effects. llvm-svn: 153551
This commit is contained in:
parent
8b4140d712
commit
1518a5fa9c
|
@ -365,6 +365,7 @@ class LoadUpper<bits<6> op, string instr_asm, RegisterClass RC, Operand Imm>:
|
|||
FI<op, (outs RC:$rt), (ins Imm:$imm16),
|
||||
!strconcat(instr_asm, "\t$rt, $imm16"), [], IIAlu> {
|
||||
let rs = 0;
|
||||
let neverHasSideEffects = 1;
|
||||
}
|
||||
|
||||
class FMem<bits<6> op, dag outs, dag ins, string asmstr, list<dag> pattern,
|
||||
|
@ -555,6 +556,7 @@ class Mult<bits<6> func, string instr_asm, InstrItinClass itin,
|
|||
let shamt = 0;
|
||||
let isCommutable = 1;
|
||||
let Defs = DefRegs;
|
||||
let neverHasSideEffects = 1;
|
||||
}
|
||||
|
||||
class Mult32<bits<6> func, string instr_asm, InstrItinClass itin>:
|
||||
|
@ -582,6 +584,7 @@ class MoveFromLOHI<bits<6> func, string instr_asm, RegisterClass RC,
|
|||
let rt = 0;
|
||||
let shamt = 0;
|
||||
let Uses = UseRegs;
|
||||
let neverHasSideEffects = 1;
|
||||
}
|
||||
|
||||
class MoveToLOHI<bits<6> func, string instr_asm, RegisterClass RC,
|
||||
|
@ -592,6 +595,7 @@ class MoveToLOHI<bits<6> func, string instr_asm, RegisterClass RC,
|
|||
let rd = 0;
|
||||
let shamt = 0;
|
||||
let Defs = DefRegs;
|
||||
let neverHasSideEffects = 1;
|
||||
}
|
||||
|
||||
class EffectiveAddress<string instr_asm, RegisterClass RC, Operand Mem> :
|
||||
|
@ -635,6 +639,7 @@ class SubwordSwap<bits<6> func, bits<5> sa, string instr_asm, RegisterClass RC>:
|
|||
let rs = 0;
|
||||
let shamt = sa;
|
||||
let Predicates = [HasSwap];
|
||||
let neverHasSideEffects = 1;
|
||||
}
|
||||
|
||||
// Read Hardware
|
||||
|
|
Loading…
Reference in New Issue