[PATCH] lim: Reset flow sensitive info even for pointers [PR103192]

Jeff Law jeffreyalaw@gmail.com
Wed Nov 17 13:14:39 GMT 2021



On 11/17/2021 2:16 AM, Jakub Jelinek via Gcc-patches wrote:
> Hi!
>
> Since 2014 is lim clearing SSA_NAME_RANGE_INFO for integral SSA_NAMEs
> if moving them from conditional contexts inside of a loop into unconditional
> before the loop, but as the miscompilation of gimplify.c shows, we need to
> treat pointers the same, even for them we need to reset whether the pointer
> can/can't be null or the recorded pointer alignment.
>
> This fixes
> -FAIL: libgomp.c/../libgomp.c-c++-common/target-in-reduction-2.c (internal compiler error)
> -FAIL: libgomp.c/../libgomp.c-c++-common/target-in-reduction-2.c (test for excess errors)
> -UNRESOLVED: libgomp.c/../libgomp.c-c++-common/target-in-reduction-2.c compilation failed to produce executable
> -FAIL: libgomp.c++/../libgomp.c-c++-common/target-in-reduction-2.c (internal compiler error)
> -FAIL: libgomp.c++/../libgomp.c-c++-common/target-in-reduction-2.c (test for excess errors)
> -UNRESOLVED: libgomp.c++/../libgomp.c-c++-common/target-in-reduction-2.c compilation failed to produce executable
> -FAIL: libgomp.c++/target-in-reduction-2.C (internal compiler error)
> -FAIL: libgomp.c++/target-in-reduction-2.C (test for excess errors)
> -UNRESOLVED: libgomp.c++/target-in-reduction-2.C compilation failed to produce executable
> on both x86_64 and i686.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
>
> 2021-11-17  Jakub Jelinek  <jakub@redhat.com>
>
> 	PR tree-optimization/103192
> 	* tree-ssa-loop-im.c (move_computations_worker): Use
> 	reset_flow_sensitive_info instead of manually clearing
> 	SSA_NAME_RANGE_INFO and do it for all SSA_NAMEs, not just ones
> 	with integral types.
OK
jeff



More information about the Gcc-patches mailing list