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

Side by Side Diff: src/IceInstARM32.h

Issue 1670413002: Add NOP to ARM IR lowering. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix nits. Created 4 years, 10 months 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 | « no previous file | 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 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 Cmp, 390 Cmp,
391 Dmb, 391 Dmb,
392 Eor, 392 Eor,
393 Extract, 393 Extract,
394 Insert, 394 Insert,
395 Label, 395 Label,
396 Ldr, 396 Ldr,
397 Ldrex, 397 Ldrex,
398 Lsl, 398 Lsl,
399 Lsr, 399 Lsr,
400 Nop,
400 Mla, 401 Mla,
401 Mls, 402 Mls,
402 Mov, 403 Mov,
403 Movt, 404 Movt,
404 Movw, 405 Movw,
405 Mul, 406 Mul,
406 Mvn, 407 Mvn,
407 Orr, 408 Orr,
408 Pop, 409 Pop,
409 Push, 410 Push,
(...skipping 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after
1487 } 1488 }
1488 void emit(const Cfg *Func) const override; 1489 void emit(const Cfg *Func) const override;
1489 void emitIAS(const Cfg *Func) const override; 1490 void emitIAS(const Cfg *Func) const override;
1490 void dump(const Cfg *Func) const override; 1491 void dump(const Cfg *Func) const override;
1491 static bool classof(const Inst *Instr) { return isClassof(Instr, Dmb); } 1492 static bool classof(const Inst *Instr) { return isClassof(Instr, Dmb); }
1492 1493
1493 private: 1494 private:
1494 explicit InstARM32Dmb(Cfg *Func); 1495 explicit InstARM32Dmb(Cfg *Func);
1495 }; 1496 };
1496 1497
1498 class InstARM32Nop final : public InstARM32Pred {
1499 InstARM32Nop() = delete;
1500 InstARM32Nop(const InstARM32Nop &) = delete;
1501 InstARM32Nop &operator=(const InstARM32Nop &) = delete;
1502
1503 public:
1504 static InstARM32Nop *create(Cfg *Func) {
1505 return new (Func->allocate<InstARM32Nop>()) InstARM32Nop(Func);
1506 }
1507 void emit(const Cfg *Func) const override;
1508 void emitIAS(const Cfg *Func) const override;
1509 void dump(const Cfg *Func) const override;
1510 static bool classof(const Inst *Instr) { return isClassof(Instr, Nop); }
1511
1512 private:
1513 explicit InstARM32Nop(Cfg *Func);
1514 };
1515
1497 // Declare partial template specializations of emit() methods that already have 1516 // Declare partial template specializations of emit() methods that already have
1498 // default implementations. Without this, there is the possibility of ODR 1517 // default implementations. Without this, there is the possibility of ODR
1499 // violations and link errors. 1518 // violations and link errors.
1500 1519
1501 template <> void InstARM32Ldr::emit(const Cfg *Func) const; 1520 template <> void InstARM32Ldr::emit(const Cfg *Func) const;
1502 template <> void InstARM32Movw::emit(const Cfg *Func) const; 1521 template <> void InstARM32Movw::emit(const Cfg *Func) const;
1503 template <> void InstARM32Movt::emit(const Cfg *Func) const; 1522 template <> void InstARM32Movt::emit(const Cfg *Func) const;
1504 1523
1505 } // end of namespace ARM32 1524 } // end of namespace ARM32
1506 } // end of namespace Ice 1525 } // end of namespace Ice
1507 1526
1508 #endif // SUBZERO_SRC_ICEINSTARM32_H 1527 #endif // SUBZERO_SRC_ICEINSTARM32_H
OLDNEW
« no previous file with comments | « no previous file | src/IceInstARM32.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698