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

Andrea Di Biagio andrea.dibiagio at gmail.com
Sat Jan 11 04:59:34 PST 2014


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