This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATH] PR/49139 fix always_inline failures diagnostics
On Tue, Jun 21, 2011 at 1:11 PM, Richard Guenther
<richard.guenther@gmail.com> wrote:
> On Mon, Jun 20, 2011 at 3:56 PM, Christian Bruel <christian.bruel@st.com> wrote:
>> On 06/20/2011 03:41 PM, Rainer Orth wrote:
>>>
>>> Christian Bruel<christian.bruel@st.com> ?writes:
>>>
>>>> 2011-06-16 ?Christian Bruel<christian.bruel@st.com>
>>>>
>>>> ? ? ? ?PR 49139/43654
>>>
>>> Please use the correct PR number format here:
>>>
>>> ? ? ? ?PR middle-end/49139
>>> ? ? ? ? PR middle-end/43654
>>>
>>> Otherwise the check-in notices don't get into the PRs.
>>
>> OK thanks, in fact I was referring to the file gcc.dg/pr43564.c (there was a
>> typo in the number btw). But good indeed to send the notice into the
>> original PR as well.
>
> The code now looks like
>
> ?if (node->callees)
> ? ?{
> ? ? ?/* Redirecting edges might lead to a need for vops to be recomputed. ?*/
> ? ? ?todo |= TODO_update_ssa_only_virtuals;
> ? ? ?todo = optimize_inline_calls (current_function_decl);
> ? ?}
>
> I have committed an obvious patch.
Ick - that broke bootstrap. FIxing as follows.
RIchard.
2011-06-21 Richard Guenther <rguenther@suse.de>
* ipa-inline-transform.c (inline_transform): Fix previous
change.
Index: gcc/ipa-inline-transform.c
===================================================================
--- gcc/ipa-inline-transform.c (revision 175253)
+++ gcc/ipa-inline-transform.c (working copy)
@@ -364,13 +364,13 @@ inline_transform (struct cgraph_node *no
timevar_push (TV_INTEGRATION);
if (node->callees)
- {
- todo = optimize_inline_calls (current_function_decl);
- /* Redirecting edges might lead to a need for vops to be recomputed. */
- todo |= TODO_update_ssa_only_virtuals;
- }
+ todo = optimize_inline_calls (current_function_decl);
timevar_pop (TV_INTEGRATION);
+ if (!(todo & TODO_update_ssa_any))
+ /* Redirecting edges might lead to a need for vops to be recomputed. */
+ todo |= TODO_update_ssa_only_virtuals;
+
cfun->always_inline_functions_inlined = true;
cfun->after_inlining = true;
return todo | execute_fixup_cfg ();