forked from OSchip/llvm-project
AMDGPU: Don't bother checking the chain in areLoadsFromSameBasePtr
This is only called in contexts that are verifying the chain itself, and the query itself is only asking about the address. llvm-svn: 355723
This commit is contained in:
parent
07f904befb
commit
f587fd9ce1
|
@ -98,12 +98,6 @@ static unsigned getNumOperandsNoGlue(SDNode *Node) {
|
|||
return N;
|
||||
}
|
||||
|
||||
static SDValue findChainOperand(SDNode *Load) {
|
||||
SDValue LastOp = Load->getOperand(getNumOperandsNoGlue(Load) - 1);
|
||||
assert(LastOp.getValueType() == MVT::Other && "Chain missing from load node");
|
||||
return LastOp;
|
||||
}
|
||||
|
||||
/// Returns true if both nodes have the same value for the given
|
||||
/// operand \p Op, or if both nodes do not have this operand.
|
||||
static bool nodesHaveSameOperandValue(SDNode *N0, SDNode* N1, unsigned OpName) {
|
||||
|
@ -170,10 +164,6 @@ bool SIInstrInfo::areLoadsFromSameBasePtr(SDNode *Load0, SDNode *Load1,
|
|||
if (Load0->getOperand(0) != Load1->getOperand(0))
|
||||
return false;
|
||||
|
||||
// Check chain.
|
||||
if (findChainOperand(Load0) != findChainOperand(Load1))
|
||||
return false;
|
||||
|
||||
// Skip read2 / write2 variants for simplicity.
|
||||
// TODO: We should report true if the used offsets are adjacent (excluded
|
||||
// st64 versions).
|
||||
|
@ -206,10 +196,6 @@ bool SIInstrInfo::areLoadsFromSameBasePtr(SDNode *Load0, SDNode *Load1,
|
|||
if (!Load0Offset || !Load1Offset)
|
||||
return false;
|
||||
|
||||
// Check chain.
|
||||
if (findChainOperand(Load0) != findChainOperand(Load1))
|
||||
return false;
|
||||
|
||||
Offset0 = Load0Offset->getZExtValue();
|
||||
Offset1 = Load1Offset->getZExtValue();
|
||||
return true;
|
||||
|
@ -220,7 +206,6 @@ bool SIInstrInfo::areLoadsFromSameBasePtr(SDNode *Load0, SDNode *Load1,
|
|||
|
||||
// MUBUF and MTBUF have vaddr at different indices.
|
||||
if (!nodesHaveSameOperandValue(Load0, Load1, AMDGPU::OpName::soffset) ||
|
||||
findChainOperand(Load0) != findChainOperand(Load1) ||
|
||||
!nodesHaveSameOperandValue(Load0, Load1, AMDGPU::OpName::vaddr) ||
|
||||
!nodesHaveSameOperandValue(Load0, Load1, AMDGPU::OpName::srsrc))
|
||||
return false;
|
||||
|
|
Loading…
Reference in New Issue