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 5791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5802 | 5802 |
5803 for (SizeT I = 0; I < NumCases; ++I) { | 5803 for (SizeT I = 0; I < NumCases; ++I) { |
5804 Operand *Value = Ctx->getConstantInt32(Instr->getValue(I) << ShiftAmt); | 5804 Operand *Value = Ctx->getConstantInt32(Instr->getValue(I) << ShiftAmt); |
5805 Value = legalize(Value, Legal_Reg | Legal_Flex); | 5805 Value = legalize(Value, Legal_Reg | Legal_Flex); |
5806 _cmp(Src0Var, Value); | 5806 _cmp(Src0Var, Value); |
5807 _br(Instr->getLabel(I), CondARM32::EQ); | 5807 _br(Instr->getLabel(I), CondARM32::EQ); |
5808 } | 5808 } |
5809 _br(Instr->getLabelDefault()); | 5809 _br(Instr->getLabelDefault()); |
5810 } | 5810 } |
5811 | 5811 |
| 5812 void TargetARM32::lowerBreakpoint(const InstBreakpoint *Instr) { |
| 5813 UnimplementedLoweringError(this, Instr); |
| 5814 } |
| 5815 |
5812 void TargetARM32::lowerUnreachable(const InstUnreachable * /*Instr*/) { | 5816 void TargetARM32::lowerUnreachable(const InstUnreachable * /*Instr*/) { |
5813 _trap(); | 5817 _trap(); |
5814 } | 5818 } |
5815 | 5819 |
5816 namespace { | 5820 namespace { |
5817 // Returns whether Opnd needs the GOT address. Currently, ConstantRelocatables, | 5821 // Returns whether Opnd needs the GOT address. Currently, ConstantRelocatables, |
5818 // and fp constants will need access to the GOT address. | 5822 // and fp constants will need access to the GOT address. |
5819 bool operandNeedsGot(const Operand *Opnd) { | 5823 bool operandNeedsGot(const Operand *Opnd) { |
5820 if (llvm::isa<ConstantRelocatable>(Opnd)) { | 5824 if (llvm::isa<ConstantRelocatable>(Opnd)) { |
5821 return true; | 5825 return true; |
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6985 // However, for compatibility with current NaCl LLVM, don't claim that. | 6989 // However, for compatibility with current NaCl LLVM, don't claim that. |
6986 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; | 6990 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; |
6987 } | 6991 } |
6988 | 6992 |
6989 SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; | 6993 SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; |
6990 SmallBitVector TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; | 6994 SmallBitVector TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; |
6991 SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; | 6995 SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; |
6992 | 6996 |
6993 } // end of namespace ARM32 | 6997 } // end of namespace ARM32 |
6994 } // end of namespace Ice | 6998 } // end of namespace Ice |
OLD | NEW |