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 + ...)? Thanks, Sri > > Honza