On 10/15/19 11:12 AM, Peter Bergner wrote: > On 10/15/19 10:44 AM, Richard Biener wrote: >> On October 15, 2019 5:09:52 PM GMT+02:00, Peter Bergner >> <berg...@linux.ibm.com> wrote: >>> If the user explicitly said not to compile a function with a particular >>> option, how can we justify ignoring that request just because we're >>> inlining it? We don't do that for the out of line version of that >>> callee function. >> >> I wonder how you can tell apart explicit vs. Implicit in the LTO context >> where the option is represented as target attribute on the function. > > Ah, so all of the options used to compile the callee in an LTO context, > whether they were implicit or explicit will look explicit? I agree, that > would be a problem! > > Jiufu, can you see if there is a way to determine whether a callee > option in the LTO context really was an explicit option versus an > implicit/default option? ...or does your follow on patch to my > patch do that?
So I set a break point on rs6000_can_inline_p() when it's called from lto1, using a few different unit test cases, and it seems the callee's ->x_rs6000_isa_flags_explicit is set correctly! That means we can differentiate between implicitly and explicitly set options. Peter