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

Side by Side Diff: src/IceInstARM32.h

Issue 1156713003: Subzero ARM: lower alloca instruction. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: trailing space Created 5 years, 6 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 // This file declares the InstARM32 and OperandARM32 classes and 10 // This file declares the InstARM32 and OperandARM32 classes and
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 InstARM32() = delete; 245 InstARM32() = delete;
246 InstARM32(const InstARM32 &) = delete; 246 InstARM32(const InstARM32 &) = delete;
247 InstARM32 &operator=(const InstARM32 &) = delete; 247 InstARM32 &operator=(const InstARM32 &) = delete;
248 248
249 public: 249 public:
250 enum InstKindARM32 { 250 enum InstKindARM32 {
251 k__Start = Inst::Target, 251 k__Start = Inst::Target,
252 Adc, 252 Adc,
253 Add, 253 Add,
254 And, 254 And,
255 Bic,
255 Br, 256 Br,
256 Call, 257 Call,
257 Cmp, 258 Cmp,
258 Eor, 259 Eor,
259 Ldr, 260 Ldr,
260 Lsl, 261 Lsl,
261 Mla, 262 Mla,
262 Mov, 263 Mov,
263 Movt, 264 Movt,
264 Movw, 265 Movw,
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 addSource(Src2); 504 addSource(Src2);
504 } 505 }
505 ~InstARM32ThreeAddrGPR() override {} 506 ~InstARM32ThreeAddrGPR() override {}
506 static const char *Opcode; 507 static const char *Opcode;
507 bool SetFlags; 508 bool SetFlags;
508 }; 509 };
509 510
510 typedef InstARM32ThreeAddrGPR<InstARM32::Adc> InstARM32Adc; 511 typedef InstARM32ThreeAddrGPR<InstARM32::Adc> InstARM32Adc;
511 typedef InstARM32ThreeAddrGPR<InstARM32::Add> InstARM32Add; 512 typedef InstARM32ThreeAddrGPR<InstARM32::Add> InstARM32Add;
512 typedef InstARM32ThreeAddrGPR<InstARM32::And> InstARM32And; 513 typedef InstARM32ThreeAddrGPR<InstARM32::And> InstARM32And;
514 typedef InstARM32ThreeAddrGPR<InstARM32::Bic> InstARM32Bic;
513 typedef InstARM32ThreeAddrGPR<InstARM32::Eor> InstARM32Eor; 515 typedef InstARM32ThreeAddrGPR<InstARM32::Eor> InstARM32Eor;
514 typedef InstARM32ThreeAddrGPR<InstARM32::Lsl> InstARM32Lsl; 516 typedef InstARM32ThreeAddrGPR<InstARM32::Lsl> InstARM32Lsl;
515 typedef InstARM32ThreeAddrGPR<InstARM32::Mul> InstARM32Mul; 517 typedef InstARM32ThreeAddrGPR<InstARM32::Mul> InstARM32Mul;
516 typedef InstARM32ThreeAddrGPR<InstARM32::Orr> InstARM32Orr; 518 typedef InstARM32ThreeAddrGPR<InstARM32::Orr> InstARM32Orr;
517 typedef InstARM32ThreeAddrGPR<InstARM32::Sbc> InstARM32Sbc; 519 typedef InstARM32ThreeAddrGPR<InstARM32::Sbc> InstARM32Sbc;
518 typedef InstARM32ThreeAddrGPR<InstARM32::Sub> InstARM32Sub; 520 typedef InstARM32ThreeAddrGPR<InstARM32::Sub> InstARM32Sub;
519 // Move instruction (variable <- flex). This is more of a pseudo-inst. 521 // Move instruction (variable <- flex). This is more of a pseudo-inst.
520 // If var is a register, then we use "mov". If var is stack, then we use 522 // If var is a register, then we use "mov". If var is stack, then we use
521 // "str" to store to the stack. 523 // "str" to store to the stack.
522 typedef InstARM32Movlike<InstARM32::Mov> InstARM32Mov; 524 typedef InstARM32Movlike<InstARM32::Mov> InstARM32Mov;
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 // Declare partial template specializations of emit() methods that 740 // Declare partial template specializations of emit() methods that
739 // already have default implementations. Without this, there is the 741 // already have default implementations. Without this, there is the
740 // possibility of ODR violations and link errors. 742 // possibility of ODR violations and link errors.
741 743
742 template <> void InstARM32Movw::emit(const Cfg *Func) const; 744 template <> void InstARM32Movw::emit(const Cfg *Func) const;
743 template <> void InstARM32Movt::emit(const Cfg *Func) const; 745 template <> void InstARM32Movt::emit(const Cfg *Func) const;
744 746
745 } // end of namespace Ice 747 } // end of namespace Ice
746 748
747 #endif // SUBZERO_SRC_ICEINSTARM32_H 749 #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