mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-25 21:00:00 +00:00
D'oh - need to use the rigth kind of store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30903 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b870100f2a
commit
3ad175bd70
@ -49,7 +49,7 @@ namespace {
|
||||
static cl::opt<bool>
|
||||
CombinerAA("combiner-alias-analysis", cl::Hidden,
|
||||
cl::desc("Turn on alias analysis turning testing"));
|
||||
|
||||
|
||||
//------------------------------ DAGCombiner ---------------------------------//
|
||||
|
||||
class VISIBILITY_HIDDEN DAGCombiner {
|
||||
@ -504,7 +504,7 @@ SDOperand DAGCombiner::visit(SDNode *N) {
|
||||
case ISD::BR_CC: return visitBR_CC(N);
|
||||
case ISD::LOAD: return visitLOAD(N);
|
||||
// FIXME - Switch over after StoreSDNode comes online.
|
||||
case ISD::TRUNCSTORE: // Fail thru
|
||||
case ISD::TRUNCSTORE: // Fall thru
|
||||
case ISD::STORE: return visitSTORE(N);
|
||||
case ISD::INSERT_VECTOR_ELT: return visitINSERT_VECTOR_ELT(N);
|
||||
case ISD::VINSERT_VECTOR_ELT: return visitVINSERT_VECTOR_ELT(N);
|
||||
@ -2708,7 +2708,10 @@ SDOperand DAGCombiner::visitSTORE(SDNode *N) {
|
||||
// If there is a better chain.
|
||||
if (Chain != BetterChain) {
|
||||
// Replace the chain to avoid dependency.
|
||||
SDOperand ReplTStore = DAG.getStore(BetterChain, Value, Ptr, SrcValue);
|
||||
SDOperand ReplTStore = DAG.getNode(ISD::TRUNCSTORE, MVT::Other,
|
||||
BetterChain, Value, Ptr, SrcValue,
|
||||
N->getOperand(4));
|
||||
|
||||
// Create token to keep both nodes around.
|
||||
return DAG.getNode(ISD::TokenFactor, MVT::Other, Chain, ReplTStore);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user