This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/19828] [4.0 Regression] LIM is pulling out a pure function even though there is something which can modify global memory
- From: "rakdver at atrey dot karlin dot mff dot cuni dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Feb 2005 20:11:14 -0000
- Subject: [Bug tree-optimization/19828] [4.0 Regression] LIM is pulling out a pure function even though there is something which can modify global memory
- References: <20050208190328.19828.pinskia@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rakdver at atrey dot karlin dot mff dot cuni dot cz 2005-02-13 20:11 -------
Subject: Re: [4.0 Regression] LIM is pulling out a pure function even though there is something which can modify global memory
> That's a pretty useless definition of pure functions - they may read global
> memory, but not dereference any pointers which are invalid at any point in
> the life of the program?
sorry, but allowing pure functions to trap would make them even more
useless. For example it would be forbidden to remove calls to them
(no dce), possibilities for code motion would be severely limited,
etc. Hopefully with interprocedural alias analysis pure specifier
will become less needed.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19828