Chromium Code Reviews| Index: src/IceInstARM32.cpp |
| diff --git a/src/IceInstARM32.cpp b/src/IceInstARM32.cpp |
| index 6b9c5a0ab545e4fb4f66b07bfa0f88bac954a908..025f71fb8daccd6882ba825247794c853a28b145 100644 |
| --- a/src/IceInstARM32.cpp |
| +++ b/src/IceInstARM32.cpp |
| @@ -1094,6 +1094,9 @@ InstARM32Vabs::InstARM32Vabs(Cfg *Func, Variable *Dest, Variable *Src, |
| InstARM32Dmb::InstARM32Dmb(Cfg *Func) |
| : InstARM32Pred(Func, InstARM32::Dmb, 0, nullptr, CondARM32::AL) {} |
| +InstARM32Nop::InstARM32Nop(Cfg *Func) |
|
Jim Stichnoth
2016/02/08 18:17:50
Should nop (and dmb above) be inserted into the li
Karl
2016/02/09 21:10:01
Really? Where do you see sorting? For the most par
|
| + : InstARM32Pred(Func, InstARM32::Nop, 0, nullptr, CondARM32::AL) {} |
| + |
| // ======================== Dump routines ======================== // |
| // Two-addr ops |
| @@ -2298,6 +2301,27 @@ void InstARM32Dmb::dump(const Cfg *Func) const { |
| "sy"; |
| } |
| +void InstARM32Nop::emit(const Cfg *Func) const { |
| + if (!BuildDefs::dump()) |
| + return; |
| + assert(getSrcSize() == 0); |
| + Func->getContext()->getStrEmit() << "\t" |
| + << "nop"; |
| +} |
| + |
| +void InstARM32Nop::emitIAS(const Cfg *Func) const { |
| + assert(getSrcSize() == 0); |
| + Func->getAssembler<ARM32::AssemblerARM32>()->nop(); |
| +} |
| + |
| +void InstARM32Nop::dump(const Cfg *Func) const { |
| + if (!BuildDefs::dump()) |
| + return; |
| + assert(getSrcSize() == 0); |
| + Func->getContext()->getStrDump() << "\t" |
|
Jim Stichnoth
2016/02/08 18:17:50
dump() doesn't usually prepend a tab character.
Karl
2016/02/09 21:10:01
Done.
|
| + << "nop"; |
| +} |
| + |
| void OperandARM32Mem::emit(const Cfg *Func) const { |
| if (!BuildDefs::dump()) |
| return; |