aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-predicate-analysis.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-11-10 12:37:32 +0100
committerRichard Biener <rguenther@suse.de>2021-11-11 09:20:15 +0100
commit0136f25ac063b811501b71c0433cf4bac3549206 (patch)
tree3a7477dbea2a56db564bf9ab0ae52de5afb65c78 /gcc/gimple-predicate-analysis.cc
parenta11afa7af8ae496a403be9f6dac9e72a27d59466 (diff)
downloadgcc-0136f25ac063b811501b71c0433cf4bac3549206.zip
gcc-0136f25ac063b811501b71c0433cf4bac3549206.tar.gz
gcc-0136f25ac063b811501b71c0433cf4bac3549206.tar.bz2
Remove find_pdom and find_dom
This removes now useless wrappers around get_immediate_dominator. 2021-11-11 Richard Biener <rguenther@suse.de> * cfganal.c (find_pdom): Remove. (control_dependences::find_control_dependence): Remove special-casing of entry block, call get_immediate_dominator directly. * gimple-predicate-analysis.cc (find_pdom): Remove. (find_dom): Likewise. (find_control_equiv_block): Call get_immediate_dominator directly. (compute_control_dep_chain): Likewise. (predicate::init_from_phi_def): Likewise.
Diffstat (limited to 'gcc/gimple-predicate-analysis.cc')
-rw-r--r--gcc/gimple-predicate-analysis.cc36
1 files changed, 3 insertions, 33 deletions
diff --git a/gcc/gimple-predicate-analysis.cc b/gcc/gimple-predicate-analysis.cc
index f0c8444..454113d 100644
--- a/gcc/gimple-predicate-analysis.cc
+++ b/gcc/gimple-predicate-analysis.cc
@@ -45,36 +45,6 @@
#define DEBUG_PREDICATE_ANALYZER 1
-/* Find the immediate postdominator of the specified basic block BB. */
-
-static inline basic_block
-find_pdom (basic_block bb)
-{
- basic_block exit_bb = EXIT_BLOCK_PTR_FOR_FN (cfun);
- if (bb == exit_bb)
- return exit_bb;
-
- if (basic_block pdom = get_immediate_dominator (CDI_POST_DOMINATORS, bb))
- return pdom;
-
- return exit_bb;
-}
-
-/* Find the immediate dominator of the specified basic block BB. */
-
-static inline basic_block
-find_dom (basic_block bb)
-{
- basic_block entry_bb = ENTRY_BLOCK_PTR_FOR_FN (cfun);
- if (bb == entry_bb)
- return entry_bb;
-
- if (basic_block dom = get_immediate_dominator (CDI_DOMINATORS, bb))
- return dom;
-
- return entry_bb;
-}
-
/* Return true if BB1 is postdominating BB2 and BB1 is not a loop exit
bb. The loop exit bb check is simple and does not cover all cases. */
@@ -96,7 +66,7 @@ is_non_loop_exit_postdominating (basic_block bb1, basic_block bb2)
static inline basic_block
find_control_equiv_block (basic_block bb)
{
- basic_block pdom = find_pdom (bb);
+ basic_block pdom = get_immediate_dominator (CDI_POST_DOMINATORS, bb);
/* Skip the postdominating bb that is also a loop exit. */
if (!is_non_loop_exit_postdominating (pdom, bb))
@@ -1167,7 +1137,7 @@ compute_control_dep_chain (basic_block dom_bb, const_basic_block dep_bb,
break;
}
- cd_bb = find_pdom (cd_bb);
+ cd_bb = get_immediate_dominator (CDI_POST_DOMINATORS, cd_bb);
post_dom_check++;
if (cd_bb == EXIT_BLOCK_PTR_FOR_FN (cfun)
|| post_dom_check > MAX_POSTDOM_CHECK)
@@ -1788,7 +1758,7 @@ predicate::init_from_phi_def (gphi *phi)
basic_block phi_bb = gimple_bb (phi);
/* Find the closest dominating bb to be the control dependence root. */
- basic_block cd_root = find_dom (phi_bb);
+ basic_block cd_root = get_immediate_dominator (CDI_DOMINATORS, phi_bb);
if (!cd_root)
return false;