[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work|

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #14 from Richard Biener --- Author: rguenth Date: Thu Mar 10 08:06:03 2016 New Revision: 234099 URL: https://gcc.gnu.org/viewcvs?rev=234099&root=gcc&view=rev Log: 2016-03-10 Richard Biener PR tree-optimization/70128

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #13 from Richard Biener --- Created attachment 37910 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37910&action=edit patch I am testing the attached. Btw, a workaround is -fno-tree-pta.

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-08 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 Marek Polacek changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org --- Comment

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #11 from Jakub Jelinek --- (In reply to Marcin Juszkiewicz from comment #9) > Nicolas Pitre (author of kernel patch) wrote to me: > As you can see, the value 5 is dropped. > > Let's hope gcc will be fixed. This assumes this is a gcc

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-08 Thread mjuszkiewicz at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 Marcin Juszkiewicz changed: What|Removed |Added CC||mjuszkiewicz at redhat dot com ---

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-07 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #8 from Jakub Jelinek --- Well, it is a question if it is -fno-strict-aliasing or -std=kernel thing. Anyway, IMHO what matters is the points-to stuff: Points-to sets ANYTHING = { ANYTHING } ESCAPED = { ESCAPED NONLOCAL __aeabi_uidiv

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-07 Thread rth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #7 from Richard Henderson --- (In reply to Andrew Pinski from comment #5) > I still say this is undefined even with -fno-strict-aliasing because > patching a function is undefined. Oh please. I think that's short-sighted. I don't s

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-07 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #6 from Andrew Pinski --- Note since 4.5 is not out yet there looks to be another week before it comes out. The fix to the kernel can make it in.

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-07 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #5 from Andrew Pinski --- I still say this is undefined even with -fno-strict-aliasing because patching a function is undefined.

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-07 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #4 from Jeffrey A. Law --- Shouldn't the call to v7_coherent_kern_range prevent DSE from removing the store to fn_addr[0] and fn_addr[1]? It feels like the undefined nature of this code is leading to a lack of proper dataflow for the

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-07 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #3 from Jakub Jelinek --- *.mergephi1 has (just the first half, the second one is analogous): __aeabi_uidiv.0_1 = (long unsigned int) __aeabi_uidiv; fn_addr_2 = __aeabi_uidiv.0_1 & 4294967294; fn_addr.1_3 = (unsigned int *) fn_a

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-07 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #2 from Jeffrey A. Law --- Just so I'm clear on what's happening here. Precisely which stores are getting removed?

[Bug tree-optimization/70128] Linux kernel div patching optimized away

2016-03-07 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128 --- Comment #1 from Andrew Pinski --- I think anyone patching functions need to be considered special and undefined. In most cases they did not mean to do it. Just the kernel is special. > just add an optimization barrier on fn_addr (like asm