[llvm-commits] [llvm] r60857 - in /llvm/trunk: lib/CodeGen/SelectionDAG/DAGCombiner.cpp test/CodeGen/X86/add-with-overflow.ll

Bill Wendling isanbard at gmail.com
Wed Dec 10 17:26:54 PST 2008


On Wed, Dec 10, 2008 at 5:15 PM, Evan Cheng <echeng at apple.com> wrote:
>
> On Dec 10, 2008, at 2:36 PM, Bill Wendling wrote:
>
>> Author: void
>> Date: Wed Dec 10 16:36:00 2008
>> New Revision: 60857
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=60857&view=rev
>> Log:
>> If ADD, SUB, or MUL have an overflow bit that's used, don't do
>> transformation on
>> them. The DAG combiner expects that nodes that are transformed have
>> one value
>> result.
>>
>> Modified:
>>    llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
>>    llvm/trunk/test/CodeGen/X86/add-with-overflow.ll
>>
>> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp?rev=60857&r1=60856&r2=60857&view=diff
>>
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> ======================================================================
>> --- llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Wed Dec 10
>> 16:36:00 2008
>> @@ -966,6 +966,11 @@
>>     SDValue FoldedVOp = SimplifyVBinOp(N);
>>     if (FoldedVOp.getNode()) return FoldedVOp;
>>   }
>> +
>> +  if (N->getNumValues() != 1)
>> +    // FIXME: DAG combiner cannot handle multiple return values on
>> arithmetic
>> +    //        operators.
>
> "Return values" is not exactly the right way to put it. How about
> "cannot handle arithmetic operators whose implicit definitions are
> being used" or "cannot handle arithmetic operators which produce
> multiple results"?
>

Sure. Done.

-bw



More information about the llvm-commits mailing list