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