------- 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