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

Side by Side Diff: src/IceInstX86Base.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/IceInst.cpp ('k') | src/IceOperand.h » ('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/IceInstX86Base.h - Generic x86 instructions -*- C++ -*--===// 1 //===- subzero/src/IceInstX86Base.h - Generic x86 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 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 InstX86Label(const InstX86Label &) = delete; 330 InstX86Label(const InstX86Label &) = delete;
331 InstX86Label &operator=(const InstX86Label &) = delete; 331 InstX86Label &operator=(const InstX86Label &) = delete;
332 332
333 public: 333 public:
334 static InstX86Label *create(Cfg *Func, TargetLowering *Target) { 334 static InstX86Label *create(Cfg *Func, TargetLowering *Target) {
335 return new (Func->allocate<InstX86Label>()) InstX86Label(Func, Target); 335 return new (Func->allocate<InstX86Label>()) InstX86Label(Func, Target);
336 } 336 }
337 uint32_t getEmitInstCount() const override { return 0; } 337 uint32_t getEmitInstCount() const override { return 0; }
338 GlobalString getLabelName() const { return Name; } 338 GlobalString getLabelName() const { return Name; }
339 SizeT getLabelNumber() const { return LabelNumber; } 339 SizeT getLabelNumber() const { return LabelNumber; }
340 bool isLabel() const override { return true; }
340 void emit(const Cfg *Func) const override; 341 void emit(const Cfg *Func) const override;
341 void emitIAS(const Cfg *Func) const override; 342 void emitIAS(const Cfg *Func) const override;
342 void dump(const Cfg *Func) const override; 343 void dump(const Cfg *Func) const override;
343 void setRelocOffset(RelocOffset *Value) { OffsetReloc = Value; } 344 void setRelocOffset(RelocOffset *Value) { OffsetReloc = Value; }
344 345
345 private: 346 private:
346 InstX86Label(Cfg *Func, TargetLowering *Target); 347 InstX86Label(Cfg *Func, TargetLowering *Target);
347 348
348 SizeT LabelNumber; // used for unique label generation. 349 SizeT LabelNumber; // used for unique label generation.
349 RelocOffset *OffsetReloc = nullptr; 350 RelocOffset *OffsetReloc = nullptr;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 ++Sum; 406 ++Sum;
406 if (getTargetTrue()) 407 if (getTargetTrue())
407 ++Sum; 408 ++Sum;
408 if (getTargetFalse()) 409 if (getTargetFalse())
409 ++Sum; 410 ++Sum;
410 return Sum; 411 return Sum;
411 } 412 }
412 bool isUnconditionalBranch() const override { 413 bool isUnconditionalBranch() const override {
413 return !Label && Condition == Cond::Br_None; 414 return !Label && Condition == Cond::Br_None;
414 } 415 }
416 const Inst *getIntraBlockBranchTarget() const override { return Label; }
415 bool repointEdges(CfgNode *OldNode, CfgNode *NewNode) override; 417 bool repointEdges(CfgNode *OldNode, CfgNode *NewNode) override;
416 void emit(const Cfg *Func) const override; 418 void emit(const Cfg *Func) const override;
417 void emitIAS(const Cfg *Func) const override; 419 void emitIAS(const Cfg *Func) const override;
418 void dump(const Cfg *Func) const override; 420 void dump(const Cfg *Func) const override;
419 static bool classof(const Inst *Instr) { 421 static bool classof(const Inst *Instr) {
420 return InstX86Base::isClassof(Instr, InstX86Base::Br); 422 return InstX86Base::isClassof(Instr, InstX86Base::Br);
421 } 423 }
422 424
423 private: 425 private:
424 InstX86Br(Cfg *Func, const CfgNode *TargetTrue, const CfgNode *TargetFalse, 426 InstX86Br(Cfg *Func, const CfgNode *TargetTrue, const CfgNode *TargetFalse,
(...skipping 3186 matching lines...) Expand 10 before | Expand all | Expand 10 after
3611 &InstImpl<TraitsType>::Assembler::punpckldq}; \ 3613 &InstImpl<TraitsType>::Assembler::punpckldq}; \
3612 } \ 3614 } \
3613 } 3615 }
3614 3616
3615 } // end of namespace X86NAMESPACE 3617 } // end of namespace X86NAMESPACE
3616 } // end of namespace Ice 3618 } // end of namespace Ice
3617 3619
3618 #include "IceInstX86BaseImpl.h" 3620 #include "IceInstX86BaseImpl.h"
3619 3621
3620 #endif // SUBZERO_SRC_ICEINSTX86BASE_H 3622 #endif // SUBZERO_SRC_ICEINSTX86BASE_H
OLDNEW
« no previous file with comments | « src/IceInst.cpp ('k') | src/IceOperand.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698