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

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: Fix nits. 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
« no previous file with comments | « src/IceAssemblerARM32.cpp ('k') | src/IceInstARM32.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 Vadd, 327 Vadd,
328 Vcmp, 328 Vcmp,
329 Vcvt, 329 Vcvt,
330 Vdiv, 330 Vdiv,
331 Vmrs, 331 Vmrs,
332 Vmul, 332 Vmul,
333 Vsqrt, 333 Vsqrt,
334 Vsub 334 Vsub
335 }; 335 };
336 336
337 static constexpr size_t InstSize = sizeof(uint32_t);
338
337 static const char *getWidthString(Type Ty); 339 static const char *getWidthString(Type Ty);
338 static const char *getVecWidthString(Type Ty); 340 static const char *getVecWidthString(Type Ty);
339 static CondARM32::Cond getOppositeCondition(CondARM32::Cond Cond); 341 static CondARM32::Cond getOppositeCondition(CondARM32::Cond Cond);
340 342
343 /// Called inside derived methods emit() to communicate that multiple
344 /// instructions are being generated. Used by emitIAS() methods to
345 /// generate textual fixups for instructions that are not yet
346 /// implemented.
347 void startNextInst(const Cfg *Func) const;
348
341 /// Shared emit routines for common forms of instructions. 349 /// Shared emit routines for common forms of instructions.
342 static void emitThreeAddrFP(const char *Opcode, const InstARM32 *Inst, 350 static void emitThreeAddrFP(const char *Opcode, const InstARM32 *Inst,
343 const Cfg *Func); 351 const Cfg *Func);
344 352
345 void dump(const Cfg *Func) const override; 353 void dump(const Cfg *Func) const override;
346 354
347 void emitIAS(const Cfg *Func) const override; 355 void emitIAS(const Cfg *Func) const override;
348 356
349 protected: 357 protected:
350 InstARM32(Cfg *Func, InstKindARM32 Kind, SizeT Maxsrcs, Variable *Dest) 358 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 1241 // default implementations. Without this, there is the possibility of ODR
1234 // violations and link errors. 1242 // violations and link errors.
1235 1243
1236 template <> void InstARM32Ldr::emit(const Cfg *Func) const; 1244 template <> void InstARM32Ldr::emit(const Cfg *Func) const;
1237 template <> void InstARM32Movw::emit(const Cfg *Func) const; 1245 template <> void InstARM32Movw::emit(const Cfg *Func) const;
1238 template <> void InstARM32Movt::emit(const Cfg *Func) const; 1246 template <> void InstARM32Movt::emit(const Cfg *Func) const;
1239 1247
1240 } // end of namespace Ice 1248 } // end of namespace Ice
1241 1249
1242 #endif // SUBZERO_SRC_ICEINSTARM32_H 1250 #endif // SUBZERO_SRC_ICEINSTARM32_H
OLDNEW
« no previous file with comments | « src/IceAssemblerARM32.cpp ('k') | src/IceInstARM32.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698