------- Comment #18 from pinskia at gmail dot com 2007-06-14 01:14 ------- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code
On 14 Jun 2007 01:09:16 -0000, dougkwan at google dot com <[EMAIL PROTECTED]> wrote: > Unless the compiler can prove that f() does not save the pointer to c > and use it later, it cannot share a stack slot for c & c1. This is > true regardless of any block scoping in the source. Yeah, it looks > like accessing c outside of the first block was undefined but I was > told me that GIMPLE promote c & c1 all the function scope. Yes but I don't think GIMPLE does that, it might promote register based ones but not addressable ones (as mentioned before). Really if we change the stack sharing, we are going to cause a large number of regressions, I already have some regressions between 4.0 and 4.1 due to stack sharing changes with two large structs not being in the same slot even though we can put them there with one having an offset. And yes I still need to file that bug. -- Pinski -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32327