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 1685 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1696 InstList::reverse_iterator RI, E; | 1696 InstList::reverse_iterator RI, E; |
1697 for (RI = Insts.rbegin(), E = Insts.rend(); RI != E; ++RI) { | 1697 for (RI = Insts.rbegin(), E = Insts.rend(); RI != E; ++RI) { |
1698 if (llvm::isa<InstARM32Ret>(*RI)) | 1698 if (llvm::isa<InstARM32Ret>(*RI)) |
1699 break; | 1699 break; |
1700 } | 1700 } |
1701 if (RI == E) | 1701 if (RI == E) |
1702 return; | 1702 return; |
1703 | 1703 |
1704 // Convert the reverse_iterator position into its corresponding (forward) | 1704 // Convert the reverse_iterator position into its corresponding (forward) |
1705 // iterator position. | 1705 // iterator position. |
1706 InstList::iterator InsertPoint = RI.base(); | 1706 InstList::iterator InsertPoint = reverseToForwardIterator(RI); |
1707 --InsertPoint; | 1707 --InsertPoint; |
1708 Context.init(Node); | 1708 Context.init(Node); |
1709 Context.setInsertPoint(InsertPoint); | 1709 Context.setInsertPoint(InsertPoint); |
1710 | 1710 |
1711 Variable *SP = getPhysicalRegister(RegARM32::Reg_sp); | 1711 Variable *SP = getPhysicalRegister(RegARM32::Reg_sp); |
1712 if (UsesFramePointer) { | 1712 if (UsesFramePointer) { |
1713 Variable *FP = getPhysicalRegister(RegARM32::Reg_fp); | 1713 Variable *FP = getPhysicalRegister(RegARM32::Reg_fp); |
1714 // For late-stage liveness analysis (e.g. asm-verbose mode), adding a fake | 1714 // For late-stage liveness analysis (e.g. asm-verbose mode), adding a fake |
1715 // use of SP before the assignment of SP=FP keeps previous SP adjustments | 1715 // use of SP before the assignment of SP=FP keeps previous SP adjustments |
1716 // from being dead-code eliminated. | 1716 // from being dead-code eliminated. |
(...skipping 5430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7147 // However, for compatibility with current NaCl LLVM, don't claim that. | 7147 // However, for compatibility with current NaCl LLVM, don't claim that. |
7148 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; | 7148 Str << ".eabi_attribute 14, 3 @ Tag_ABI_PCS_R9_use: Not used\n"; |
7149 } | 7149 } |
7150 | 7150 |
7151 SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; | 7151 SmallBitVector TargetARM32::TypeToRegisterSet[RegARM32::RCARM32_NUM]; |
7152 SmallBitVector TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; | 7152 SmallBitVector TargetARM32::TypeToRegisterSetUnfiltered[RegARM32::RCARM32_NUM]; |
7153 SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; | 7153 SmallBitVector TargetARM32::RegisterAliases[RegARM32::Reg_NUM]; |
7154 | 7154 |
7155 } // end of namespace ARM32 | 7155 } // end of namespace ARM32 |
7156 } // end of namespace Ice | 7156 } // end of namespace Ice |
OLD | NEW |