[all-commits] [llvm/llvm-project] e9d298: InstCombine: Perform simpler test of APFloat first
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Tue Dec 13 07:51:54 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e9d298d7c6a8cef6e1de06414a000e395b379a18
https://github.com/llvm/llvm-project/commit/e9d298d7c6a8cef6e1de06414a000e395b379a18
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2022-12-13 (Tue, 13 Dec 2022)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
InstCombine: Perform simpler test of APFloat first
Commit: 8fc25caae5305b9e4113b9dd5332e7375a5657a6
https://github.com/llvm/llvm-project/commit/8fc25caae5305b9e4113b9dd5332e7375a5657a6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2022-12-13 (Tue, 13 Dec 2022)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/test/Transforms/InstCombine/is_fpclass.ll
Log Message:
-----------
InstCombine: Fold logic of fp_classes together
Move logical operators on pairs of llvm.is.fpclass on the same value
into the test mask of a single is_fpclass.
or (class x, mask0), (class x, mask1) -> class x, (mask0 | mask1)
and (class x, mask0), (class x, mask1) -> class x, (mask0 & mask1)
xor (class x, mask0), (class x, mask1) -> class x, (mask0 ^ mask1)
The and/or cases should appear frequently in the builtin math
libraries; haven't seen the xor case but handle it for completeness.
Compare: https://github.com/llvm/llvm-project/compare/834c17f618ce...8fc25caae530
More information about the All-commits
mailing list