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

Reply via email to