[all-commits] [llvm/llvm-project] 77434c: [DAGCombiner] Teach `reduceLoadWidth` to look past...
Henry Jiang via All-commits
all-commits at lists.llvm.org
Thu Apr 30 09:38:02 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 77434ce19a48c519f8c90043e94fc602d6f86de9
https://github.com/llvm/llvm-project/commit/77434ce19a48c519f8c90043e94fc602d6f86de9
Author: Henry Jiang <henry_jiang2 at apple.com>
Date: 2026-04-30 (Thu, 30 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/load-store-forwarding.ll
A llvm/test/CodeGen/AArch64/reduce-load-width-freeze.ll
M llvm/test/CodeGen/PowerPC/widen-vec-correctly-be.ll
M llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
M llvm/test/CodeGen/X86/and-mask-variable.ll
M llvm/test/CodeGen/X86/bit-manip-i256.ll
M llvm/test/CodeGen/X86/bit-manip-i512.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
A llvm/test/CodeGen/X86/reduce-load-width-freeze.ll
M llvm/test/CodeGen/X86/select.ll
M llvm/test/CodeGen/X86/shift-i128.ll
M llvm/test/CodeGen/X86/shift-i256.ll
M llvm/test/CodeGen/X86/shift-i512.ll
Log Message:
-----------
[DAGCombiner] Teach `reduceLoadWidth` to look past `ISD:FREEZE` (#189317)
Teach `DAGCombiner::reduceLoadWidth` to look through freeze SDNodes when
narrowing loads. The narrowed result is then wrapped in freeze to
preserve the original semantics. Currently, several folds were blocked
by the freeze:
```
and(freeze(load), 0xff) -> AssertZext(freeze(zextload, i8))
trunc(freeze(load i32), i8) -> freeze(load i8)
sext_inreg(freeze(load), i8) -> AssertSext(freeze(sextload, i8))
```
and many other patterns due to legalizer or upstream IR passes inserting
freeze. This generally has the positive effects of narrowing the load
type.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list