| Index: src/IceInstARM32.h
|
| diff --git a/src/IceInstARM32.h b/src/IceInstARM32.h
|
| index a2aba571a8497fe81f2bed87eadead279039af18..13eb5c60a34afcf35057a73c1efec2881f8de8d2 100644
|
| --- a/src/IceInstARM32.h
|
| +++ b/src/IceInstARM32.h
|
| @@ -428,6 +428,8 @@ public:
|
| static const char *getVecWidthString(Type Ty);
|
| static CondARM32::Cond getOppositeCondition(CondARM32::Cond Cond);
|
|
|
| + template <AssemblyOutputForm> void startNextAsmInst(const Cfg *Func) const;
|
| +
|
| /// Called inside derived methods emit() to communicate that multiple
|
| /// instructions are being generated. Used by emitIAS() methods to
|
| /// generate textual fixups for instructions that are not yet
|
| @@ -1065,8 +1067,11 @@ public:
|
| static InstARM32Pop *create(Cfg *Func, const VarList &Dests) {
|
| return new (Func->allocate<InstARM32Pop>()) InstARM32Pop(Func, Dests);
|
| }
|
| - void emit(const Cfg *Func) const override;
|
| - void emitIAS(const Cfg *Func) const override;
|
| + void emit(const Cfg *Func) const override { assemble<TextualAssembly>(Func); }
|
| + void emitIAS(const Cfg *Func) const override {
|
| + assemble<BinaryAssembly>(Func);
|
| + }
|
| + template <AssemblyOutputForm> void assemble(const Cfg *Func) const;
|
| void dump(const Cfg *Func) const override;
|
| static bool classof(const Inst *Inst) { return isClassof(Inst, Pop); }
|
|
|
| @@ -1087,8 +1092,11 @@ public:
|
| static InstARM32Push *create(Cfg *Func, const VarList &Srcs) {
|
| return new (Func->allocate<InstARM32Push>()) InstARM32Push(Func, Srcs);
|
| }
|
| - void emit(const Cfg *Func) const override;
|
| - void emitIAS(const Cfg *Func) const override;
|
| + void emit(const Cfg *Func) const override { assemble<TextualAssembly>(Func); }
|
| + void emitIAS(const Cfg *Func) const override {
|
| + assemble<BinaryAssembly>(Func);
|
| + }
|
| + template <AssemblyOutputForm> void assemble(const Cfg *Func) const;
|
| void dump(const Cfg *Func) const override;
|
| static bool classof(const Inst *Inst) { return isClassof(Inst, Push); }
|
|
|
|
|