summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2006-10-12 15:22:24 +0000
committerJim Laskey <jlaskey@mac.com>2006-10-12 15:22:24 +0000
commitdf2ccc395e16d93f444a529a9d33d37cb9e52400 (patch)
treebaec73de9de52ebdfb6bd83203a354b4c8132861 /llvm/lib
parentc935741b1de6736cd3c95614d63706279e940c04 (diff)
downloadbcm5719-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.cpp9
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);
}
OpenPOWER on IntegriCloud