This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: GCC does not support *mmintrin.h with function specific opts
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Sriraman Tallam <tmsriram at google dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Xinliang David Li <davidxl at google dot com>, Jakub Jelinek <jakub at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Uros Bizjak <ubizjak at gmail dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>, "Joseph S. Myers" <joseph at codesourcery dot com>, Diego Novillo <dnovillo at google dot com>
- Date: Thu, 13 Jun 2013 19:19:53 +0200
- Subject: Re: GCC does not support *mmintrin.h with function specific opts
- References: <CAAs8HmwAVJqNe+e1C17Vnq5PcEvYuaBfw-jhGU1mRLLDMpsSvw at mail dot gmail dot com> <20130518062136 dot GF1377 at tucnak dot redhat dot com> <CAAs8HmzBZUhxJK-SzYibdLaWhKON5+gmgYWJMMqvQ+1XCHPSPg at mail dot gmail dot com> <CAAs8HmxJnQanN4+G4mKuc2RYkKwWqQz1LPB5hpABoWV5=0Sk9w at mail dot gmail dot com> <CAAs8HmwonnXoqXcj8CZ3LA3vJXepSZ_NcBkfyFcyO41_AQuhLg at mail dot gmail dot com> <CAAs8HmyBGJWjheiJZzpt0yRJTpmGngXn9jf9-G1u7g7rgZDGHw at mail dot gmail dot com> <CAAs8HmyuOuM_HkKoJ+s0LBb7946Db5M9wqAmnct=DL-O4eV2xg at mail dot gmail dot com> <CAAkRFZJ0pdRcNjSjykVYmo6uCakdh0pFY8mZSKCbbk2u500t=w at mail dot gmail dot com> <20130613170751 dot GA26413 at kam dot mff dot cuni dot cz> <CAAs8HmwQMsHq4nO44n2iagBitFKB0w-gyxUddUu6Kqip7Z5ETA at mail dot gmail dot com>
> On Thu, Jun 13, 2013 at 10:07 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
> >> Can you create a helper function to flag the error and perhaps also
> >> put that check inside can_inline_edge_p ?
> >>
> >> David
> >>
> >>
> >> On Wed, Jun 12, 2013 at 6:00 PM, Sriraman Tallam <tmsriram@google.com> wrote:
> >> > Hi Honza,
> >> >
> >> > I have isolated the ipa-inline.c part into a separate patch with a
> >> > test and attached it here. The patch is simple. Could you please take
> >> > a look?
> >> >
> >> > * ipa-inline.c (can_early_inline_edge_p): Flag an error when
> >> > the function that cannot be inlined is target specific.
> >> > * gcc.target/i386/inline_error.c: New test.
> >
> > Sorry for taking ages to look at the patch, I was too hooked into other problems.
> > I also think can_early_inline_edge_p should not produce diagnostic - it is supposed
> > to be predicate.
> >
> > So your problem is that the hard worker in tree-inline is not called at -O0
> > and thus errors are not output? I would suggest arranging inline_always_inline_functions
> > to return true even if inlining failed and thus making inline_calls to be called.
>
> Thanks Honza! Yes, that is the problem. Should I just make it return
> true for these special conditions (TARGET_MISMATCH + gnu_inline +
> always_inline + ...)?
Can't it just return true if there is any alwaysinline call? I think if inline fails,
we always want to error, right?
Honza