diff options
author | Steven Bosscher <stevenb@suse.de> | 2005-01-17 22:02:28 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2005-01-17 22:02:28 +0000 |
commit | 740ce53d8ae86887612273a219a3aa6fa97040a9 (patch) | |
tree | 9482053a02baa634992e1645e25ff362d2445b74 /gcc/basic-block.h | |
parent | 2184a1201e63dbd4798c041370f7fcbb711813fb (diff) | |
download | gcc-740ce53d8ae86887612273a219a3aa6fa97040a9.zip gcc-740ce53d8ae86887612273a219a3aa6fa97040a9.tar.gz gcc-740ce53d8ae86887612273a219a3aa6fa97040a9.tar.bz2 |
basic-block.h: Document BB_* flags.
* basic-block.h: Document BB_* flags.
* regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED,
use an sbitmap instead.
* sched-rgn.c (compute_trg_info): Likewise.
From-SVN: r93779
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index bfeac26..d377fb6 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -285,17 +285,47 @@ typedef struct reorder_block_def #define BB_FREQ_MAX 10000 -/* Masks for basic_block.flags. */ +/* Masks for basic_block.flags. + + BB_VISITED should not be used by passes, it is used internally by + dfs_enumerate_from. + + BB_HOT_PARTITION and BB_COLD_PARTITION should be preserved throughout + the compilation, so they are never cleared. + + All other flags may be cleared by clear_bb_flags(). It is generally + a bad idea to rely on any flags being up-to-date. */ + +/* Set if insns in BB have are modified. Used for updating liveness info. */ #define BB_DIRTY 1 + +/* Only set on blocks that have just been created by create_bb. */ #define BB_NEW 2 + +/* Set by find_unreachable_blocks. Do not rely on this being set in any + pass. */ #define BB_REACHABLE 4 + +/* Used by dfs_enumerate_from to keep track of visited basic blocks. */ #define BB_VISITED 8 + +/* Set for blocks in an irreducible loop by loop analysis. */ #define BB_IRREDUCIBLE_LOOP 16 + +/* Set on blocks that may actually not be single-entry single-exit block. */ #define BB_SUPERBLOCK 32 -#define BB_DISABLE_SCHEDULE 64 +/* Set on basic blocks that the scheduler should not touch. This is used + by SMS to prevent other schedulers from messing with the loop schedule. */ +#define BB_DISABLE_SCHEDULE 64 + +/* Set on blocks that should be put in a hot section. */ #define BB_HOT_PARTITION 128 + +/* Set on blocks that should be put in a cold section. */ #define BB_COLD_PARTITION 256 + +/* Dummy flag for convenience in the hot/cold partitioning code. */ #define BB_UNPARTITIONED 0 /* Partitions, to be used when partitioning hot and cold basic blocks into |