On Fri, Oct 27, 2023 at 2:12 PM David Malcolm <dmalc...@redhat.com> wrote:
>
> On Fri, 2023-10-27 at 12:48 -0700, Andrew Pinski wrote:
> > Hi David and others,
> >   I am in the process of improving phi-opt and moving what was
> > handled
> > in value_replacement to match-and-simplify and ran into a few
> > failures
> > in the analyzer testsuite.
> > For an example c-c++-common/analyzer/inlining-3-multiline.c (and
> > c-c++-common/analyzer/inlining-3.c) now fails due to optimizing away
> > the if statement in get_input_file_name so it just returns its
> > argument and we don't get a comparison against NULL any more.
>
> >
> > Should we change the testcase to avoid this transformation or should
> > we avoid this transformation early on during optimization phases? Or
> > something else like move analyzer earlier before phiopt?
>
> The analyzer runs relatively late, and moving it would be a major task.
>
> The intent of those testcases is to verify that the analyzer can
> provide the user with a sufficiently readable execution path (the path
> of execution events that triggers a problem) i.e. that we can
> reconstruct things in the face of inlining.
>
> Those conditionals are intended as examples of control-flow logic that
> we'd want to display to the user.
>
> Hence it's probably best to disable your new optimization on these
> testcases (presumably by adding "-fdisable-tree-phiopt1"), so that we
> keep that control flow logic.
>
> Does that make sense?

Yes this makes perfect sense; I was just double checking to make sure
we were not losing some diagnostic that would be useful to the user
with respect to this change.

Thanks,
Andrew

>
> Dave
>

Reply via email to