Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(4684)

Issue 6111050: set the correct block info for the call stmt in fnsplit

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years ago by xur
Modified:
12 years ago
Reviewers:
richard.guenther, ebotcazou, davidxl, hubicka, pinskia
CC:
gcc-patches_gcc.gnu.org
Base URL:
svn+ssh://gcc.gnu.org/svn/gcc/branches/google/gcc-4_6/gcc/
Visibility:
Public.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+30 lines, -2 lines) Patch
M ipa-split.c View 4 chunks +30 lines, -2 lines 0 comments Download

Messages

Total messages: 7
xur
Hi, In split_function() (ipa-split.c), for the newly created call stmt, its block is set to ...
12 years ago (2012-04-24 21:57:05 UTC) #1
pinskia_gmail.com
On Tue, Apr 24, 2012 at 2:57 PM, Rong Xu <xur@google.com> wrote: > Hi, > ...
12 years ago (2012-04-24 22:02:19 UTC) #2
xur
please the find test case in the attachment. It shows the issue in google-4_6 branch ...
12 years ago (2012-04-24 22:05:22 UTC) #3
ebotcazou_adacore.com
> We do not depend on the block structure any more when dealing with > ...
12 years ago (2012-04-27 10:51:11 UTC) #4
richard.guenther_gmail.com
On Fri, Apr 27, 2012 at 12:50 PM, Eric Botcazou <ebotcazou@adacore.com> wrote: >> We do ...
12 years ago (2012-04-27 11:04:23 UTC) #5
hubicka_ucw.cz
> On Fri, Apr 27, 2012 at 12:50 PM, Eric Botcazou <ebotcazou@adacore.com> wrote: > >> ...
12 years ago (2012-04-27 12:06:13 UTC) #6
xur
12 years ago (2012-04-27 17:30:20 UTC) #7
On Fri, Apr 27, 2012 at 5:06 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> On Fri, Apr 27, 2012 at 12:50 PM, Eric Botcazou <ebotcazou@adacore.com>
wrote:
>> >> We do not depend on the block structure any more when dealing with
>> >> stack layout for variables in GCC 4.7.0 and above.  I am not saying
>> >> your patch is incorrect or not needed.  Just it will not have an
>> >> effect on variable stack layout.
>> >
>> > It might be worth backporting to the 4.6 branch though, these stack layout
>> > issues are very nasty.
>>
>> What about not setting a BLOCK on the call stmt?  That said, I can't see
>
> I recall that not seetting the block did lead to ICE...
>
>> how outlining a SESE region that starts at the beginning of the function
>> is not conservatively using the outermost BLOCK ... so, is the bug not
>> elsewhere?
>
> ... so I made the exactly same conclussion.
> The problem is with stack vars allocated in header that survive till the
> tail part?

A SESE region does not necessary at the beginning of the function.
They can be anywhere.
In the example I attached, it is at the end of function.

Even if the outlined region is at the beginning the function. setting
the call_stmt as the outermost
block is also incorrect.
For c++ programs, the block for function level local variables is not
DECL_INITIAL(current_function_decl).
It is the subblock of DECL_INITIAL(current_function_decl).
This is different from c programs.

-Rong

>
> Honza
>>
>> Richard.
>>
>> > --
>> > Eric Botcazou
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b