[Bug tree-optimization/84803] [8 Regression] ICE from ifcvt_memrefs_wont_trap with -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84803 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED Component|c |tree-optimization --- Comment #4 from Richard Biener --- I will have a look.
[Bug tree-optimization/84803] [8 Regression] ICE from ifcvt_memrefs_wont_trap with -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84803 --- Comment #5 from Richard Biener --- So the reason is that data-ref analysis doesn't consider # VUSE <.MEM_20> _12 = MEM[(char *)"" + 1B]; as a load. It's an out-of-bound read which we don't fold optimistically or replace with a trap. At this point it's probably easiest to just handle the case of data-ref not producing a reference for constants.
[Bug tree-optimization/84803] [8 Regression] ICE from ifcvt_memrefs_wont_trap with -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84803 --- Comment #6 from Richard Biener --- Author: rguenth Date: Mon Mar 12 12:32:28 2018 New Revision: 258446 URL: https://gcc.gnu.org/viewcvs?rev=258446&root=gcc&view=rev Log: 2018-03-12 Richard Biener PR tree-optimization/84803 * tree-if-conv.c (ifcvt_memrefs_wont_trap): Don't do anything for refs DR analysis didn't process. * gcc.dg/torture/pr84803.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr84803.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-if-conv.c
[Bug tree-optimization/84803] [8 Regression] ICE from ifcvt_memrefs_wont_trap with -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84803 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #7 from Richard Biener --- Fixed.