This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, i386]: Fix recently added sibcall insns and peephole2 patterns
- From: Kai Tietz <ktietz70 at googlemail dot com>
- To: Dominique Dhumieres <dominiq at lps dot ens dot fr>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, iains at gcc dot gnu dot org, Uros Bizjak <ubizjak at gmail dot com>
- Date: Wed, 18 Jun 2014 15:45:21 +0200
- Subject: Re: [PATCH, i386]: Fix recently added sibcall insns and peephole2 patterns
- Authentication-results: sourceware.org; auth=none
- References: <20140618131116 dot 5D672105 at mailhost dot lps dot ens dot fr>
2014-06-18 15:11 GMT+02:00 Dominique Dhumieres <firstname.lastname@example.org>:
>> 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.
> The change is indeed incompatible with the patch in pr61387 comment 9.
> And without it the failures are back!-(
> Kai, what is wrong with Iain's patch in comment 4?
Well, I don't see there patch, just a comment about a possible
code-change. I think it is getting fixed at wrong place. Reverting
fnaddr back to its original seems to be wrong solution here. It would
be better to do something in the lines 'if (!flag_pic ||
targetm.binds_local_p (function) || TARGET_PECOFF)' instead.
Why shall we make it here an unspec, and later on revert that change?
If Darwin isn't able to handle such an UNSPEC_GOTPCREL as address for
a sibcall pattern, we should avoid it in general, and not just
papering over at place of mi__tunk.