[PATCH GCC]Try to fold (long)(A-B) into (long)A - (long)B for canonicalization in tree affine

Bin Cheng bin.cheng@arm.com
Wed Sep 2 03:48:00 GMT 2015


Hi,
Generally we don't try to fold (long)(A-B) into (long)A - (long)B because it
results in more operations.  On the other hand, this fold is wanted when we
want to explore as many canonical opportunities as possible.  Tree affine is
definitely such a place.  This patch supports this in
tree_to_aff_combination, so it can produce canonical affines rather than
stupid expressions like "&arr + (sizetype) (t_4(D) + t_4(D)) * 4 -
(sizetype)t_4(D) * 8".  

Bootstrap and test on x86_64 and aarch64 along with other patches.  Is it
OK?

2015-08-31  Bin Cheng  <bin.cheng@arm.com>

	* tree-affine.c (tree_to_aff_combination): Try to fold (long)(A-B)
	by adding CASE_CONVERT support.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pr66388_2-20150824.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150902/89f6cc2f/attachment.txt>


More information about the Gcc-patches mailing list