Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(194)

Side by Side Diff: src/IceTargetLoweringARM32.cpp

Issue 1651603003: Subzero. ARM32. Enables obj output. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: git pull Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Makefile.standalone ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « Makefile.standalone ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698