Conversation
Diff moderunner: ariselab-64c-docker 891 files changed, 270695 insertions(+), 270382 deletions(-) +9 velox/FirstLastValue.ll |
|
This patch applies a set of loop-invariant code motion (LICM) and arithmetic strength-reduction optimizations across many LLVM IR files. The core transformation is the extraction of invariant subtractions—specifically expressions of the form The major changes are:
These changes collectively improve performance by reducing loop-carried dependencies, decreasing dynamic instruction count, and enabling further downstream optimizations like vectorization or better register allocation. model: qwen-plus-latest |
| %.02132.i.i = phi i64 [ %.sroa.023.078, %.lr.ph.i.i ], [ %43, %40 ] | ||
| %.02132.i.i = phi ptr [ %.sroa.1029.077, %.lr.ph.i.i ], [ %41, %40 ] | ||
| %36 = add i64 %.033.i.i, %invariant.op | ||
| %37 = icmp eq i64 %36, 0 |
There was a problem hiding this comment.
Looks like we have a bunch of regressions like this where the icmp is no longer optimized away...
Link: llvm/llvm-project#183082
Requested by: @SavchenkoValeriy