[llvm-commits] [llvm] r38489 - /llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Lauro Ramos Venancio
lauro.venancio at gmail.com
Tue Jul 10 07:29:35 PDT 2007
Hi Dan,
There is a bug in the following code. If N0 is UNDEF, the code returns
N1 instead of UNDEF.
Lauro
> @@ -855,7 +855,7 @@
> if (FoldedVOp.Val) return FoldedVOp;
>
> // fold (add x, undef) -> undef
> - if (N1.getOpcode() == ISD::UNDEF)
> + if (N0.getOpcode() == ISD::UNDEF || N1.getOpcode() == ISD::UNDEF)
> return N1;
> // fold (add c1, c2) -> c1+c2
> if (N0C && N1C)
> @@ -1890,7 +1890,7 @@
> if (FoldedVOp.Val) return FoldedVOp;
>
> // fold (xor x, undef) -> undef
> - if (N1.getOpcode() == ISD::UNDEF)
> + if (N0.getOpcode() == ISD::UNDEF || N1.getOpcode() == ISD::UNDEF)
> return N1;
> // fold (xor c1, c2) -> c1^c2
> if (N0C && N1C)
More information about the llvm-commits
mailing list