This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/38819] [4.2/4.3/4.4 Regression] trapping expression wrongly hoisted out of loop
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Jan 2009 22:51:36 -0000
- Subject: [Bug tree-optimization/38819] [4.2/4.3/4.4 Regression] trapping expression wrongly hoisted out of loop
- References: <bug-38819-230@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #13 from rguenth at gcc dot gnu dot org 2009-01-16 22:51 -------
Btw, I am sure this is not a problem for loads, as only CFG exits from
functions
causes the bogus PRE and that always clobbers memory if it may call exit
(pure and const functions may not). It may become a problem in future, but not
now.
In future we may want to have an IPA pass computing wheter a function may
possibly not return and use this information to pre-split BBs and insert
exit edges before PRE as a better general solution. Maybe this is what
other compilers do (the Intel compiler doesn't PRE the modulo in this
testcase).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38819