HomePhabricator

[LV] Support invariant addresses in speculation logic

Description

[LV] Support invariant addresses in speculation logic

Implement a TODO from rL371452, and handle loop invariant addresses in predicated blocks. If we can prove that the load is safe to speculate into the header, then we can avoid using a masked.load in favour of a normal load.

This is mostly about vectorization robustness. In the common case, it's generally expected that LICM/LoadStorePromotion would have eliminated such loads entirely.

Differential Revision: https://reviews.llvm.org/D67372

Details

Committed
reamesSep 12 2019, 9:49 AM
Differential Revision
D67372: [LV] Support invariant addresses in speculation logic
Parents
rL371744: [ELF] ICF: change a dyn_cast<InputSection> to cast
Branches
Unknown
Tags
Unknown