History log of /llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp (Results 1 – 9 of 9)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7
# ee7ca0dd 20-Dec-2024 Paul Bowen-Huggett <paulhuggett@mac.com>

Make CombinerHelper methods const (#119529)

There are a number of backends (specifically AArch64, AMDGPU, Mips, and
RISCV) which contain a “TODO: make CombinerHelper methods const”
comment. This P

Make CombinerHelper methods const (#119529)

There are a number of backends (specifically AArch64, AMDGPU, Mips, and
RISCV) which contain a “TODO: make CombinerHelper methods const”
comment. This PR does just that and makes all of the CombinerHelper
methods const, removes the TODO comments and makes the associated
instances const. This change makes some sense because the CombinerHelper
class simply modifies the state of _other_ objects to which it holds
pointers or references.

Note that AMDGPU contains an identical comment for an instance of
AMDGPUCombinerHelper (a subclass of CombinerHelper). I deliberately
haven’t modified the methods of that class in order to limit the scope
of the change. I’m happy to do so either now or as a follow-up.

show more ...


Revision tags: llvmorg-19.1.6
# f01b62ad 13-Dec-2024 Kazu Hirata <kazu@google.com>

[GlobalISel] Fix warnings

This patch fixes:

llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp:167:21: error:
unused variable 'DL' [-Werror,-Wunused-variable]

llvm/lib/CodeGen/GlobalISel/Lo

[GlobalISel] Fix warnings

This patch fixes:

llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp:167:21: error:
unused variable 'DL' [-Werror,-Wunused-variable]

llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp:320:15: error: unused
variable 'DL' [-Werror,-Wunused-variable]

show more ...


# 0d9fc174 13-Dec-2024 Craig Topper <craig.topper@sifive.com>

[GISel] Remove unused DataLayout operand from getApproximateEVTForLLT (#119833)


Revision tags: llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0
# ba4bcce5 11-Sep-2024 Thorsten Schütt <schuett@gmail.com>

[GlobalIsel] Combine trunc of binop (#107721)

trunc (binop X, C) --> binop (trunc X, trunc C) --> binop (trunc X, C`)

Try to narrow the width of math or bitwise logic instructions by pulling
a

[GlobalIsel] Combine trunc of binop (#107721)

trunc (binop X, C) --> binop (trunc X, trunc C) --> binop (trunc X, C`)

Try to narrow the width of math or bitwise logic instructions by pulling
a truncate ahead of binary operators.

Vx and Nx cores consider 32-bit and 64-bit basic arithmetic equal in
costs.

show more ...


Revision tags: llvmorg-19.1.0-rc4
# 0b0ccd56 21-Aug-2024 Thorsten Schütt <schuett@gmail.com>

[GlobalIsel] Push cast through build vector (#104634)

Credits: https://github.com/llvm/llvm-project/pull/100563


Revision tags: llvmorg-19.1.0-rc3
# 710a552d 16-Aug-2024 Thorsten Schütt <schuett@gmail.com>

[GlobalIsel] Revisit ext of ext. (#102769)

Credits:
https://reviews.llvm.org/D86516

combine-ext.mir

Notable semantic changes:
InstCombine does not mix zero and sign extend,
see CastInst::

[GlobalIsel] Revisit ext of ext. (#102769)

Credits:
https://reviews.llvm.org/D86516

combine-ext.mir

Notable semantic changes:
InstCombine does not mix zero and sign extend,
see CastInst::isEliminableCastPair.
New version has legality checks.
Folds sext/zext of anyext -> sext/zext
Support for nneg

Future work:
nneg zext of sext -> sext
sext of nneg zext -> sext

show more ...


Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1
# db8c84fc 25-Jul-2024 Thorsten Schütt <schuett@gmail.com>

[GlobalIsel] Push cast through select. (#100539)


# bfcfb0fd 24-Jul-2024 Thorsten Schütt <schuett@gmail.com>

[GlobalIsel] Modernize truncate of ext. (#100338)

Credits:
https://github.com/llvm/llvm-project/pull/90964
https://reviews.llvm.org/D87050

combine-trunc.mir

Functional changes intended.


# 2ca300f9 24-Jul-2024 Thorsten Schütt <schuett@gmail.com>

[GlobalIsel][NFC] Move cast code (#100196)

Preparation for more cast combines