OLD | NEW |
1 //===- subzero/src/IceAssemblerX86Base.h - base x86 assembler -*- C++ -*---===// | 1 //===- subzero/src/IceAssemblerX86Base.h - base x86 assembler -*- C++ -*---===// |
2 // | 2 // |
3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
4 // for details. All rights reserved. Use of this source code is governed by a | 4 // for details. All rights reserved. Use of this source code is governed by a |
5 // BSD-style license that can be found in the LICENSE file. | 5 // BSD-style license that can be found in the LICENSE file. |
6 // | 6 // |
7 // Modified by the Subzero authors. | 7 // Modified by the Subzero authors. |
8 // | 8 // |
9 //===----------------------------------------------------------------------===// | 9 //===----------------------------------------------------------------------===// |
10 // | 10 // |
(...skipping 149 matching lines...) Loading... |
160 } | 160 } |
161 if (Padding) | 161 if (Padding) |
162 nop(Padding); | 162 nop(Padding); |
163 } | 163 } |
164 | 164 |
165 Ice::Label *getCfgNodeLabel(SizeT NodeNumber) override; | 165 Ice::Label *getCfgNodeLabel(SizeT NodeNumber) override; |
166 void bindCfgNodeLabel(const CfgNode *Node) override; | 166 void bindCfgNodeLabel(const CfgNode *Node) override; |
167 Label *getOrCreateCfgNodeLabel(SizeT Number); | 167 Label *getOrCreateCfgNodeLabel(SizeT Number); |
168 Label *getOrCreateLocalLabel(SizeT Number); | 168 Label *getOrCreateLocalLabel(SizeT Number); |
169 void bindLocalLabel(SizeT Number); | 169 void bindLocalLabel(SizeT Number); |
170 void bindRelocOffset(RelocOffset *Offset); | |
171 | 170 |
172 bool fixupIsPCRel(FixupKind Kind) const override { | 171 bool fixupIsPCRel(FixupKind Kind) const override { |
173 // Currently assuming this is the only PC-rel relocation type used. | 172 // Currently assuming this is the only PC-rel relocation type used. |
174 // TODO(jpp): Traits.PcRelTypes.count(Kind) != 0 | 173 // TODO(jpp): Traits.PcRelTypes.count(Kind) != 0 |
175 return Kind == Traits::FK_PcRel; | 174 return Kind == Traits::FK_PcRel; |
176 } | 175 } |
177 | 176 |
178 // Operations to emit GPR instructions (and dispatch on operand type). | 177 // Operations to emit GPR instructions (and dispatch on operand type). |
179 using TypedEmitGPR = void (AssemblerX86Base::*)(Type, GPRRegister); | 178 using TypedEmitGPR = void (AssemblerX86Base::*)(Type, GPRRegister); |
180 using TypedEmitAddr = void (AssemblerX86Base::*)(Type, const Address &); | 179 using TypedEmitAddr = void (AssemblerX86Base::*)(Type, const Address &); |
(...skipping 732 matching lines...) Loading... |
913 emitUint8(0x66); | 912 emitUint8(0x66); |
914 } | 913 } |
915 | 914 |
916 } // end of namespace X86NAMESPACE | 915 } // end of namespace X86NAMESPACE |
917 | 916 |
918 } // end of namespace Ice | 917 } // end of namespace Ice |
919 | 918 |
920 #include "IceAssemblerX86BaseImpl.h" | 919 #include "IceAssemblerX86BaseImpl.h" |
921 | 920 |
922 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H | 921 #endif // SUBZERO_SRC_ICEASSEMBLERX86BASE_H |
OLD | NEW |