| Index: src/IceTargetLoweringMIPS32.h
|
| diff --git a/src/IceTargetLoweringMIPS32.h b/src/IceTargetLoweringMIPS32.h
|
| index 72fc1cd72414d3e3d67e2c00bd5f5d8614d22289..d7027b121f53a5d98a87b4fadb4cb8d610c0a57e 100644
|
| --- a/src/IceTargetLoweringMIPS32.h
|
| +++ b/src/IceTargetLoweringMIPS32.h
|
| @@ -365,6 +365,21 @@ public:
|
| }
|
| }
|
|
|
| + void _mov_redefined(Variable *Dest, Operand *Src0, Operand *Src1 = nullptr) {
|
| + if (llvm::isa<ConstantRelocatable>(Src0)) {
|
| + Context.insert<InstMIPS32La>(Dest, Src0);
|
| + } else {
|
| + auto *Instr = Context.insert<InstMIPS32Mov>(Dest, Src0, Src1);
|
| + Instr->setDestRedefined();
|
| + if (Instr->getDestHi() != nullptr) {
|
| + // If Instr is multi-dest, then Dest must be a Variable64On32. We add a
|
| + // fake-def for Instr.DestHi here.
|
| + assert(llvm::isa<Variable64On32>(Dest));
|
| + Context.insert<InstFakeDef>(Instr->getDestHi());
|
| + }
|
| + }
|
| + }
|
| +
|
| void _mov_d(Variable *Dest, Variable *Src) {
|
| Context.insert<InstMIPS32Mov_d>(Dest, Src);
|
| }
|
|
|