Author: lattner Date: Fri Jan 25 19:05:42 2008 New Revision: 46383 URL: http://llvm.org/viewvc/llvm-project?rev=46383&view=rev Log: don't bother making x&-1 only to simplify it in dag combine. This commonly occurs expanding i64 ops.
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp?rev=46383&r1=46382&r2=46383&view=diff ============================================================================== --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (original) +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Fri Jan 25 19:05:42 2008 @@ -1877,6 +1877,8 @@ // worth handling here. if (N2C && N2C->getValue() == 0) return N2; + if (N2C && N2C->isAllOnesValue()) // X & -1 -> X + return N1; break; case ISD::OR: case ISD::XOR: _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits