Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[AggressiveInstCombine] Combine consecutive loads which are being mer…
…ged to form a wider load. The patch simplifies some of the patterns as below 1. (ZExt(L1) << shift1) | (ZExt(L2) << shift2) -> ZExt(L3) << shift1 2. (ZExt(L1) << shift1) | ZExt(L2) -> ZExt(L3) The pattern is indicative of the fact that the loads are being merged to a wider load and the only use of this pattern is with a wider load. In this case for a non-atomic/non-volatile loads reduce the pattern to a combined load which would improve the cost of inlining, unrolling, vectorization etc. Fix the error reported on reverse load merge. Differential Revision: https://reviews.llvm.org/D127392
- Loading branch information
Showing
3 changed files
with
1,228 additions
and
687 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.