| 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 519 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 530   InstARM32LoadBase(const InstARM32LoadBase &) = delete; | 530   InstARM32LoadBase(const InstARM32LoadBase &) = delete; | 
| 531   InstARM32LoadBase &operator=(const InstARM32LoadBase &) = delete; | 531   InstARM32LoadBase &operator=(const InstARM32LoadBase &) = delete; | 
| 532 | 532 | 
| 533 public: | 533 public: | 
| 534   static InstARM32LoadBase *create(Cfg *Func, Variable *Dest, Operand *Source, | 534   static InstARM32LoadBase *create(Cfg *Func, Variable *Dest, Operand *Source, | 
| 535                                    CondARM32::Cond Predicate) { | 535                                    CondARM32::Cond Predicate) { | 
| 536     return new (Func->allocate<InstARM32LoadBase>()) | 536     return new (Func->allocate<InstARM32LoadBase>()) | 
| 537         InstARM32LoadBase(Func, Dest, Source, Predicate); | 537         InstARM32LoadBase(Func, Dest, Source, Predicate); | 
| 538   } | 538   } | 
| 539   void emit(const Cfg *Func) const override; | 539   void emit(const Cfg *Func) const override; | 
|  | 540   void emitIAS(const Cfg *Func) const override; | 
| 540   void dump(const Cfg *Func) const override { | 541   void dump(const Cfg *Func) const override { | 
| 541     if (!BuildDefs::dump()) | 542     if (!BuildDefs::dump()) | 
| 542       return; | 543       return; | 
| 543     Ostream &Str = Func->getContext()->getStrDump(); | 544     Ostream &Str = Func->getContext()->getStrDump(); | 
| 544     dumpOpcodePred(Str, Opcode, getDest()->getType()); | 545     dumpOpcodePred(Str, Opcode, getDest()->getType()); | 
| 545     Str << " "; | 546     Str << " "; | 
| 546     dumpDest(Func); | 547     dumpDest(Func); | 
| 547     Str << ", "; | 548     Str << ", "; | 
| 548     dumpSources(Func); | 549     dumpSources(Func); | 
| 549   } | 550   } | 
| (...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1000   InstARM32Str &operator=(const InstARM32Str &) = delete; | 1001   InstARM32Str &operator=(const InstARM32Str &) = delete; | 
| 1001 | 1002 | 
| 1002 public: | 1003 public: | 
| 1003   /// Value must be a register. | 1004   /// Value must be a register. | 
| 1004   static InstARM32Str *create(Cfg *Func, Variable *Value, OperandARM32Mem *Mem, | 1005   static InstARM32Str *create(Cfg *Func, Variable *Value, OperandARM32Mem *Mem, | 
| 1005                               CondARM32::Cond Predicate) { | 1006                               CondARM32::Cond Predicate) { | 
| 1006     return new (Func->allocate<InstARM32Str>()) | 1007     return new (Func->allocate<InstARM32Str>()) | 
| 1007         InstARM32Str(Func, Value, Mem, Predicate); | 1008         InstARM32Str(Func, Value, Mem, Predicate); | 
| 1008   } | 1009   } | 
| 1009   void emit(const Cfg *Func) const override; | 1010   void emit(const Cfg *Func) const override; | 
|  | 1011   void emitIAS(const Cfg *Func) const override; | 
| 1010   void dump(const Cfg *Func) const override; | 1012   void dump(const Cfg *Func) const override; | 
| 1011   static bool classof(const Inst *Inst) { return isClassof(Inst, Str); } | 1013   static bool classof(const Inst *Inst) { return isClassof(Inst, Str); } | 
| 1012 | 1014 | 
| 1013 private: | 1015 private: | 
| 1014   InstARM32Str(Cfg *Func, Variable *Value, OperandARM32Mem *Mem, | 1016   InstARM32Str(Cfg *Func, Variable *Value, OperandARM32Mem *Mem, | 
| 1015                CondARM32::Cond Predicate); | 1017                CondARM32::Cond Predicate); | 
| 1016 }; | 1018 }; | 
| 1017 | 1019 | 
| 1018 /// Exclusive Store instruction. Like its non-exclusive sibling, it's important | 1020 /// Exclusive Store instruction. Like its non-exclusive sibling, it's important | 
| 1019 /// for liveness that there is no Dest operand (OperandARM32Mem instead of Dest | 1021 /// for liveness that there is no Dest operand (OperandARM32Mem instead of Dest | 
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1229 // default implementations. Without this, there is the possibility of ODR | 1231 // default implementations. Without this, there is the possibility of ODR | 
| 1230 // violations and link errors. | 1232 // violations and link errors. | 
| 1231 | 1233 | 
| 1232 template <> void InstARM32Ldr::emit(const Cfg *Func) const; | 1234 template <> void InstARM32Ldr::emit(const Cfg *Func) const; | 
| 1233 template <> void InstARM32Movw::emit(const Cfg *Func) const; | 1235 template <> void InstARM32Movw::emit(const Cfg *Func) const; | 
| 1234 template <> void InstARM32Movt::emit(const Cfg *Func) const; | 1236 template <> void InstARM32Movt::emit(const Cfg *Func) const; | 
| 1235 | 1237 | 
| 1236 } // end of namespace Ice | 1238 } // end of namespace Ice | 
| 1237 | 1239 | 
| 1238 #endif // SUBZERO_SRC_ICEINSTARM32_H | 1240 #endif // SUBZERO_SRC_ICEINSTARM32_H | 
| OLD | NEW | 
|---|