The invariant range analysis is supported under a new pass, -invariant-range-analysis, and uses both dominator tree and post-dominator tree analyses to determine if a given instruction modifies some given memory.
For starters, this is focused only on local variables and call instructions as potential clobbers.
To avoid efficiency concerns with postdom analysis, and pending upcoming benchmark results, the effects of this analysis are also localized to GVN only (via a flag that is set only in GVN).
Please alphabetize.