OLD | NEW |
1 //===- subzero/src/IceTargetLoweringARM32.cpp - ARM32 lowering ------------===// | 1 //===- subzero/src/IceTargetLoweringARM32.cpp - ARM32 lowering ------------===// |
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 6310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6321 | 6321 |
6322 template <typename T> | 6322 template <typename T> |
6323 void emitConstant( | 6323 void emitConstant( |
6324 Ostream &Str, const GlobalContext *Ctx, | 6324 Ostream &Str, const GlobalContext *Ctx, |
6325 const typename ConstantPoolEmitterTraits<T>::ConstantType *Const) { | 6325 const typename ConstantPoolEmitterTraits<T>::ConstantType *Const) { |
6326 using Traits = ConstantPoolEmitterTraits<T>; | 6326 using Traits = ConstantPoolEmitterTraits<T>; |
6327 Const->emitPoolLabel(Str, Ctx); | 6327 Const->emitPoolLabel(Str, Ctx); |
6328 Str << ":\n\t" << Traits::AsmTag << "\t0x"; | 6328 Str << ":\n\t" << Traits::AsmTag << "\t0x"; |
6329 T Value = Const->getValue(); | 6329 T Value = Const->getValue(); |
6330 Str.write_hex(Traits::bitcastToUint64(Value)); | 6330 Str.write_hex(Traits::bitcastToUint64(Value)); |
6331 Str << "\t@" << Traits::TypeName << " " << Value << "\n"; | 6331 Str << "\t/* " << Traits::TypeName << " " << Value << " */\n"; |
6332 } | 6332 } |
6333 | 6333 |
6334 template <typename T> void emitConstantPool(GlobalContext *Ctx) { | 6334 template <typename T> void emitConstantPool(GlobalContext *Ctx) { |
6335 if (!BuildDefs::dump()) { | 6335 if (!BuildDefs::dump()) { |
6336 return; | 6336 return; |
6337 } | 6337 } |
6338 | 6338 |
6339 using Traits = ConstantPoolEmitterTraits<T>; | 6339 using Traits = ConstantPoolEmitterTraits<T>; |
6340 static constexpr size_t MinimumAlignment = 4; | 6340 static constexpr size_t MinimumAlignment = 4; |
6341 SizeT Align = std::max(MinimumAlignment, typeAlignInBytes(Traits::IceType)); | 6341 SizeT Align = std::max(MinimumAlignment, typeAlignInBytes(Traits::IceType)); |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6443 // Technically R9 is used for TLS with Sandboxing, and we reserve it. | 6443 // Technically R9 is used for TLS with Sandboxing, and we reserve it. |
6444 // However, for compatibility with current NaCl LLVM, don't claim that. | 6444 // However, for compatibility with current NaCl LLVM, don't claim that. |
6445 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; | 6445 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; |
6446 } | 6446 } |
6447 | 6447 |
6448 llvm::SmallBitVector TargetARM32::TypeToRegisterSet[IceType_NUM]; | 6448 llvm::SmallBitVector TargetARM32::TypeToRegisterSet[IceType_NUM]; |
6449 llvm::SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; | 6449 llvm::SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; |
6450 llvm::SmallBitVector TargetARM32::ScratchRegs; | 6450 llvm::SmallBitVector TargetARM32::ScratchRegs; |
6451 | 6451 |
6452 } // end of namespace Ice | 6452 } // end of namespace Ice |
OLD | NEW |