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 5718 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5729 | 5729 |
5730 for (SizeT I = 0; I < NumCases; ++I) { | 5730 for (SizeT I = 0; I < NumCases; ++I) { |
5731 Operand *Value = Ctx->getConstantInt32(Instr->getValue(I) << ShiftAmt); | 5731 Operand *Value = Ctx->getConstantInt32(Instr->getValue(I) << ShiftAmt); |
5732 Value = legalize(Value, Legal_Reg | Legal_Flex); | 5732 Value = legalize(Value, Legal_Reg | Legal_Flex); |
5733 _cmp(Src0Var, Value); | 5733 _cmp(Src0Var, Value); |
5734 _br(Instr->getLabel(I), CondARM32::EQ); | 5734 _br(Instr->getLabel(I), CondARM32::EQ); |
5735 } | 5735 } |
5736 _br(Instr->getLabelDefault()); | 5736 _br(Instr->getLabelDefault()); |
5737 } | 5737 } |
5738 | 5738 |
| 5739 void TargetARM32::lowerBreakpoint(const InstBreakpoint *Instr) { |
| 5740 UnimplementedLoweringError(this, Instr); |
| 5741 } |
| 5742 |
5739 void TargetARM32::lowerUnreachable(const InstUnreachable * /*Instr*/) { | 5743 void TargetARM32::lowerUnreachable(const InstUnreachable * /*Instr*/) { |
5740 _trap(); | 5744 _trap(); |
5741 } | 5745 } |
5742 | 5746 |
5743 namespace { | 5747 namespace { |
5744 // Returns whether Opnd needs the GOT address. Currently, ConstantRelocatables, | 5748 // Returns whether Opnd needs the GOT address. Currently, ConstantRelocatables, |
5745 // and fp constants will need access to the GOT address. | 5749 // and fp constants will need access to the GOT address. |
5746 bool operandNeedsGot(const Operand *Opnd) { | 5750 bool operandNeedsGot(const Operand *Opnd) { |
5747 if (llvm::isa<ConstantRelocatable>(Opnd)) { | 5751 if (llvm::isa<ConstantRelocatable>(Opnd)) { |
5748 return true; | 5752 return true; |
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6912 // However, for compatibility with current NaCl LLVM, don't claim that. | 6916 // However, for compatibility with current NaCl LLVM, don't claim that. |
6913 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; | 6917 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; |
6914 } | 6918 } |
6915 | 6919 |
6916 SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; | 6920 SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; |
6917 SmallBitVector TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; | 6921 SmallBitVector TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; |
6918 SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; | 6922 SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; |
6919 | 6923 |
6920 } // end of namespace ARM32 | 6924 } // end of namespace ARM32 |
6921 } // end of namespace Ice | 6925 } // end of namespace Ice |
OLD | NEW |