diff --git a/lib/Target/Mips/MipsInstrInfo.td b/lib/Target/Mips/MipsInstrInfo.td index bc85fa675d4..96f43313b65 100644 --- a/lib/Target/Mips/MipsInstrInfo.td +++ b/lib/Target/Mips/MipsInstrInfo.td @@ -365,6 +365,7 @@ class LoadUpper op, string instr_asm, RegisterClass RC, Operand Imm>: FI { let rs = 0; + let neverHasSideEffects = 1; } class FMem op, dag outs, dag ins, string asmstr, list pattern, @@ -555,6 +556,7 @@ class Mult func, string instr_asm, InstrItinClass itin, let shamt = 0; let isCommutable = 1; let Defs = DefRegs; + let neverHasSideEffects = 1; } class Mult32 func, string instr_asm, InstrItinClass itin>: @@ -582,6 +584,7 @@ class MoveFromLOHI func, string instr_asm, RegisterClass RC, let rt = 0; let shamt = 0; let Uses = UseRegs; + let neverHasSideEffects = 1; } class MoveToLOHI func, string instr_asm, RegisterClass RC, @@ -592,6 +595,7 @@ class MoveToLOHI func, string instr_asm, RegisterClass RC, let rd = 0; let shamt = 0; let Defs = DefRegs; + let neverHasSideEffects = 1; } class EffectiveAddress : @@ -635,6 +639,7 @@ class SubwordSwap func, bits<5> sa, string instr_asm, RegisterClass RC>: let rs = 0; let shamt = sa; let Predicates = [HasSwap]; + let neverHasSideEffects = 1; } // Read Hardware