LLVM: llvm::SplitAnalysis::BlockInfo Struct Reference (original) (raw)

Additional information about basic blocks where the current variable is live. More...

Additional information about basic blocks where the current variable is live.

Such a block will look like one of these templates:

  1. | o—x | Internal to block. Variable is only live in this block.
  2. |—x | Live-in, kill.
  3. | o—| Def, live-out.
  4. |—x o—| Live-in, kill, def, live-out. Counted by NumGapBlocks.
  5. |—o—o—| Live-through with uses or defs.
  6. |--------—| Live-through without uses. Counted by NumThroughBlocks.

Two BlockInfo entries are created for template 4. One for the live-in segment, and one for the live-out segment. These entries look as if the block were split in the middle where the live range isn't live.

Live-through blocks without any uses don't get BlockInfo entries. They are simply listed in ThroughBlocks instead.

Definition at line 121 of file SplitKit.h.