| 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 6419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6430 | 6430 |
| 6431 emitConstant<T>(Str, Ctx, llvm::dyn_cast<typename Traits::ConstantType>(C)); | 6431 emitConstant<T>(Str, Ctx, llvm::dyn_cast<typename Traits::ConstantType>(C)); |
| 6432 } | 6432 } |
| 6433 } | 6433 } |
| 6434 } // end of anonymous namespace | 6434 } // end of anonymous namespace |
| 6435 | 6435 |
| 6436 void TargetDataARM32::lowerConstants() { | 6436 void TargetDataARM32::lowerConstants() { |
| 6437 if (Ctx->getFlags().getDisableTranslation()) | 6437 if (Ctx->getFlags().getDisableTranslation()) |
| 6438 return; | 6438 return; |
| 6439 switch (Ctx->getFlags().getOutFileType()) { | 6439 switch (Ctx->getFlags().getOutFileType()) { |
| 6440 case FT_Elf: | 6440 case FT_Elf: { |
| 6441 UnimplementedError(Ctx->getFlags()); | 6441 ELFObjectWriter *Writer = Ctx->getObjectWriter(); |
| 6442 break; | 6442 Writer->writeConstantPool<ConstantFloat>(IceType_f32); |
| 6443 Writer->writeConstantPool<ConstantDouble>(IceType_f64); |
| 6444 } break; |
| 6443 case FT_Asm: | 6445 case FT_Asm: |
| 6444 case FT_Iasm: { | 6446 case FT_Iasm: { |
| 6445 OstreamLocker _(Ctx); | 6447 OstreamLocker _(Ctx); |
| 6446 emitConstantPool<float>(Ctx); | 6448 emitConstantPool<float>(Ctx); |
| 6447 emitConstantPool<double>(Ctx); | 6449 emitConstantPool<double>(Ctx); |
| 6448 break; | 6450 break; |
| 6449 } | 6451 } |
| 6450 } | 6452 } |
| 6451 } | 6453 } |
| 6452 | 6454 |
| 6453 void TargetDataARM32::lowerJumpTables() { | 6455 void TargetDataARM32::lowerJumpTables() { |
| 6454 if (Ctx->getFlags().getDisableTranslation()) | 6456 if (Ctx->getFlags().getDisableTranslation()) |
| 6455 return; | 6457 return; |
| 6456 switch (Ctx->getFlags().getOutFileType()) { | 6458 switch (Ctx->getFlags().getOutFileType()) { |
| 6457 case FT_Elf: | 6459 case FT_Elf: |
| 6458 UnimplementedError(Ctx->getFlags()); | 6460 if (!Ctx->getJumpTables().empty()) { |
| 6461 llvm::report_fatal_error("ARM32 does not support jump tables yet."); |
| 6462 } |
| 6459 break; | 6463 break; |
| 6460 case FT_Asm: | 6464 case FT_Asm: |
| 6461 // Already emitted from Cfg | 6465 // Already emitted from Cfg |
| 6462 break; | 6466 break; |
| 6463 case FT_Iasm: { | 6467 case FT_Iasm: { |
| 6464 // TODO(kschimpf): Fill this in when we get more information. | 6468 // TODO(kschimpf): Fill this in when we get more information. |
| 6465 break; | 6469 break; |
| 6466 } | 6470 } |
| 6467 } | 6471 } |
| 6468 } | 6472 } |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6516 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; | 6520 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; |
| 6517 } | 6521 } |
| 6518 | 6522 |
| 6519 llvm::SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; | 6523 llvm::SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; |
| 6520 llvm::SmallBitVector | 6524 llvm::SmallBitVector |
| 6521 TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; | 6525 TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; |
| 6522 llvm::SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; | 6526 llvm::SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; |
| 6523 | 6527 |
| 6524 } // end of namespace ARM32 | 6528 } // end of namespace ARM32 |
| 6525 } // end of namespace Ice | 6529 } // end of namespace Ice |
| OLD | NEW |