[PATCH] D51861: [LSR] Combine unfolded offset into invariant register

Gil Rapaport via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 1 09:03:45 PDT 2018


gilr added a comment.

In https://reviews.llvm.org/D51861#1280671, @qcolombet wrote:

> Is this covered by an existing test case?
>  If not, could you add one?


The original patch failed several runtime tests of the LLVM test-suite: n-body, oggenc, HPCCG and PENNANT, where LSR produced an incorrect yet legal formula based on the modified vector of SCEVs, leading to semantically wrong generated code.
Fully covering this bug by a LIT test requires a test case where (a) LSR generates both combinations, (b) SCEV erases one of the registers from the Ops vector and (c) the second combination is included in the solution. The LIT tests included in the original patch do (a) + (c) but I couldn't get them to also do (b). The failing runtime tests do (a) and (b) but not (c).


https://reviews.llvm.org/D51861





More information about the llvm-commits mailing list