| OLD | NEW | 
|---|
| 1 //===- subzero/src/IceInstMips32.cpp - Mips32 instruction implementation --===// | 1 //===- subzero/src/IceInstMips32.cpp - Mips32 instruction implementation --===// | 
| 2 // | 2 // | 
| 3 //                        The Subzero Code Generator | 3 //                        The Subzero Code Generator | 
| 4 // | 4 // | 
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source | 
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. | 
| 7 // | 7 // | 
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// | 
| 9 // | 9 // | 
| 10 /// \file | 10 /// \file | 
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 132 | 132 | 
| 133 void InstMIPS32Ret::emit(const Cfg *Func) const { | 133 void InstMIPS32Ret::emit(const Cfg *Func) const { | 
| 134   if (!BuildDefs::dump()) | 134   if (!BuildDefs::dump()) | 
| 135     return; | 135     return; | 
| 136   assert(getSrcSize() > 0); | 136   assert(getSrcSize() > 0); | 
| 137   auto *RA = llvm::cast<Variable>(getSrc(0)); | 137   auto *RA = llvm::cast<Variable>(getSrc(0)); | 
| 138   assert(RA->hasReg()); | 138   assert(RA->hasReg()); | 
| 139   assert(RA->getRegNum() == RegMIPS32::Reg_RA); | 139   assert(RA->getRegNum() == RegMIPS32::Reg_RA); | 
| 140   Ostream &Str = Func->getContext()->getStrEmit(); | 140   Ostream &Str = Func->getContext()->getStrEmit(); | 
| 141   Str << "\t" | 141   Str << "\t" | 
| 142       << "jr" | 142          "jr" | 
| 143       << "\t"; | 143          "\t"; | 
| 144   RA->emit(Func); | 144   RA->emit(Func); | 
| 145 } | 145 } | 
| 146 | 146 | 
| 147 void InstMIPS32Ret::emitIAS(const Cfg *Func) const { | 147 void InstMIPS32Ret::emitIAS(const Cfg *Func) const { | 
| 148   (void)Func; | 148   (void)Func; | 
| 149   llvm_unreachable("Not yet implemented"); | 149   llvm_unreachable("Not yet implemented"); | 
| 150 } | 150 } | 
| 151 | 151 | 
| 152 void InstMIPS32Ret::dump(const Cfg *Func) const { | 152 void InstMIPS32Ret::dump(const Cfg *Func) const { | 
| 153   if (!BuildDefs::dump()) | 153   if (!BuildDefs::dump()) | 
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 251   Operand *Src = getSrc(0); | 251   Operand *Src = getSrc(0); | 
| 252   auto *S = llvm::dyn_cast<Variable>(Src); | 252   auto *S = llvm::dyn_cast<Variable>(Src); | 
| 253   Str << "\t"; | 253   Str << "\t"; | 
| 254   if (Dest->hasReg()) { | 254   if (Dest->hasReg()) { | 
| 255     if (S && S->hasReg()) | 255     if (S && S->hasReg()) | 
| 256       Str << "move"; | 256       Str << "move"; | 
| 257     else | 257     else | 
| 258       Str << "lw"; | 258       Str << "lw"; | 
| 259   } else { | 259   } else { | 
| 260     if (S && S->hasReg()) { | 260     if (S && S->hasReg()) { | 
| 261       Str << "sw"; | 261       Str << "sw" | 
| 262       Str << "\t"; | 262              "\t"; | 
| 263       getSrc(0)->emit(Func); | 263       getSrc(0)->emit(Func); | 
| 264       Str << ", "; | 264       Str << ", "; | 
| 265       getDest()->emit(Func); | 265       getDest()->emit(Func); | 
| 266       return; | 266       return; | 
| 267     } else | 267     } else | 
| 268       Str << "move"; | 268       Str << "move"; | 
| 269   } | 269   } | 
| 270 | 270 | 
| 271   Str << "\t"; | 271   Str << "\t"; | 
| 272   getDest()->emit(Func); | 272   getDest()->emit(Func); | 
| 273   Str << ", "; | 273   Str << ", "; | 
| 274   getSrc(0)->emit(Func); | 274   getSrc(0)->emit(Func); | 
| 275 } | 275 } | 
| 276 | 276 | 
| 277 } // end of namespace Ice | 277 } // end of namespace Ice | 
| OLD | NEW | 
|---|