• GEN and KILL sets

  • In data-flow analysis , GEN and KILL sets are concepts used to track where locations (~equiv. to place expressions and variables) are used throughout a program.

  • The \GEN[B]\GEN[B] set contains facts that are created within (basic block) BB.

    • Example (reaching definitions), the GEN set of x←a+bx\leftarrow a+b contains that specific definition of xx.

    • Example (available expressions), the GEN set of x←a+bx\leftarrow a+b contains the expression a+ba+b.

    • Example (live variables), the GEN set of x←a+bx\leftarrow a+b is {a,b}\{a,b\}.

  • The \KILL[B]\KILL[B] set contains facts that are invalidated by BB.

  • Reaching Definitions

    • def=

  • Available Expression

  • Liveness Analysis

Snapshot: 84b34f19db8bb5a5ba52e85643e64a9ae86eeffeb6adbcd9b323cdcfe913a6fc117a765d81740449b2b352eafd96385b999cfdb00145d6017943a0c3191903f6 list?snapshot=84b34f19db8bb5a5ba52e85643e64a9ae86eeffeb6adbcd9b323cdcfe913a6fc117a765d81740449b2b352eafd96385b999cfdb00145d6017943a0c3191903f6