From 405e25a97096b17f9ceabcf42bc2a4f7e2aed614 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Sun, 26 Jun 2016 22:24:01 +0000 Subject: [PATCH] Use isPositionIndependent predicate. NFC. llvm-svn: 273827 --- llvm/lib/Target/Hexagon/HexagonISelLowering.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp b/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp index bd36978c4364..2fa0bfd5765e 100644 --- a/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp +++ b/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp @@ -1408,15 +1408,15 @@ HexagonTargetLowering::LowerConstantPool(SDValue Op, SelectionDAG &DAG) const { EVT ValTy = Op.getValueType(); ConstantPoolSDNode *CPN = cast(Op); unsigned Align = CPN->getAlignment(); - Reloc::Model RM = HTM.getRelocationModel(); - unsigned char TF = (RM == Reloc::PIC_) ? HexagonII::MO_PCREL : 0; + bool IsPositionIndependent = isPositionIndependent(); + unsigned char TF = IsPositionIndependent ? HexagonII::MO_PCREL : 0; SDValue T; if (CPN->isMachineConstantPoolEntry()) T = DAG.getTargetConstantPool(CPN->getMachineCPVal(), ValTy, Align, TF); else T = DAG.getTargetConstantPool(CPN->getConstVal(), ValTy, Align, TF); - if (RM == Reloc::PIC_) + if (IsPositionIndependent) return DAG.getNode(HexagonISD::AT_PCREL, SDLoc(Op), ValTy, T); return DAG.getNode(HexagonISD::CP, SDLoc(Op), ValTy, T); } @@ -1425,8 +1425,7 @@ SDValue HexagonTargetLowering::LowerJumpTable(SDValue Op, SelectionDAG &DAG) const { EVT VT = Op.getValueType(); int Idx = cast(Op)->getIndex(); - Reloc::Model RM = HTM.getRelocationModel(); - if (RM == Reloc::PIC_) { + if (isPositionIndependent()) { SDValue T = DAG.getTargetJumpTable(Idx, VT, HexagonII::MO_PCREL); return DAG.getNode(HexagonISD::AT_PCREL, SDLoc(Op), VT, T); } @@ -1593,9 +1592,9 @@ HexagonTargetLowering::LowerToTLSInitialExecModel(GlobalAddressSDNode *GA, // Get the thread pointer. SDValue TP = DAG.getCopyFromReg(DAG.getEntryNode(), dl, Hexagon::UGP, PtrVT); - Reloc::Model RM = HTM.getRelocationModel(); - unsigned char TF = (RM == Reloc::PIC_) ? HexagonII::MO_IEGOT - : HexagonII::MO_IE; + bool IsPositionIndependent = isPositionIndependent(); + unsigned char TF = + IsPositionIndependent ? HexagonII::MO_IEGOT : HexagonII::MO_IE; // First generate the TLS symbol address SDValue TGA = DAG.getTargetGlobalAddress(GA->getGlobal(), dl, PtrVT, @@ -1603,7 +1602,7 @@ HexagonTargetLowering::LowerToTLSInitialExecModel(GlobalAddressSDNode *GA, SDValue Sym = DAG.getNode(HexagonISD::CONST32, dl, PtrVT, TGA); - if (RM == Reloc::PIC_) { + if (IsPositionIndependent) { // Generate the GOT pointer in case of position independent code SDValue GOT = LowerGLOBAL_OFFSET_TABLE(Sym, DAG);