OLD | NEW |
1 //===- subzero/src/IceTargetLoweringX86Base.h - x86 lowering ----*- C++ -*-===// | 1 //===- subzero/src/IceTargetLoweringX86Base.h - x86 lowering ----*- 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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 return TypeToRegisterSet[RC]; | 81 return TypeToRegisterSet[RC]; |
82 } | 82 } |
83 | 83 |
84 const llvm::SmallBitVector &getAliasesForRegister(SizeT Reg) const override { | 84 const llvm::SmallBitVector &getAliasesForRegister(SizeT Reg) const override { |
85 assert(Reg < Traits::RegisterSet::Reg_NUM); | 85 assert(Reg < Traits::RegisterSet::Reg_NUM); |
86 return RegisterAliases[Reg]; | 86 return RegisterAliases[Reg]; |
87 } | 87 } |
88 | 88 |
89 bool hasFramePointer() const override { return IsEbpBasedFrame; } | 89 bool hasFramePointer() const override { return IsEbpBasedFrame; } |
90 void setHasFramePointer() override { IsEbpBasedFrame = true; } | 90 void setHasFramePointer() override { IsEbpBasedFrame = true; } |
91 SizeT getStackReg() const override { return Traits::RegisterSet::Reg_esp; } | 91 SizeT getStackReg() const override { return Traits::StackPtr; } |
92 SizeT getFrameReg() const override { return Traits::RegisterSet::Reg_ebp; } | 92 SizeT getFrameReg() const override { return Traits::FramePtr; } |
93 SizeT getFrameOrStackReg() const override { | 93 SizeT getFrameOrStackReg() const override { |
94 return IsEbpBasedFrame ? getFrameReg() : getStackReg(); | 94 return IsEbpBasedFrame ? getFrameReg() : getStackReg(); |
95 } | 95 } |
96 size_t typeWidthInBytesOnStack(Type Ty) const override { | 96 size_t typeWidthInBytesOnStack(Type Ty) const override { |
97 // Round up to the next multiple of WordType bytes. | 97 // Round up to the next multiple of WordType bytes. |
98 const uint32_t WordSizeInBytes = typeWidthInBytes(Traits::WordType); | 98 const uint32_t WordSizeInBytes = typeWidthInBytes(Traits::WordType); |
99 return Utils::applyAlignment(typeWidthInBytes(Ty), WordSizeInBytes); | 99 return Utils::applyAlignment(typeWidthInBytes(Ty), WordSizeInBytes); |
100 } | 100 } |
101 uint32_t getStackAlignment() const override { | 101 uint32_t getStackAlignment() const override { |
102 return Traits::X86_STACK_ALIGNMENT_BYTES; | 102 return Traits::X86_STACK_ALIGNMENT_BYTES; |
(...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
811 lowerIcmp64(const InstIcmp *Icmp, const Inst *Consumer); | 811 lowerIcmp64(const InstIcmp *Icmp, const Inst *Consumer); |
812 | 812 |
813 BoolFolding FoldingInfo; | 813 BoolFolding FoldingInfo; |
814 }; | 814 }; |
815 } // end of namespace X86Internal | 815 } // end of namespace X86Internal |
816 } // end of namespace Ice | 816 } // end of namespace Ice |
817 | 817 |
818 #include "IceTargetLoweringX86BaseImpl.h" | 818 #include "IceTargetLoweringX86BaseImpl.h" |
819 | 819 |
820 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASE_H | 820 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASE_H |
OLD | NEW |