| 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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 !Func->getContext()->getFlags().getDisableHybridAssembly()) { | 153 !Func->getContext()->getFlags().getDisableHybridAssembly()) { |
| 154 constexpr SizeT InstSize = 0; | 154 constexpr SizeT InstSize = 0; |
| 155 emitTextInst(InstL->getName(Func) + ":", InstSize); | 155 emitTextInst(InstL->getName(Func) + ":", InstSize); |
| 156 } | 156 } |
| 157 Label *L = getOrCreateLocalLabel(Number); | 157 Label *L = getOrCreateLocalLabel(Number); |
| 158 if (!getPreliminary()) | 158 if (!getPreliminary()) |
| 159 this->bind(L); | 159 this->bind(L); |
| 160 } | 160 } |
| 161 | 161 |
| 162 bool fixupIsPCRel(FixupKind Kind) const override { | 162 bool fixupIsPCRel(FixupKind Kind) const override { |
| 163 (void)Kind; | 163 if (Kind == llvm::ELF::R_ARM_MOVW_PREL_NC) |
| 164 // TODO(kschimpf) Decide if we need this. | 164 return true; |
| 165 if (Kind == llvm::ELF::R_ARM_MOVT_PREL) |
| 166 return true; |
| 165 return false; | 167 return false; |
| 166 } | 168 } |
| 167 | 169 |
| 168 /// Accessors to keep track of the number of bytes generated inside | 170 /// Accessors to keep track of the number of bytes generated inside |
| 169 /// InstARM32::emit() methods, when run inside of | 171 /// InstARM32::emit() methods, when run inside of |
| 170 /// InstARM32::emitUsingTextFixup(). | 172 /// InstARM32::emitUsingTextFixup(). |
| 171 void resetEmitTextSize() { EmitTextSize = 0; } | 173 void resetEmitTextSize() { EmitTextSize = 0; } |
| 172 void incEmitTextSize(size_t Amount) { EmitTextSize += Amount; } | 174 void incEmitTextSize(size_t Amount) { EmitTextSize += Amount; } |
| 173 void decEmitTextSize(size_t Amount) { EmitTextSize -= Amount; } | 175 void decEmitTextSize(size_t Amount) { EmitTextSize -= Amount; } |
| 174 size_t getEmitTextSize() const { return EmitTextSize; } | 176 size_t getEmitTextSize() const { return EmitTextSize; } |
| (...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 758 | 760 |
| 759 void emitVFPsss(CondARM32::Cond Cond, IValueT Opcode, const Operand *OpSd, | 761 void emitVFPsss(CondARM32::Cond Cond, IValueT Opcode, const Operand *OpSd, |
| 760 const Operand *OpSn, const Operand *OpSm, | 762 const Operand *OpSn, const Operand *OpSm, |
| 761 const char *InstName); | 763 const char *InstName); |
| 762 }; | 764 }; |
| 763 | 765 |
| 764 } // end of namespace ARM32 | 766 } // end of namespace ARM32 |
| 765 } // end of namespace Ice | 767 } // end of namespace Ice |
| 766 | 768 |
| 767 #endif // SUBZERO_SRC_ICEASSEMBLERARM32_H | 769 #endif // SUBZERO_SRC_ICEASSEMBLERARM32_H |
| OLD | NEW |