> Am 31.10.2018 um 10:59 schrieb Ulrich Weigand :
>
> Ilya Leoshkevich wrote:
>> Am 30.10.2018 um 18:22 schrieb Ulrich Weigand :
>>> 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 i
Ilya Leoshkevich wrote:
> Am 30.10.2018 um 18:22 schrieb Ulrich Weigand :
> > 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 th
> Am 30.10.2018 um 18:22 schrieb Ulrich Weigand :
>
> 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)
>> + && s
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)
Bootstrapped and regtested on s390x-redhat-linux.
Changes since v1:
* Removed unnecessary gen_rtx_CONST call.
* UNSPEC_LTREF are now omitted for all relatively addressed pool
entries, and not only those which occur in LARL-like patterns.
r265490 allowed the compiler to choose in a more flexible