Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: src/IceInstARM32.h

Issue 1426513004: Fix ARM emit() methods to count instructions generated. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 Vmrs, 331 Vmrs,
332 Vmul, 332 Vmul,
333 Vsqrt, 333 Vsqrt,
334 Vsub 334 Vsub
335 }; 335 };
336 336
337 static const char *getWidthString(Type Ty); 337 static const char *getWidthString(Type Ty);
338 static const char *getVecWidthString(Type Ty); 338 static const char *getVecWidthString(Type Ty);
339 static CondARM32::Cond getOppositeCondition(CondARM32::Cond Cond); 339 static CondARM32::Cond getOppositeCondition(CondARM32::Cond Cond);
340 340
341 /// Called inside derived methods emit() to communicate that multiple
342 /// instructions are being generated. Used by emitIAS() methods to
343 /// generate textual fixups for instructions that are not yet
344 /// implemented.
345 void startNextInst(const Cfg *Func) const;
346
341 /// Shared emit routines for common forms of instructions. 347 /// Shared emit routines for common forms of instructions.
342 static void emitThreeAddrFP(const char *Opcode, const InstARM32 *Inst, 348 static void emitThreeAddrFP(const char *Opcode, const InstARM32 *Inst,
343 const Cfg *Func); 349 const Cfg *Func);
344 350
345 void dump(const Cfg *Func) const override; 351 void dump(const Cfg *Func) const override;
346 352
347 void emitIAS(const Cfg *Func) const override; 353 void emitIAS(const Cfg *Func) const override;
348 354
349 protected: 355 protected:
350 InstARM32(Cfg *Func, InstKindARM32 Kind, SizeT Maxsrcs, Variable *Dest) 356 InstARM32(Cfg *Func, InstKindARM32 Kind, SizeT Maxsrcs, Variable *Dest)
(...skipping 882 matching lines...) Expand 10 before | Expand all | Expand 10 after
1233 // default implementations. Without this, there is the possibility of ODR 1239 // default implementations. Without this, there is the possibility of ODR
1234 // violations and link errors. 1240 // violations and link errors.
1235 1241
1236 template <> void InstARM32Ldr::emit(const Cfg *Func) const; 1242 template <> void InstARM32Ldr::emit(const Cfg *Func) const;
1237 template <> void InstARM32Movw::emit(const Cfg *Func) const; 1243 template <> void InstARM32Movw::emit(const Cfg *Func) const;
1238 template <> void InstARM32Movt::emit(const Cfg *Func) const; 1244 template <> void InstARM32Movt::emit(const Cfg *Func) const;
1239 1245
1240 } // end of namespace Ice 1246 } // end of namespace Ice
1241 1247
1242 #endif // SUBZERO_SRC_ICEINSTARM32_H 1248 #endif // SUBZERO_SRC_ICEINSTARM32_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698