reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3125 SDValue Chain = DAG.getEntryNode(); 3126 EVT PtrVT = getPointerTy(DAG.getDataLayout()); 3131 DAG.getTargetConstant(Intrinsic::arm_mrc, DL, MVT::i32), 3132 DAG.getTargetConstant(15, DL, MVT::i32), 3133 DAG.getTargetConstant(0, DL, MVT::i32), 3134 DAG.getTargetConstant(13, DL, MVT::i32), 3135 DAG.getTargetConstant(0, DL, MVT::i32), 3136 DAG.getTargetConstant(2, DL, MVT::i32)}; 3137 SDValue CurrentTEB = DAG.getNode(ISD::INTRINSIC_W_CHAIN, DL, 3138 DAG.getVTList(MVT::i32, MVT::Other), Ops); 3146 DAG.getNode(ISD::ADD, DL, PtrVT, TEB, DAG.getIntPtrConstant(0x2c, DL)); 3146 DAG.getNode(ISD::ADD, DL, PtrVT, TEB, DAG.getIntPtrConstant(0x2c, DL)); 3147 TLSArray = DAG.getLoad(PtrVT, DL, Chain, TLSArray, MachinePointerInfo()); 3154 DAG.getTargetExternalSymbol("_tls_index", PtrVT, ARMII::MO_NO_FLAG); 3155 TLSIndex = DAG.getNode(ARMISD::Wrapper, DL, PtrVT, TLSIndex); 3156 TLSIndex = DAG.getLoad(PtrVT, DL, Chain, TLSIndex, MachinePointerInfo()); 3158 SDValue Slot = DAG.getNode(ISD::SHL, DL, PtrVT, TLSIndex, 3159 DAG.getConstant(2, DL, MVT::i32)); 3160 SDValue TLS = DAG.getLoad(PtrVT, DL, Chain, 3161 DAG.getNode(ISD::ADD, DL, PtrVT, TLSArray, Slot), 3167 SDValue Offset = DAG.getLoad( 3168 PtrVT, DL, Chain, DAG.getNode(ARMISD::Wrapper, DL, MVT::i32, 3169 DAG.getTargetConstantPool(CPV, PtrVT, 4)), 3170 MachinePointerInfo::getConstantPool(DAG.getMachineFunction())); 3172 return DAG.getNode(ISD::ADD, DL, PtrVT, TLS, Offset);