Ilya Leoshkevich wrote: > @@ -8223,6 +8237,18 @@ find_constant_pool_ref (rtx x, rtx *ref) > && XINT (x, 1) == UNSPECV_POOL_ENTRY) > return; > > + if (SYMBOL_REF_P (x) > + && CONSTANT_POOL_ADDRESS_P (x) > + && s390_symbol_larl_p (x)) > + { > + if (*ref == NULL_RTX) > + *ref = x; > + else > + gcc_assert (*ref == x); > + > + return; > + }
This definitely looks wrong. If we haven't annotated the address, it should *not* be found by find_constant_pool_ref, since we are not going to replace it! That was the whole point of not annotating it in the first place ... Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com