OLD | NEW |
1 //===- subzero/src/IceAssemblerARM32.h - Assembler for ARM32 ----*- C++ -*-===// | 1 //===- subzero/src/IceAssemblerARM32.h - Assembler for ARM32 ----*- 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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 } | 140 } |
141 | 141 |
142 Label *getOrCreateCfgNodeLabel(SizeT NodeNumber) { | 142 Label *getOrCreateCfgNodeLabel(SizeT NodeNumber) { |
143 return getOrCreateLabel(NodeNumber, CfgNodeLabels); | 143 return getOrCreateLabel(NodeNumber, CfgNodeLabels); |
144 } | 144 } |
145 | 145 |
146 Label *getOrCreateLocalLabel(SizeT Number) { | 146 Label *getOrCreateLocalLabel(SizeT Number) { |
147 return getOrCreateLabel(Number, LocalLabels); | 147 return getOrCreateLabel(Number, LocalLabels); |
148 } | 148 } |
149 | 149 |
150 void bindLocalLabel(const Cfg *Func, const InstARM32Label *InstL, | 150 void bindLocalLabel(const InstARM32Label *InstL, SizeT Number) { |
151 SizeT Number) { | 151 if (BuildDefs::dump() && !getFlags().getDisableHybridAssembly()) { |
152 if (BuildDefs::dump() && | |
153 !Func->getContext()->getFlags().getDisableHybridAssembly()) { | |
154 constexpr SizeT InstSize = 0; | 152 constexpr SizeT InstSize = 0; |
155 emitTextInst(InstL->getLabelName() + ":", InstSize); | 153 emitTextInst(InstL->getLabelName() + ":", InstSize); |
156 } | 154 } |
157 Label *L = getOrCreateLocalLabel(Number); | 155 Label *L = getOrCreateLocalLabel(Number); |
158 if (!getPreliminary()) | 156 if (!getPreliminary()) |
159 this->bind(L); | 157 this->bind(L); |
160 } | 158 } |
161 | 159 |
162 bool fixupIsPCRel(FixupKind Kind) const override { | 160 bool fixupIsPCRel(FixupKind Kind) const override { |
163 if (Kind == llvm::ELF::R_ARM_MOVW_PREL_NC) | 161 if (Kind == llvm::ELF::R_ARM_MOVW_PREL_NC) |
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
760 | 758 |
761 void emitVFPsss(CondARM32::Cond Cond, IValueT Opcode, const Operand *OpSd, | 759 void emitVFPsss(CondARM32::Cond Cond, IValueT Opcode, const Operand *OpSd, |
762 const Operand *OpSn, const Operand *OpSm, | 760 const Operand *OpSn, const Operand *OpSm, |
763 const char *InstName); | 761 const char *InstName); |
764 }; | 762 }; |
765 | 763 |
766 } // end of namespace ARM32 | 764 } // end of namespace ARM32 |
767 } // end of namespace Ice | 765 } // end of namespace Ice |
768 | 766 |
769 #endif // SUBZERO_SRC_ICEASSEMBLERARM32_H | 767 #endif // SUBZERO_SRC_ICEASSEMBLERARM32_H |
OLD | NEW |