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

Side by Side Diff: src/IceOperand.h

Issue 696383004: Disable Subzero IR generation for performance testing. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix nits. Created 6 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/IceGlobalContext.h ('k') | src/PNaClTranslator.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/IceOperand.h - High-level operands -----------*- C++ -*-===// 1 //===- subzero/src/IceOperand.h - High-level operands -----------*- 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 Operand class and its target-independent 10 // This file declares the Operand class and its target-independent
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 130
131 // ConstantPrimitive<> wraps a primitive type. 131 // ConstantPrimitive<> wraps a primitive type.
132 template <typename T, Operand::OperandKind K> 132 template <typename T, Operand::OperandKind K>
133 class ConstantPrimitive : public Constant { 133 class ConstantPrimitive : public Constant {
134 ConstantPrimitive(const ConstantPrimitive &) = delete; 134 ConstantPrimitive(const ConstantPrimitive &) = delete;
135 ConstantPrimitive &operator=(const ConstantPrimitive &) = delete; 135 ConstantPrimitive &operator=(const ConstantPrimitive &) = delete;
136 136
137 public: 137 public:
138 static ConstantPrimitive *create(GlobalContext *Ctx, Type Ty, T Value, 138 static ConstantPrimitive *create(GlobalContext *Ctx, Type Ty, T Value,
139 uint32_t PoolEntryID) { 139 uint32_t PoolEntryID) {
140 assert(!Ctx->isIRGenerationDisabled() &&
141 "Attempt to build primitive constant when IR generation disabled");
140 return new (Ctx->allocate<ConstantPrimitive>()) 142 return new (Ctx->allocate<ConstantPrimitive>())
141 ConstantPrimitive(Ty, Value, PoolEntryID); 143 ConstantPrimitive(Ty, Value, PoolEntryID);
142 } 144 }
143 T getValue() const { return Value; } 145 T getValue() const { return Value; }
144 using Constant::emit; 146 using Constant::emit;
145 // The target needs to implement this for each ConstantPrimitive 147 // The target needs to implement this for each ConstantPrimitive
146 // specialization. 148 // specialization.
147 void emit(GlobalContext *Ctx) const override; 149 void emit(GlobalContext *Ctx) const override;
148 using Constant::dump; 150 using Constant::dump;
149 void dump(const Cfg *, Ostream &Str) const override { Str << getValue(); } 151 void dump(const Cfg *, Ostream &Str) const override { Str << getValue(); }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 // ConstantRelocatable represents a symbolic constant combined with 201 // ConstantRelocatable represents a symbolic constant combined with
200 // a fixed offset. 202 // a fixed offset.
201 class ConstantRelocatable : public Constant { 203 class ConstantRelocatable : public Constant {
202 ConstantRelocatable(const ConstantRelocatable &) = delete; 204 ConstantRelocatable(const ConstantRelocatable &) = delete;
203 ConstantRelocatable &operator=(const ConstantRelocatable &) = delete; 205 ConstantRelocatable &operator=(const ConstantRelocatable &) = delete;
204 206
205 public: 207 public:
206 static ConstantRelocatable *create(GlobalContext *Ctx, Type Ty, 208 static ConstantRelocatable *create(GlobalContext *Ctx, Type Ty,
207 const RelocatableTuple &Tuple, 209 const RelocatableTuple &Tuple,
208 uint32_t PoolEntryID) { 210 uint32_t PoolEntryID) {
211 assert(!Ctx->isIRGenerationDisabled() &&
212 "Attempt to build relocatable constant when IR generation disabled");
209 return new (Ctx->allocate<ConstantRelocatable>()) ConstantRelocatable( 213 return new (Ctx->allocate<ConstantRelocatable>()) ConstantRelocatable(
210 Ty, Tuple.Offset, Tuple.Name, Tuple.SuppressMangling, PoolEntryID); 214 Ty, Tuple.Offset, Tuple.Name, Tuple.SuppressMangling, PoolEntryID);
211 } 215 }
212 216
213 RelocOffsetT getOffset() const { return Offset; } 217 RelocOffsetT getOffset() const { return Offset; }
214 IceString getName() const { return Name; } 218 IceString getName() const { return Name; }
215 void setSuppressMangling(bool Value) { SuppressMangling = Value; } 219 void setSuppressMangling(bool Value) { SuppressMangling = Value; }
216 bool getSuppressMangling() const { return SuppressMangling; } 220 bool getSuppressMangling() const { return SuppressMangling; }
217 using Constant::emit; 221 using Constant::emit;
218 using Constant::dump; 222 using Constant::dump;
(...skipping 20 matching lines...) Expand all
239 // ConstantUndef represents an unspecified bit pattern. Although it is 243 // ConstantUndef represents an unspecified bit pattern. Although it is
240 // legal to lower ConstantUndef to any value, backends should try to 244 // legal to lower ConstantUndef to any value, backends should try to
241 // make code generation deterministic by lowering ConstantUndefs to 0. 245 // make code generation deterministic by lowering ConstantUndefs to 0.
242 class ConstantUndef : public Constant { 246 class ConstantUndef : public Constant {
243 ConstantUndef(const ConstantUndef &) = delete; 247 ConstantUndef(const ConstantUndef &) = delete;
244 ConstantUndef &operator=(const ConstantUndef &) = delete; 248 ConstantUndef &operator=(const ConstantUndef &) = delete;
245 249
246 public: 250 public:
247 static ConstantUndef *create(GlobalContext *Ctx, Type Ty, 251 static ConstantUndef *create(GlobalContext *Ctx, Type Ty,
248 uint32_t PoolEntryID) { 252 uint32_t PoolEntryID) {
253 assert(!Ctx->isIRGenerationDisabled() &&
254 "Attempt to build undefined constant when IR generation disabled");
249 return new (Ctx->allocate<ConstantUndef>()) ConstantUndef(Ty, PoolEntryID); 255 return new (Ctx->allocate<ConstantUndef>()) ConstantUndef(Ty, PoolEntryID);
250 } 256 }
251 257
252 using Constant::emit; 258 using Constant::emit;
253 using Constant::dump; 259 using Constant::dump;
254 // The target needs to implement this. 260 // The target needs to implement this.
255 void emit(GlobalContext *Ctx) const override; 261 void emit(GlobalContext *Ctx) const override;
256 void dump(const Cfg *, Ostream &Str) const override { Str << "undef"; } 262 void dump(const Cfg *, Ostream &Str) const override { Str << "undef"; }
257 263
258 static bool classof(const Operand *Operand) { 264 static bool classof(const Operand *Operand) {
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 private: 633 private:
628 const Cfg *Func; 634 const Cfg *Func;
629 MetadataKind Kind; 635 MetadataKind Kind;
630 std::vector<VariableTracking> Metadata; 636 std::vector<VariableTracking> Metadata;
631 const static InstDefList NoDefinitions; 637 const static InstDefList NoDefinitions;
632 }; 638 };
633 639
634 } // end of namespace Ice 640 } // end of namespace Ice
635 641
636 #endif // SUBZERO_SRC_ICEOPERAND_H 642 #endif // SUBZERO_SRC_ICEOPERAND_H
OLDNEW
« no previous file with comments | « src/IceGlobalContext.h ('k') | src/PNaClTranslator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698