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 5800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5811 | 5811 |
5812 for (SizeT I = 0; I < NumCases; ++I) { | 5812 for (SizeT I = 0; I < NumCases; ++I) { |
5813 Operand *Value = Ctx->getConstantInt32(Instr->getValue(I) << ShiftAmt); | 5813 Operand *Value = Ctx->getConstantInt32(Instr->getValue(I) << ShiftAmt); |
5814 Value = legalize(Value, Legal_Reg | Legal_Flex); | 5814 Value = legalize(Value, Legal_Reg | Legal_Flex); |
5815 _cmp(Src0Var, Value); | 5815 _cmp(Src0Var, Value); |
5816 _br(Instr->getLabel(I), CondARM32::EQ); | 5816 _br(Instr->getLabel(I), CondARM32::EQ); |
5817 } | 5817 } |
5818 _br(Instr->getLabelDefault()); | 5818 _br(Instr->getLabelDefault()); |
5819 } | 5819 } |
5820 | 5820 |
| 5821 void TargetARM32::lowerBreakpoint(const InstBreakpoint *Instr) { |
| 5822 UnimplementedLoweringError(this, Instr); |
| 5823 } |
| 5824 |
5821 void TargetARM32::lowerUnreachable(const InstUnreachable * /*Instr*/) { | 5825 void TargetARM32::lowerUnreachable(const InstUnreachable * /*Instr*/) { |
5822 _trap(); | 5826 _trap(); |
5823 } | 5827 } |
5824 | 5828 |
5825 namespace { | 5829 namespace { |
5826 // Returns whether Opnd needs the GOT address. Currently, ConstantRelocatables, | 5830 // Returns whether Opnd needs the GOT address. Currently, ConstantRelocatables, |
5827 // and fp constants will need access to the GOT address. | 5831 // and fp constants will need access to the GOT address. |
5828 bool operandNeedsGot(const Operand *Opnd) { | 5832 bool operandNeedsGot(const Operand *Opnd) { |
5829 if (llvm::isa<ConstantRelocatable>(Opnd)) { | 5833 if (llvm::isa<ConstantRelocatable>(Opnd)) { |
5830 return true; | 5834 return true; |
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6994 // However, for compatibility with current NaCl LLVM, don't claim that. | 6998 // However, for compatibility with current NaCl LLVM, don't claim that. |
6995 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; | 6999 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; |
6996 } | 7000 } |
6997 | 7001 |
6998 SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; | 7002 SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; |
6999 SmallBitVector TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; | 7003 SmallBitVector TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; |
7000 SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; | 7004 SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; |
7001 | 7005 |
7002 } // end of namespace ARM32 | 7006 } // end of namespace ARM32 |
7003 } // end of namespace Ice | 7007 } // end of namespace Ice |
OLD | NEW |