diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2006-10-10 07:51:21 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2006-10-10 07:51:21 +0000 |
| commit | dc6a3aab7138e5a633ec44a36b31f676ce273afb (patch) | |
| tree | b875170befd834273d4ec13f081661b4f79851d7 /llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | |
| parent | 6d37137e4fe57f09314be12da2d8eb13dba07632 (diff) | |
| download | bcm5719-llvm-dc6a3aab7138e5a633ec44a36b31f676ce273afb.tar.gz bcm5719-llvm-dc6a3aab7138e5a633ec44a36b31f676ce273afb.zip | |
Fix a bug introduced by my LOAD/LOADX changes.
llvm-svn: 30853
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index a3adb55d894..699d5b1574b 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -2433,7 +2433,6 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) { // This defaults to loading a pointer from the input and storing it to the // output, returning the chain. SrcValueSDNode *SVD = cast<SrcValueSDNode>(Node->getOperand(3)); - SrcValueSDNode *SVS = cast<SrcValueSDNode>(Node->getOperand(4)); Tmp4 = DAG.getLoad(TLI.getPointerTy(), Tmp1, Tmp3, SVD->getValue(), SVD->getOffset()); Result = DAG.getStore(Tmp4.getValue(1), Tmp4, Tmp2, Node->getOperand(4)); @@ -3234,7 +3233,10 @@ SDOperand SelectionDAGLegalize::PromoteOp(SDOperand Op) { case ISD::LOAD: { LoadSDNode *LD = cast<LoadSDNode>(Node); - Result = DAG.getExtLoad(ISD::EXTLOAD, NVT, LD->getChain(), LD->getBasePtr(), + ISD::LoadExtType ExtType = ISD::isNON_EXTLoad(Node) + ? ISD::EXTLOAD : LD->getExtensionType(); + Result = DAG.getExtLoad(ExtType, NVT, + LD->getChain(), LD->getBasePtr(), LD->getSrcValue(), LD->getSrcValueOffset(), VT); // Remember that we legalized the chain. AddLegalizedOperand(Op.getValue(1), LegalizeOp(Result.getValue(1))); |

