https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67814

--- Comment #2 from Jameson <vtjnash at gmail dot com> ---
I did some further analysis with -dump-rtl-all -dump-tree-all. The SSA form
looked fine, as did the initial conversion to RTL. It seemed like something
confused the rtl-reload pass such that decided to reordered the statements:

    size_t alsz = f(sz);
    if (alsz > sz) { };
    sz = alsz;

into:

    size_t alsz = f(sz, al);
    sz = alsz;
    if (sz > sz) { };

I tried disabling that pass (--disable-rtl-reload), but it ran into a gcc
internal compiler error: in regstat_init_n_sets_and_refs, at regstat.c:67, so I
guess this pass is required by some later pass.

Reply via email to