OLD | NEW |
1 //===- subzero/src/IceInstARM32.h - ARM32 machine instructions --*- C++ -*-===// | 1 //===- subzero/src/IceInstARM32.h - ARM32 machine instructions --*- C++ -*-===// |
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 1291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1302 class InstARM32Dmb final : public InstARM32Pred { | 1302 class InstARM32Dmb final : public InstARM32Pred { |
1303 InstARM32Dmb() = delete; | 1303 InstARM32Dmb() = delete; |
1304 InstARM32Dmb(const InstARM32Dmb &) = delete; | 1304 InstARM32Dmb(const InstARM32Dmb &) = delete; |
1305 InstARM32Dmb &operator=(const InstARM32Dmb &) = delete; | 1305 InstARM32Dmb &operator=(const InstARM32Dmb &) = delete; |
1306 | 1306 |
1307 public: | 1307 public: |
1308 static InstARM32Dmb *create(Cfg *Func) { | 1308 static InstARM32Dmb *create(Cfg *Func) { |
1309 return new (Func->allocate<InstARM32Dmb>()) InstARM32Dmb(Func); | 1309 return new (Func->allocate<InstARM32Dmb>()) InstARM32Dmb(Func); |
1310 } | 1310 } |
1311 void emit(const Cfg *Func) const override; | 1311 void emit(const Cfg *Func) const override; |
| 1312 void emitIAS(const Cfg *Func) const override; |
1312 void dump(const Cfg *Func) const override; | 1313 void dump(const Cfg *Func) const override; |
1313 static bool classof(const Inst *Inst) { return isClassof(Inst, Dmb); } | 1314 static bool classof(const Inst *Inst) { return isClassof(Inst, Dmb); } |
1314 | 1315 |
1315 private: | 1316 private: |
1316 explicit InstARM32Dmb(Cfg *Func); | 1317 explicit InstARM32Dmb(Cfg *Func); |
1317 }; | 1318 }; |
1318 | 1319 |
1319 // Declare partial template specializations of emit() methods that already have | 1320 // Declare partial template specializations of emit() methods that already have |
1320 // default implementations. Without this, there is the possibility of ODR | 1321 // default implementations. Without this, there is the possibility of ODR |
1321 // violations and link errors. | 1322 // violations and link errors. |
1322 | 1323 |
1323 template <> void InstARM32Ldr::emit(const Cfg *Func) const; | 1324 template <> void InstARM32Ldr::emit(const Cfg *Func) const; |
1324 template <> void InstARM32Movw::emit(const Cfg *Func) const; | 1325 template <> void InstARM32Movw::emit(const Cfg *Func) const; |
1325 template <> void InstARM32Movt::emit(const Cfg *Func) const; | 1326 template <> void InstARM32Movt::emit(const Cfg *Func) const; |
1326 | 1327 |
1327 } // end of namespace Ice | 1328 } // end of namespace Ice |
1328 | 1329 |
1329 #endif // SUBZERO_SRC_ICEINSTARM32_H | 1330 #endif // SUBZERO_SRC_ICEINSTARM32_H |
OLD | NEW |