mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-13 17:00:01 +00:00
R600: Move load/store ReplaceNodeResults to common code.
Future patches will want to custom lower loads on SI. llvm-svn: 211848
This commit is contained in:
parent
cf13130521
commit
2939409b36
@ -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…
x
Reference in New Issue
Block a user