-struct fs_block_data {
- /**
- * Which variables are defined before being used in the block.
- *
- * Note that for our purposes, "defined" means unconditionally, completely
- * defined.
- */
- BITSET_WORD *def;
-
- /**
- * Which variables are used before being defined in the block.
- */
- BITSET_WORD *use;
-
- /** Which defs reach the entry point of the block. */
- BITSET_WORD *livein;
-
- /** Which defs reach the exit point of the block. */
- BITSET_WORD *liveout;
-
- /**
- * Variables such that the entry point of the block may be reached from any
- * of their definitions.
- */
- BITSET_WORD *defin;
-
- /**
- * Variables such that the exit point of the block may be reached from any
- * of their definitions.
- */
- BITSET_WORD *defout;
-
- BITSET_WORD flag_def[1];
- BITSET_WORD flag_use[1];
- BITSET_WORD flag_livein[1];
- BITSET_WORD flag_liveout[1];
-};
-