| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |