diff options
author | Steven Bosscher <steven@gcc.gnu.org> | 2012-10-09 20:37:11 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2012-10-09 20:37:11 +0000 |
commit | aa4723d7f56dd0c690c514b50c917c827a3d56dd (patch) | |
tree | 784313dcb1809538918556fac30dbf561f9d8332 /gcc/cfghooks.h | |
parent | ca4277584fa6e046279dd3e75fdaa53881d9eaf3 (diff) | |
download | gcc-aa4723d7f56dd0c690c514b50c917c827a3d56dd.tar.gz |
* basic-block. (profile_record): New struct, moved from passes.c.
* cfghooks.h (struct cfg_hooks) <account_profile_record>: New hook.
(account_profile_record): New prototype.
* cfghooks.c (account_profile_record): New function.
* tree-cfg.c (gimple_account_profile_record): New function
(gimple_cfg_hooks): Add it.
* cfgrtl.c (rtl_account_profile_record): New function
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Add it.
* passes.c (check_profile_consistency): Simplify. Move IR-dependent
code around using cfghooks machinery.
From-SVN: r192271
Diffstat (limited to 'gcc/cfghooks.h')
-rw-r--r-- | gcc/cfghooks.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h index 951bdf6e17d..2806c4f27c5 100644 --- a/gcc/cfghooks.h +++ b/gcc/cfghooks.h @@ -145,6 +145,9 @@ struct cfg_hooks /* Split a basic block if it ends with a conditional branch and if the other part of the block is not empty. */ basic_block (*split_block_before_cond_jump) (basic_block); + + /* Do book-keeping of a basic block for the profile consistency checker. */ + void (*account_profile_record) (basic_block, int, struct profile_record *); }; extern void verify_flow_info (void); @@ -198,6 +201,8 @@ extern void copy_bbs (basic_block *, unsigned, basic_block *, edge *, unsigned, edge *, struct loop *, basic_block); +void account_profile_record (struct profile_record *, int); + extern void cfg_layout_initialize (unsigned int); extern void cfg_layout_finalize (void); |