diff options
| author | Jim Laskey <jlaskey@mac.com> | 2006-10-12 15:22:24 +0000 |
|---|---|---|
| committer | Jim Laskey <jlaskey@mac.com> | 2006-10-12 15:22:24 +0000 |
| commit | df2ccc395e16d93f444a529a9d33d37cb9e52400 (patch) | |
| tree | baec73de9de52ebdfb6bd83203a354b4c8132861 /llvm/lib | |
| parent | c935741b1de6736cd3c95614d63706279e940c04 (diff) | |
| download | bcm5719-llvm-df2ccc395e16d93f444a529a9d33d37cb9e52400.tar.gz bcm5719-llvm-df2ccc395e16d93f444a529a9d33d37cb9e52400.zip | |
D'oh - need to use the rigth kind of store.
llvm-svn: 30903
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 737c0685536..2c15f39db4a 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -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); } |

