On Thu, 3 Oct 2019, Jan Hubicka wrote:
Tests that now fail, but worked before (15 tests):
g++.dg/tree-ssa/pr61034.C -std=gnu++14 scan-tree-dump-times fre3 ";;
Function" 1
g++.dg/tree-ssa/pr61034.C -std=gnu++14 scan-tree-dump-times fre3 "free" 14
g++.dg/tree-ssa/pr61034.C -std=gnu++14 scan-tree-dump-times optimized "free" 0
g++.dg/tree-ssa/pr61034.C -std=gnu++17 scan-tree-dump-times fre3 ";;
Function" 1
g++.dg/tree-ssa/pr61034.C -std=gnu++17 scan-tree-dump-times fre3 "free" 14
g++.dg/tree-ssa/pr61034.C -std=gnu++17 scan-tree-dump-times optimized "free" 0
g++.dg/tree-ssa/pr61034.C -std=gnu++98 scan-tree-dump-times fre3 ";;
Function" 1
g++.dg/tree-ssa/pr61034.C -std=gnu++98 scan-tree-dump-times fre3 "free" 14
g++.dg/tree-ssa/pr61034.C -std=gnu++98 scan-tree-dump-times optimized "free" 0
There were others, but starting with these seems as good as any.
Sorry for that. Seems I managed to leave this one out of the final
patch. It is very sensitive to how things are inlined. If it breaks
again I guess I will try to work out explicit noinline/always_inline
attributes to make it to work.
If you want to cheat and consider it as a test only for FRE / DCE,
__attribute__((flatten)) on f should work. But it can be useful to keep it
in a state where it still tests the inliner as well...
--
Marc Glisse