On Fri, Sep 30, 2022 at 4:06 PM Jeff Law <j...@ventanamicro.com> wrote: > > > It's a bit weird that free_dom_edge_info leaves a dangling pointer in > e->aux. Not sure what I was thinking. > > > There's two callers. One wipes e->aux immediately after the call, the > other attaches a newly created object immediately after the call. So we > can wipe e->aux within the call and simplify one of the two call sites. > > This is preparatory work for a minor optimization where we want to > detect another class of edge equivalences in DOM (until something better > is available) and either attach them an existing edge_info structure or > create a new one if one doesn't currently exist for a given edge. > > Bootstrapped and regression tested on x86_64. Installing on the trunk. >
I got /export/gnu/import/git/sources/gcc/gcc/tree-ssa-dom.cc: In function ‘void record_edge_info(basic_block)’: /export/gnu/import/git/sources/gcc/gcc/tree-ssa-dom.cc:689:27: error: ‘dst’ was not declared in this scope; did you mean ‘dse’? 689 | if (dst == PHI_ARG_DEF (phi, !alternative)) | ^~~ | dse In file included from /export/gnu/import/git/sources/gcc/gcc/gimple-ssa.h:24, from /export/gnu/import/git/sources/gcc/gcc/ssa.h:27, from /export/gnu/import/git/sources/gcc/gcc/tree-ssa-dom.cc:28: /export/gnu/import/git/sources/gcc/gcc/tree-ssa-dom.cc:689:47: error: ‘phi’ was not declared in this scope; did you mean ‘gphi’? 689 | if (dst == PHI_ARG_DEF (phi, !alternative)) | ^~~ /export/gnu/import/git/sources/gcc/gcc/tree-ssa-operands.h:82:54: note: in definition of macro ‘PHI_ARG_DEF’ 82 | #define PHI_ARG_DEF(PHI, I) gimple_phi_arg_def ((PHI), (I)) | ^~~ make: *** [Makefile:1146: tree-ssa-dom.o] Error 1 -- H.J.