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

Side by Side Diff: src/IceTargetLowering.h

Issue 2177033002: Subzero: Local variable splitting. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Code review changes, mostly renaming. Created 4 years, 4 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 | « src/IceOperand.cpp ('k') | src/IceTargetLowering.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/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 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 virtual void emit(const ConstantUndef *C) const = 0; 314 virtual void emit(const ConstantUndef *C) const = 0;
315 virtual void emit(const ConstantRelocatable *CR) const = 0; 315 virtual void emit(const ConstantRelocatable *CR) const = 0;
316 316
317 /// Performs target-specific argument lowering. 317 /// Performs target-specific argument lowering.
318 virtual void lowerArguments() = 0; 318 virtual void lowerArguments() = 0;
319 319
320 virtual void initNodeForLowering(CfgNode *) {} 320 virtual void initNodeForLowering(CfgNode *) {}
321 virtual void addProlog(CfgNode *Node) = 0; 321 virtual void addProlog(CfgNode *Node) = 0;
322 virtual void addEpilog(CfgNode *Node) = 0; 322 virtual void addEpilog(CfgNode *Node) = 0;
323 323
324 /// Create a properly-typed "mov" instruction. This is primarily for local
325 /// variable splitting.
326 virtual Inst *createLoweredMove(Variable *Dest, Variable *SrcVar) {
327 // TODO(stichnot): make pure virtual by implementing for all targets
328 (void)Dest;
329 (void)SrcVar;
330 llvm::report_fatal_error("createLoweredMove() unimplemented");
331 return nullptr;
332 }
333
324 virtual ~TargetLowering() = default; 334 virtual ~TargetLowering() = default;
325 335
326 private: 336 private:
327 // This control variable is used by AutoBundle (RAII-style bundle 337 // This control variable is used by AutoBundle (RAII-style bundle
328 // locking/unlocking) to prevent nested bundles. 338 // locking/unlocking) to prevent nested bundles.
329 bool AutoBundling = false; 339 bool AutoBundling = false;
330 340
331 /// This indicates whether we are in the genTargetHelperCalls phase, and 341 /// This indicates whether we are in the genTargetHelperCalls phase, and
332 /// therefore can do things like scalarization. 342 /// therefore can do things like scalarization.
333 bool GeneratingTargetHelpers = false; 343 bool GeneratingTargetHelpers = false;
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 virtual void lower() {} 631 virtual void lower() {}
622 632
623 protected: 633 protected:
624 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} 634 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {}
625 GlobalContext *Ctx; 635 GlobalContext *Ctx;
626 }; 636 };
627 637
628 } // end of namespace Ice 638 } // end of namespace Ice
629 639
630 #endif // SUBZERO_SRC_ICETARGETLOWERING_H 640 #endif // SUBZERO_SRC_ICETARGETLOWERING_H
OLDNEW
« no previous file with comments | « src/IceOperand.cpp ('k') | src/IceTargetLowering.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698