diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-06-21 14:21:53 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-06-21 14:21:53 +0000 |
| commit | 3d6a130fee309468cef9cd93fe44090d326d76d7 (patch) | |
| tree | 6982a2622820f4563c99ecf1360c60bb2b668056 /llvm | |
| parent | 47b7c5c912a012a9b4c2cdde662bc4d5338d7c86 (diff) | |
| download | bcm5719-llvm-3d6a130fee309468cef9cd93fe44090d326d76d7.tar.gz bcm5719-llvm-3d6a130fee309468cef9cd93fe44090d326d76d7.zip | |
Define a isPositionIndependent helper for ARMAsmPrinter. NFC.
llvm-svn: 273261
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMAsmPrinter.cpp | 8 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/ARMAsmPrinter.h | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp index 1c4148ffd98..25d2ec95432 100644 --- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp @@ -613,6 +613,10 @@ static ARMBuildAttrs::CPUArch getArchForCPU(StringRef CPU, return ARMBuildAttrs::v4; } +bool ARMAsmPrinter::isPositionIndependent() const { + return TM.getRelocationModel() == Reloc::PIC_; +} + void ARMAsmPrinter::emitAttributes() { MCTargetStreamer &TS = *OutStreamer->getTargetStreamer(); ARMTargetStreamer &ATS = static_cast<ARMTargetStreamer &>(TS); @@ -724,7 +728,7 @@ void ARMAsmPrinter::emitAttributes() { ATS.emitFPU(ARM::FK_VFPV2); } - if (TM.getRelocationModel() == Reloc::PIC_) { + if (isPositionIndependent()) { // PIC specific attributes. ATS.emitAttribute(ARMBuildAttrs::ABI_PCS_RW_data, ARMBuildAttrs::AddressRWPCRel); @@ -1036,7 +1040,7 @@ void ARMAsmPrinter::EmitJumpTableAddrs(const MachineInstr *MI) { // .word (LBB1 - LJTI_0_0) const MCExpr *Expr = MCSymbolRefExpr::create(MBB->getSymbol(), OutContext); - if (TM.getRelocationModel() == Reloc::PIC_) + if (isPositionIndependent()) Expr = MCBinaryExpr::createSub(Expr, MCSymbolRefExpr::create(JTISymbol, OutContext), OutContext); diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.h b/llvm/lib/Target/ARM/ARMAsmPrinter.h index ed7be2de51c..d38669a6634 100644 --- a/llvm/lib/Target/ARM/ARMAsmPrinter.h +++ b/llvm/lib/Target/ARM/ARMAsmPrinter.h @@ -95,6 +95,8 @@ public: bool lowerOperand(const MachineOperand &MO, MCOperand &MCOp); private: + bool isPositionIndependent() const; + // Helpers for EmitStartOfAsmFile() and EmitEndOfAsmFile() void emitAttributes(); |

