If you want to flag errors for all possible wrongly used always_inline
attribute, should this change be done in can_inline_edge_p? Or keep
your current change, but also add a warning (something like 'always
inline function is ignored etc') in inline_always_inline_functions
when inline transformation can not meaningfully give a useful error.

David

On Thu, Jun 13, 2013 at 11:33 AM, Sriraman Tallam <tmsri...@google.com> wrote:
> On Thu, Jun 13, 2013 at 10:19 AM, Jan Hubicka <hubi...@ucw.cz> wrote:
>>> On Thu, Jun 13, 2013 at 10:07 AM, Jan Hubicka <hubi...@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 <tmsri...@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

Reply via email to