mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 02:52:53 +02:00
Pass address space to isLegalAddressingMode in DAGCombiner
No test because I don't know of a target that makes use of address spaces and indexed load / store. llvm-svn: 239051
This commit is contained in:
parent
b80f84293e
commit
f09765cbb9
@ -9061,14 +9061,18 @@ static bool canFoldInAddressingMode(SDNode *N, SDNode *Use,
|
||||
SelectionDAG &DAG,
|
||||
const TargetLowering &TLI) {
|
||||
EVT VT;
|
||||
unsigned AS;
|
||||
|
||||
if (LoadSDNode *LD = dyn_cast<LoadSDNode>(Use)) {
|
||||
if (LD->isIndexed() || LD->getBasePtr().getNode() != N)
|
||||
return false;
|
||||
VT = LD->getMemoryVT();
|
||||
AS = LD->getAddressSpace();
|
||||
} else if (StoreSDNode *ST = dyn_cast<StoreSDNode>(Use)) {
|
||||
if (ST->isIndexed() || ST->getBasePtr().getNode() != N)
|
||||
return false;
|
||||
VT = ST->getMemoryVT();
|
||||
AS = ST->getAddressSpace();
|
||||
} else
|
||||
return false;
|
||||
|
||||
@ -9092,7 +9096,7 @@ static bool canFoldInAddressingMode(SDNode *N, SDNode *Use,
|
||||
} else
|
||||
return false;
|
||||
|
||||
return TLI.isLegalAddressingMode(AM, VT.getTypeForEVT(*DAG.getContext()));
|
||||
return TLI.isLegalAddressingMode(AM, VT.getTypeForEVT(*DAG.getContext()), AS);
|
||||
}
|
||||
|
||||
/// Try turning a load/store into a pre-indexed load/store when the base
|
||||
|
Loading…
Reference in New Issue
Block a user