[all-commits] [llvm/llvm-project] 1b8788: [LoopPredication] Rework assumes of widened condit...
Aleksandr Popov via All-commits
all-commits at lists.llvm.org
Fri Aug 18 05:37:04 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1b87882228b0371212753781a363d4addd1bafa7
https://github.com/llvm/llvm-project/commit/1b87882228b0371212753781a363d4addd1bafa7
Author: Aleksandr Popov <a.popov.tmb at gmail.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopPredication.cpp
M llvm/test/Transforms/LoopPredication/basic_widenable_branch_guards.ll
Log Message:
-----------
[LoopPredication] Rework assumes of widened conditions
Currently after widening br(WC && (c1 && c2)) we insert assume of
(c1 && c2) which is joined to WC by And operation.
But we are going to support more flexible form of widenable branches
where WC could be placed arbitrary in the expression tree, e.g:
br(c1 && (c2 && WC)).
In that case we won't have (c1 && c2) in the IR. So we need to add
explicit (c1 && c2) and then create an assumption of it.
Reviewed By: anna
Differential Revision: https://reviews.llvm.org/D157502
More information about the All-commits
mailing list