[all-commits] [llvm/llvm-project] 0f4eb5: ValueTracking: Replace CannotBeNegativeZero
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Wed Jul 12 10:14:20 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0f4eb557e87912afa412b1b0299d10eb7443410b
https://github.com/llvm/llvm-project/commit/0f4eb557e87912afa412b1b0299d10eb7443410b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-07-12 (Wed, 12 Jul 2023)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Log Message:
-----------
ValueTracking: Replace CannotBeNegativeZero
This is now just a wrapper around computeKnownFPClass.
Commit: 05f0de3d74e97b594da99225a7a0b44e6ea1f3b1
https://github.com/llvm/llvm-project/commit/05f0de3d74e97b594da99225a7a0b44e6ea1f3b1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-07-12 (Wed, 12 Jul 2023)
Changed paths:
A llvm/test/Transforms/Attributor/nofpclass-select.ll
Log Message:
-----------
ValueTracking: Add base computeKnownFPClass select handling tests
Prepare to handle class clamping patterns. Working around some kind of
select special casing bug in attributor where computeKnownFPClass is
never called on select.
Commit: 6ed48ebf2e80c3ada88b95c0122ead24c4cd4f29
https://github.com/llvm/llvm-project/commit/6ed48ebf2e80c3ada88b95c0122ead24c4cd4f29
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-07-12 (Wed, 12 Jul 2023)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-select.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
Log Message:
-----------
ValueTracking: Recognize fpclass clamping select patterns
Improve computeKnownFPClass select handling to cover the case where
the condition performs a class test. This allows us to recognize
no-nans in cases like:
%not.nan = fcmp ord float %x, 0.0
%select = select i1 %not.nan, float %x, float 0.0
Math library code has similar edge case filtering on the inputs and
final results.
https://reviews.llvm.org/D153089
Compare: https://github.com/llvm/llvm-project/compare/d1367ca46ee4...6ed48ebf2e80
More information about the All-commits
mailing list