Skip to content

Commit 4a8665e

Browse files
committed
SelectionDAG: Avoid some uses of getPointerTy
Avoids use of the default address space parameter, and avoids some assumptions about the incoming address space.
1 parent f942cde commit 4a8665e

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -216,10 +216,10 @@ static SDValue getCopyFromParts(SelectionDAG &DAG, const SDLoc &DL,
216216
std::swap(Lo, Hi);
217217
EVT TotalVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits);
218218
Hi = DAG.getNode(ISD::ANY_EXTEND, DL, TotalVT, Hi);
219-
Hi =
220-
DAG.getNode(ISD::SHL, DL, TotalVT, Hi,
221-
DAG.getConstant(Lo.getValueSizeInBits(), DL,
222-
TLI.getPointerTy(DAG.getDataLayout())));
219+
Hi = DAG.getNode(ISD::SHL, DL, TotalVT, Hi,
220+
DAG.getConstant(Lo.getValueSizeInBits(), DL,
221+
TLI.getShiftAmountTy(
222+
TotalVT, DAG.getDataLayout())));
223223
Lo = DAG.getNode(ISD::ZERO_EXTEND, DL, TotalVT, Lo);
224224
Val = DAG.getNode(ISD::OR, DL, TotalVT, Lo, Hi);
225225
}
@@ -4876,7 +4876,8 @@ static SDValue GetExponent(SelectionDAG &DAG, SDValue Op,
48764876
DAG.getConstant(0x7f800000, dl, MVT::i32));
48774877
SDValue t1 = DAG.getNode(
48784878
ISD::SRL, dl, MVT::i32, t0,
4879-
DAG.getConstant(23, dl, TLI.getPointerTy(DAG.getDataLayout())));
4879+
DAG.getConstant(23, dl,
4880+
TLI.getShiftAmountTy(MVT::i32, DAG.getDataLayout())));
48804881
SDValue t2 = DAG.getNode(ISD::SUB, dl, MVT::i32, t1,
48814882
DAG.getConstant(127, dl, MVT::i32));
48824883
return DAG.getNode(ISD::SINT_TO_FP, dl, MVT::f32, t2);
@@ -4901,10 +4902,11 @@ static SDValue getLimitedPrecisionExp2(SDValue t0, const SDLoc &dl,
49014902
SDValue X = DAG.getNode(ISD::FSUB, dl, MVT::f32, t0, t1);
49024903

49034904
// IntegerPartOfX <<= 23;
4904-
IntegerPartOfX = DAG.getNode(
4905-
ISD::SHL, dl, MVT::i32, IntegerPartOfX,
4906-
DAG.getConstant(23, dl, DAG.getTargetLoweringInfo().getPointerTy(
4907-
DAG.getDataLayout())));
4905+
IntegerPartOfX =
4906+
DAG.getNode(ISD::SHL, dl, MVT::i32, IntegerPartOfX,
4907+
DAG.getConstant(23, dl,
4908+
DAG.getTargetLoweringInfo().getShiftAmountTy(
4909+
MVT::i32, DAG.getDataLayout())));
49084910

49094911
SDValue TwoToFractionalPartOfX;
49104912
if (LimitFloatPrecision <= 6) {
@@ -5798,16 +5800,18 @@ void SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I,
57985800
case Intrinsic::vacopy: visitVACopy(I); return;
57995801
case Intrinsic::returnaddress:
58005802
setValue(&I, DAG.getNode(ISD::RETURNADDR, sdl,
5801-
TLI.getPointerTy(DAG.getDataLayout()),
5803+
TLI.getValueType(DAG.getDataLayout(), I.getType()),
58025804
getValue(I.getArgOperand(0))));
58035805
return;
58045806
case Intrinsic::addressofreturnaddress:
5805-
setValue(&I, DAG.getNode(ISD::ADDROFRETURNADDR, sdl,
5806-
TLI.getPointerTy(DAG.getDataLayout())));
5807+
setValue(&I,
5808+
DAG.getNode(ISD::ADDROFRETURNADDR, sdl,
5809+
TLI.getValueType(DAG.getDataLayout(), I.getType())));
58075810
return;
58085811
case Intrinsic::sponentry:
5809-
setValue(&I, DAG.getNode(ISD::SPONENTRY, sdl,
5810-
TLI.getFrameIndexTy(DAG.getDataLayout())));
5812+
setValue(&I,
5813+
DAG.getNode(ISD::SPONENTRY, sdl,
5814+
TLI.getValueType(DAG.getDataLayout(), I.getType())));
58115815
return;
58125816
case Intrinsic::frameaddress:
58135817
setValue(&I, DAG.getNode(ISD::FRAMEADDR, sdl,
@@ -6847,7 +6851,8 @@ void SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I,
68476851
}
68486852
case Intrinsic::invariant_start:
68496853
// Discard region information.
6850-
setValue(&I, DAG.getUNDEF(TLI.getPointerTy(DAG.getDataLayout())));
6854+
setValue(&I,
6855+
DAG.getUNDEF(TLI.getValueType(DAG.getDataLayout(), I.getType())));
68516856
return;
68526857
case Intrinsic::invariant_end:
68536858
// Discard region information.

0 commit comments

Comments
 (0)