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

Side by Side Diff: src/IceTargetLowering.h

Issue 1234803007: Introduction of improved switch lowering. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: CL feedback Created 5 years, 5 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
OLDNEW
1 //===- subzero/src/IceTargetLowering.h - Lowering interface -----*- C++ -*-===// 1 //===- subzero/src/IceTargetLowering.h - Lowering interface -----*- 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 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 /// emission needs multiple passes, such as sandboxing or relaxation. 201 /// emission needs multiple passes, such as sandboxing or relaxation.
202 /// Subclasses may provide their own implementation, but should be 202 /// Subclasses may provide their own implementation, but should be
203 /// sure to also call the parent class's methods. 203 /// sure to also call the parent class's methods.
204 virtual void snapshotEmitState() { 204 virtual void snapshotEmitState() {
205 SnapshotStackAdjustment = StackAdjustment; 205 SnapshotStackAdjustment = StackAdjustment;
206 } 206 }
207 virtual void rollbackEmitState() { 207 virtual void rollbackEmitState() {
208 StackAdjustment = SnapshotStackAdjustment; 208 StackAdjustment = SnapshotStackAdjustment;
209 } 209 }
210 210
211 /// Get the minimum number of clusters required for a jump table to be
212 /// considered.
213 virtual SizeT getMinJumpTableSize() const = 0;
214
211 virtual void emitVariable(const Variable *Var) const = 0; 215 virtual void emitVariable(const Variable *Var) const = 0;
212 216
213 void emitWithoutPrefix(const ConstantRelocatable *CR) const; 217 void emitWithoutPrefix(const ConstantRelocatable *CR) const;
214 void emit(const ConstantRelocatable *CR) const; 218 void emit(const ConstantRelocatable *CR) const;
215 virtual const char *getConstantPrefix() const = 0; 219 virtual const char *getConstantPrefix() const = 0;
216 220
217 virtual void emit(const ConstantUndef *C) const = 0; 221 virtual void emit(const ConstantUndef *C) const = 0;
218 virtual void emit(const ConstantInteger32 *C) const = 0; 222 virtual void emit(const ConstantInteger32 *C) const = 0;
219 virtual void emit(const ConstantInteger64 *C) const = 0; 223 virtual void emit(const ConstantInteger64 *C) const = 0;
220 virtual void emit(const ConstantFloat *C) const = 0; 224 virtual void emit(const ConstantFloat *C) const = 0;
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 virtual void lower() {} 426 virtual void lower() {}
423 427
424 protected: 428 protected:
425 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} 429 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {}
426 GlobalContext *Ctx; 430 GlobalContext *Ctx;
427 }; 431 };
428 432
429 } // end of namespace Ice 433 } // end of namespace Ice
430 434
431 #endif // SUBZERO_SRC_ICETARGETLOWERING_H 435 #endif // SUBZERO_SRC_ICETARGETLOWERING_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698