diff options
author | Benjamin Maxwell <benjamin.maxwell@arm.com> | 2025-08-08 09:59:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-08 09:59:24 +0100 |
commit | 94c48a21bbdf0589540cb55057c216607e764919 (patch) | |
tree | 7b3142a88242379b3059ec9567b7c1ea174fe3f5 /llvm/lib/MC/MCDisassembler/Disassembler.h | |
parent | e9d71efb833d6f9fafd5cdff0f79d5c19b458a54 (diff) | |
download | llvm-94c48a21bbdf0589540cb55057c216607e764919.zip llvm-94c48a21bbdf0589540cb55057c216607e764919.tar.gz llvm-94c48a21bbdf0589540cb55057c216607e764919.tar.bz2 |
[AArch64][SVE] Fix hang in VECTOR_HISTOGRAM DAG combine (#152539)
The histogram DAG combine went into an infinite loop of creating the
same histogram node due to an incorrect use of the `refineUniformBase`
and `refineIndexType` APIs.
These APIs take SDValues by reference (SDValue&) and return `true` if
they were "refined" (i.e., set to new values).
Previously, this DAG combine would create the `Ops` array (used to
create the new histogram node) before calling the `refine*` APIs, which
copies the SDValues into the array, meaning the updated values were not
used to create the new histogram node.
Reproducer: https://godbolt.org/z/hsGWhTaqY (it will timeout)
Diffstat (limited to 'llvm/lib/MC/MCDisassembler/Disassembler.h')
0 files changed, 0 insertions, 0 deletions