Implement intraprocedural dataflow for ipa-modref EAF analyser

Jan Hubicka hubicka@kam.mff.cuni.cz
Sun Nov 7 08:40:30 GMT 2021


Hi,
I have commited the patch now.  On the current tree the patch causes new
failure
./gcc/testsuite/gfortran/gfortran.sum:FAIL: gfortran.dg/vector_subscript_1.f90   -O1  execution test
./gcc/testsuite/gfortran/gfortran.sum:FAIL: gfortran.dg/vector_subscript_1.f90   -O2  execution test
./gcc/testsuite/gfortran/gfortran.sum:FAIL: gfortran.dg/vector_subscript_1.f90   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
./gcc/testsuite/gfortran/gfortran.sum:FAIL: gfortran.dg/vector_subscript_1.f90   -O3 -g  execution test

This is however just semi-latent bug that got triggered and same problem
reproduces with -fipa-pta and is tracked in PR86389
The problem is that Fortran builds a trailling array that is not
discovered as trailling by the middle-end and dom pass does invalid
propagation.

Same problem is triggered by modref because in order to make this happen
we need to discover that nested function test is not writting into
arrays a and b.

Honza


More information about the Gcc-patches mailing list