[Bug tree-optimization/23970] loop-invariant-motion is not doing it's work

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23970 Bug 23970 depends on bug 23855, which changed state. Bug 23855 Summary: loop header should also be pulled out of the inner loop too https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23855 What|Removed |Added

[Bug tree-optimization/23970] loop-invariant-motion is not doing it's work

2021-12-26 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23970 --- Comment #2 from Andrew Pinski --- We are able to do the LIM at -O3 which enables loop unswitching. I wonder if there is a way to enable a limited form of loop unswitching for -O2 where one branch of the loop to unswitch is empty.

[Bug tree-optimization/23970] loop-invariant-motion is not doing it's work

2005-09-19 Thread rguenth at gcc dot gnu dot org
-- What|Removed |Added CC||rakdver at atrey dot karlin ||dot mff dot cuni dot cz http://gc

[Bug tree-optimization/23970] loop-invariant-motion is not doing it's work

2005-09-20 Thread rakdver at gcc dot gnu dot org
--- Additional Comments From rakdver at gcc dot gnu dot org 2005-09-20 13:33 --- k*stridev?[2] cannot be moved more at the moment. The loops looks like for (k = ...) for (j = ...) { if (i >= i1) continue; do { tmp = k * stridevx[2];

[Bug tree-optimization/23970] loop-invariant-motion is not doing it's work

2023-09-01 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23970 --- Comment #3 from Richard Biener --- Unswitching does this as a separate transform now, the "hoist guards" transform. It's even done completely separate now: unsigned int tree_ssa_unswitch_loops (function *fun) { bool changed_unswitch = f