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  <ja...@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

Reply via email to