On Wed, Jun 18, 2014 at 2:24 PM, Kai Tietz <ktiet...@googlemail.com> wrote:

> The following change in predicates.md seems to be a bit premature.
> There is still the point about Darwin's PIC issue for unspec-gotpcrel.
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61387
>
>   return ANY_QI_REG_P (op);
> })
>
> +;; Return true if OP is a memory operands that can be used in sibcalls.
> (define_predicate "sibcall_memory_operand"
> -  (match_operand 0 "memory_operand")
> -{
> -  return CONSTANT_P (XEXP (op, 0));
> -})
> +  (and (match_operand 0 "memory_operand")
> +       (match_test "CONSTANT_P (XEXP (op, 0))")))
>
> as we might to pessimize for Darwin UNSPEC_GOTPCREL at that point.
>  In general there is still the question why this issue just happens
> for Darwin, but not for linux.  For linux that gotpcrel-code path
> seems not to be hit at all (at least is that what Ians told).

Oh, this part doesn't change any functionality at all. The predicate
is just written in a different way.

Uros.

Reply via email to