mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-24 13:18:17 +00:00
Remove getDataLayout() from TargetLowering
Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: yaron.keren, rafael, llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11042 From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241779 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -281,7 +281,8 @@ static bool IsSmallObject(const GlobalValue *GV, const XCoreTargetLowering &XTL)
|
||||
if (!ObjType->isSized())
|
||||
return false;
|
||||
|
||||
unsigned ObjSize = XTL.getDataLayout()->getTypeAllocSize(ObjType);
|
||||
auto &DL = GV->getParent()->getDataLayout();
|
||||
unsigned ObjSize = DL.getTypeAllocSize(ObjType);
|
||||
return ObjSize < CodeModelLargeSize && ObjSize != 0;
|
||||
}
|
||||
|
||||
@@ -435,8 +436,9 @@ LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
|
||||
LD->getAlignment()))
|
||||
return SDValue();
|
||||
|
||||
unsigned ABIAlignment = getDataLayout()->
|
||||
getABITypeAlignment(LD->getMemoryVT().getTypeForEVT(*DAG.getContext()));
|
||||
auto &TD = DAG.getDataLayout();
|
||||
unsigned ABIAlignment = TD.getABITypeAlignment(
|
||||
LD->getMemoryVT().getTypeForEVT(*DAG.getContext()));
|
||||
// Leave aligned load alone.
|
||||
if (LD->getAlignment() >= ABIAlignment)
|
||||
return SDValue();
|
||||
@@ -486,7 +488,7 @@ LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
|
||||
}
|
||||
|
||||
// Lower to a call to __misaligned_load(BasePtr).
|
||||
Type *IntPtrTy = getDataLayout()->getIntPtrType(*DAG.getContext());
|
||||
Type *IntPtrTy = TD.getIntPtrType(*DAG.getContext());
|
||||
TargetLowering::ArgListTy Args;
|
||||
TargetLowering::ArgListEntry Entry;
|
||||
|
||||
@@ -517,8 +519,8 @@ LowerSTORE(SDValue Op, SelectionDAG &DAG) const
|
||||
ST->getAlignment())) {
|
||||
return SDValue();
|
||||
}
|
||||
unsigned ABIAlignment = getDataLayout()->
|
||||
getABITypeAlignment(ST->getMemoryVT().getTypeForEVT(*DAG.getContext()));
|
||||
unsigned ABIAlignment = DAG.getDataLayout().getABITypeAlignment(
|
||||
ST->getMemoryVT().getTypeForEVT(*DAG.getContext()));
|
||||
// Leave aligned store alone.
|
||||
if (ST->getAlignment() >= ABIAlignment) {
|
||||
return SDValue();
|
||||
@@ -546,7 +548,7 @@ LowerSTORE(SDValue Op, SelectionDAG &DAG) const
|
||||
}
|
||||
|
||||
// Lower to a call to __misaligned_store(BasePtr, Value).
|
||||
Type *IntPtrTy = getDataLayout()->getIntPtrType(*DAG.getContext());
|
||||
Type *IntPtrTy = DAG.getDataLayout().getIntPtrType(*DAG.getContext());
|
||||
TargetLowering::ArgListTy Args;
|
||||
TargetLowering::ArgListEntry Entry;
|
||||
|
||||
@@ -1829,7 +1831,7 @@ SDValue XCoreTargetLowering::PerformDAGCombine(SDNode *N,
|
||||
if (StoreBits % 8) {
|
||||
break;
|
||||
}
|
||||
unsigned ABIAlignment = getDataLayout()->getABITypeAlignment(
|
||||
unsigned ABIAlignment = DAG.getDataLayout().getABITypeAlignment(
|
||||
ST->getMemoryVT().getTypeForEVT(*DCI.DAG.getContext()));
|
||||
unsigned Alignment = ST->getAlignment();
|
||||
if (Alignment >= ABIAlignment) {
|
||||
|
||||
Reference in New Issue
Block a user