HomePhabricator

[LV] Support invariant addresses in speculation logic

Authored by reames on Sep 12 2019, 9:49 AM.

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

llvm-svn: 371745

Details

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