cselib.c
85.5 KB
-
cselib: Fix endless cselib loop on (plus:P (reg) (const_int 0)) · 8662d059
getopt.c hangs the compiler on h8300-elf with -O2 -g, because the IL contains addition of constant 0, the first PLUS operand is determined to have the SP_DERIVED_VALUE_P and the new code in cselib recurses indefinitely on seeing SP_DERIVED_VALUE_P with locs of (plus:P SP_DERIVED_VALUE_P (const_int 0)). Fixed by making sure cselib_subst_to_values canonicalizes it, hashing already hashes it the same too. 2020-04-06 Jakub Jelinek <jakub@redhat.com> * cselib.c (cselib_subst_to_values): For SP_DERIVED_VALUE_P + const0_rtx return the SP_DERIVED_VALUE_P.
Jakub Jelinek committed