This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/21982] GCC should combine adjacent stdio calls
- From: "ghazi at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Jun 2005 16:49:40 -0000
- Subject: [Bug tree-optimization/21982] GCC should combine adjacent stdio calls
- References: <20050609125653.21982.ghazi@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From ghazi at gcc dot gnu dot org 2005-06-09 16:49 -------
(In reply to comment #4)
> (In reply to comment #1)
> > If side effects appear in the arguments, that also would be a problem, e.g.:
> >
> > printf("%d", i++);
> > printf("%d", i++);
> >
> > should not be turned into:
> >
> > printf("%d%d", i++, i++);
> >
> There should be little danger of this. Side-effects are explicitly exposed in
> GIMPLE. As long as the printf() calls are adjacent, we should be able to
> combine them.
> Diego.
I'm not sure. In my specific example above, after the combination we don't
know which i++ gets executed first because the order is not guaranteed within
an argument list of a single function call (right?) So if we want to include
combinations whose arguments have side-effects, we have to prove they don't
interact with any other arguments.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21982