On Wed, 22 Apr 2015, Jan Hubicka wrote: > > > @@ -42,6 +42,6 @@ bool f(I a, I b, I c, I d) { > > > // This works only if everything is inlined into 'f'. > > > > > > // { dg-final { scan-tree-dump-times ";; Function" 1 "fre2" } } > > > -// { dg-final { scan-tree-dump-times "free" 19 "fre2" } } > > > +// { dg-final { scan-tree-dump-times "free" 18 "fre2" } } > > > // { dg-final { scan-tree-dump-times "unreachable" 11 "fre2" } } > > > // { dg-final { cleanup-tree-dump "fre2" } } > > > > I got > > > > FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++11 scan-tree-dump-times > > fre2 "free" 18 > > FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++14 scan-tree-dump-times > > fre2 "free" 18 > > FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++98 scan-tree-dump-times > > fre2 "free" 18 > > > > on Linux/x86. > > Hmm, I tested on pcc64, but now I see the same failure on x86-64. > Perhaps this testcase became target sensitive? > Richard, does the count really matter?
Well, it verifies that (part) of the desired optimization happens. I can't see what should be target dependent here though. Richard.