This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 03/12/2016 12:58 AM, Jakub Jelinek wrote:
I believe Alan's point is DSE deleted the assignment to x which can't be right as long as we've left in goto *&x.On Sat, Mar 12, 2016 at 09:43:50AM +1030, Alan Modra wrote:The underlying problem happens somewhere in tree-ssa-dse.c. So we get an indirect jump to a random location instead of a jump to 0.Well, the testcase is there just to make sure we don't ICE on it. And, changing just DSE can't be a complete solution, because one can use uninitialized var from the beginning: int foo (void) { int x; goto *&x; } Jakub
The goto *&x should be a use of x and thus should have kept the assignment live.
Jeff
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |