[PATCH][DAG] Teach DAG to also reassociate vector operations

Juergen Ributzka juergen at apple.com
Mon Jan 13 13:00:42 PST 2014


Hi Andrea,

thanks for reviewing the patch. I had it in my attic for a while, so I missed the recent isBuildVectorOfConstantSDNodes addition.
I committed it in r199135.

Cheers,
Juergen

On Jan 11, 2014, at 4:59 AM, Andrea Di Biagio <andrea.dibiagio at gmail.com> wrote:

> Hi Juergen,
> Your patch LGTM!
> 
> I noticed that method BuildVectorSDNode::isConstant() does something
> very similar to function ISD::isBuildVectorOfConstantSDNodes (in
> include/llvm/CodeGen/SelectionDAGNodes.h); the only difference is that
> your new method also accepts build_vector of ConstantFPSDNode.
> At the moment, function ISD::isBuildVectorOfConstantSDNodes returns
> true only if the node in input is a build_vectors of ConstantSDNodes
> or UNDEFs; that behavior can be changed in the future and some of the
> code in DAGCombiner.cpp could be further simplified. But for now I
> think using method BuildVectorSDNode::isConstant() is ok!.
> 
> Thanks,
> Andrea Di Biagio
> 
> On Sat, Jan 11, 2014 at 12:14 AM, Juergen Ributzka <juergen at apple.com> wrote:
>> ping
>> 
>> On Jan 2, 2014, at 9:06 PM, Juergen Ributzka <juergen at apple.com> wrote:
>> 
>>> Hi @ll,
>>> 
>>> this small patch teaches DAG to reassociate vector ops, which in turn enables constant folding of vector op chains that e.g. appear during X86 custom lowering and DAG combine.
>>> 
>>> Cheers,
>>> Juergen
>>> 
>>> <0001-DAG-Teach-DAG-to-also-reassociate-vector-operations.patch>
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list