This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC does not support *mmintrin.h with function specific opts


On Thu, Jun 13, 2013 at 10:19 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> 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?

Ok, patch attached that does this. Please let me know what you think.

Thanks
Sri

>
> Honza

Attachment: inline_fix_for_mmintrin_patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]