![]() 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 |
||
---|---|---|
.. | ||
AggressiveInstCombine.cpp | ||
AggressiveInstCombineInternal.h | ||
CMakeLists.txt | ||
TruncInstCombine.cpp |