summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-04-10 01:13:15 +0000
committerChris Lattner <sabre@nondot.org>2005-04-10 01:13:15 +0000
commitd8cbfe82ba170fe3283d0a4725f1c77c443b45d7 (patch)
treec1e3723a4d80f156edfb3f10c71249427005c27e /llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
parent9ff4b4190f0c1e6745c0c886649cbecaf64f63c9 (diff)
downloadbcm5719-llvm-d8cbfe82ba170fe3283d0a4725f1c77c443b45d7.tar.gz
bcm5719-llvm-d8cbfe82ba170fe3283d0a4725f1c77c443b45d7.zip
Fix a thinko. If the operand is promoted, pass the promoted value into
the new zero extend, not the original operand. This fixes cast bool -> long on ppc. Add an unrelated fixme llvm-svn: 21196
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index 256aa2513e0..1fcaa723e2c 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -1937,7 +1937,7 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
// The low part is just a zero extension of the input (which degenerates to
// a copy).
- Lo = DAG.getNode(ISD::ZERO_EXTEND, NVT, LegalizeOp(Node->getOperand(0)));
+ Lo = DAG.getNode(ISD::ZERO_EXTEND, NVT, In);
// The high part is just a zero.
Hi = DAG.getConstant(0, NVT);
OpenPOWER on IntegriCloud