[PATCH] Distribute binary operators through SELECT_CC
Richard Sandiford
rsandifo at linux.vnet.ibm.com
Wed Jul 3 01:40:06 PDT 2013
Ping.
Richard Sandiford <rsandifo at linux.vnet.ibm.com> writes:
> This patch transforms something like:
>
> (add (select_cc X, Y, 10, 20, CC), 10)
>
> into:
>
> (select_cc X, Y, 20, 30, CC)
>
> but generalised for a tree of select_ccs. It allows at most one of
> the selected values to be non-constant.
>
> If this goes in, I'd like to follow it with patches to handle unary
> operations and floating-point binary operations in the same way.
>
> The main motivation was to optimise operations on scalarised vector
> selects. It also changed the output of the R600/alu-shift.ll test that
> Tom removed earlier. Tom reckoned the new code was an improvement
> (but defeated the original purpose of that test).
>
> Thanks,
> Richard
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
A non-text attachment was scrubbed...
Name: distribute-select-binary.patch
Type: text/x-patch
Size: 12982 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130703/0d0e91ea/attachment.bin>
More information about the llvm-commits
mailing list