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. >Thanks > >Andrew >