On 12/14/2021 12:51 PM, Andrew MacLeod via Gcc-patches wrote:
On 12/3/21 11:46, Richard Biener wrote:
On December 3, 2021 3:15:25 PM GMT+01:00, Andrew MacLeod
<amacl...@redhat.com> wrote:
When something like the loop unswitching code adds elements to the
CFGs,
does this invalidate the dominators? or are they updated? or is it in
an in between state.
Im curious because a) the relation code uses it under the covers,
and b)
Im looking to add a ranger caching improvement which also uses
dominators if they are available.
When blocks are added, I wonder what will happen to
1) dom_info_available_p (CDI_DOMINATORS) (is it still true), and
then what happens to
2) get_immediate_dominator (CDI_DOMINATORS, bb); for one of the
newly added BBs.
Dominators are generally updated by most high level CFG
manipulations, just the fast queries are invalidated. If a pass uses
CFG manipulation that does not update dominators you will get ICEs or
silent wron code...
Richard.
Are post dominators generally available as well? ie, does the
presence of one imply the other? or do I need to call
calculate_dominance _info with CDI_POST_DOMINATORS?
They're built and maintained separately.
jeff