[ARM] Ensure loop invariant active.lane.mask operands
authorDavid Green <david.green@arm.com>
Mon, 26 Apr 2021 09:04:33 +0000 (10:04 +0100)
committerDavid Green <david.green@arm.com>
Mon, 26 Apr 2021 09:04:33 +0000 (10:04 +0100)
commit258e2e9a0bdc1e0b0ade99a27de4190010cbee78
treee116f9839d1791ff5c8943f6e1db0866df893661
parent16dc9afa097d2577eff640f0fe9d388960c62cb9
[ARM] Ensure loop invariant active.lane.mask operands

CGP can move instructions like a ptrtoint into a loop, but the
MVETailPredication when converting them will currently assume invariant
trip counts. This tries to ensure the operands are loop invariant, and
bails if not.

Differential Revision: https://reviews.llvm.org/D100550
llvm/lib/Target/ARM/MVETailPredication.cpp
llvm/test/CodeGen/Thumb2/mve-tailpred-loopinvariant.ll [new file with mode: 0644]