mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-16 16:37:42 +00:00
R600: Move load/store ReplaceNodeResults to common code.
Future patches will want to custom lower loads on SI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211848 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
84d545dd34
commit
556a7c0f08
@ -554,6 +554,20 @@ void AMDGPUTargetLowering::ReplaceNodeResults(SDNode *N,
|
||||
// ReplaceNodeResults to sext_in_reg to an illegal type, so we'll just do
|
||||
// nothing here and let the illegal result integer be handled normally.
|
||||
return;
|
||||
case ISD::LOAD: {
|
||||
SDNode *Node = LowerLOAD(SDValue(N, 0), DAG).getNode();
|
||||
Results.push_back(SDValue(Node, 0));
|
||||
Results.push_back(SDValue(Node, 1));
|
||||
// XXX: LLVM seems not to replace Chain Value inside CustomWidenLowerNode
|
||||
// function
|
||||
DAG.ReplaceAllUsesOfValueWith(SDValue(N,1), SDValue(Node, 1));
|
||||
return;
|
||||
}
|
||||
case ISD::STORE: {
|
||||
SDNode *Node = LowerSTORE(SDValue(N, 0), DAG).getNode();
|
||||
Results.push_back(SDValue(Node, 0));
|
||||
return;
|
||||
}
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
@ -834,20 +834,6 @@ void R600TargetLowering::ReplaceNodeResults(SDNode *N,
|
||||
return;
|
||||
case ISD::FP_TO_UINT: Results.push_back(LowerFPTOUINT(N->getOperand(0), DAG));
|
||||
return;
|
||||
case ISD::LOAD: {
|
||||
SDNode *Node = LowerLOAD(SDValue(N, 0), DAG).getNode();
|
||||
Results.push_back(SDValue(Node, 0));
|
||||
Results.push_back(SDValue(Node, 1));
|
||||
// XXX: LLVM seems not to replace Chain Value inside CustomWidenLowerNode
|
||||
// function
|
||||
DAG.ReplaceAllUsesOfValueWith(SDValue(N,1), SDValue(Node, 1));
|
||||
return;
|
||||
}
|
||||
case ISD::STORE: {
|
||||
SDNode *Node = LowerSTORE(SDValue(N, 0), DAG).getNode();
|
||||
Results.push_back(SDValue(Node, 0));
|
||||
return;
|
||||
}
|
||||
case ISD::UDIV: {
|
||||
SDValue Op = SDValue(N, 0);
|
||||
SDLoc DL(Op);
|
||||
|
Loading…
Reference in New Issue
Block a user