[all-commits] [llvm/llvm-project] 239a61: [instcombine] Collapse trivial and recurrences
Philip Reames via All-commits
all-commits at lists.llvm.org
Mon Mar 8 09:21:58 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 239a618180313a13bb2b4b9cf2cd3828f1487c42
https://github.com/llvm/llvm-project/commit/239a618180313a13bb2b4b9cf2cd3828f1487c42
Author: Philip Reames <listmail at philipreames.com>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/IndVarSimplify/X86/pr45360.ll
M llvm/test/Transforms/InstCombine/recurrence.ll
Log Message:
-----------
[instcombine] Collapse trivial and recurrences
If we have a recurrence of the form <Start, And, Step> we know that the value taken by the recurrence stabilizes on the first iteration (provided step is loop invariant). We can exploit that fact to remove the loop carried dependence in the recurrence.
Differential Revision: https://reviews.llvm.org/D97578 (and part)
Commit: ebc61f9d3caaf9683be6af91c33ef029b67b9ff8
https://github.com/llvm/llvm-project/commit/ebc61f9d3caaf9683be6af91c33ef029b67b9ff8
Author: Philip Reames <listmail at philipreames.com>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/recurrence.ll
Log Message:
-----------
[instcombine] Collapse trivial or recurrences
If we have a recurrence of the form <Start, Or, Step> we know that the value taken by the recurrence stabilizes on the first iteration (provided step is loop invariant). We can exploit that fact to remove the loop carried dependence in the recurrence.
Differential Revision: https://reviews.llvm.org/D97578 (or part)
Compare: https://github.com/llvm/llvm-project/compare/7a64cc4a764e...ebc61f9d3caa
More information about the All-commits
mailing list