mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 19:42:54 +02:00
[NVPTX] Remove MemIntrinsicSDNode/MemSDNode duplicate checking
As of r214452, isa<MemSDNode> will return true for nodes for which isa<MemIntrinsicSDNode> will return true (classof now respects the actual class hierarchy). So we no longer need to check for both MemIntrinsicSDNode and MemSDNode separately. No functionality change intended. llvm-svn: 215523
This commit is contained in:
parent
8dfcdf9eb2
commit
2d0b95ee36
@ -5041,17 +5041,10 @@ bool NVPTXDAGToDAGISel::SelectADDRri64(SDNode *OpNode, SDValue Addr,
|
|||||||
bool NVPTXDAGToDAGISel::ChkMemSDNodeAddressSpace(SDNode *N,
|
bool NVPTXDAGToDAGISel::ChkMemSDNodeAddressSpace(SDNode *N,
|
||||||
unsigned int spN) const {
|
unsigned int spN) const {
|
||||||
const Value *Src = nullptr;
|
const Value *Src = nullptr;
|
||||||
// Even though MemIntrinsicSDNode is a subclas of MemSDNode,
|
|
||||||
// the classof() for MemSDNode does not include MemIntrinsicSDNode
|
|
||||||
// (See SelectionDAGNodes.h). So we need to check for both.
|
|
||||||
if (MemSDNode *mN = dyn_cast<MemSDNode>(N)) {
|
if (MemSDNode *mN = dyn_cast<MemSDNode>(N)) {
|
||||||
if (spN == 0 && mN->getMemOperand()->getPseudoValue())
|
if (spN == 0 && mN->getMemOperand()->getPseudoValue())
|
||||||
return true;
|
return true;
|
||||||
Src = mN->getMemOperand()->getValue();
|
Src = mN->getMemOperand()->getValue();
|
||||||
} else if (MemSDNode *mN = dyn_cast<MemIntrinsicSDNode>(N)) {
|
|
||||||
if (spN == 0 && mN->getMemOperand()->getPseudoValue())
|
|
||||||
return true;
|
|
||||||
Src = mN->getMemOperand()->getValue();
|
|
||||||
}
|
}
|
||||||
if (!Src)
|
if (!Src)
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user