#
aa8feeef |
| 25-Jun-2022 |
Kazu Hirata <kazu@google.com> |
Don't use Optional::hasValue (NFC)
|
Revision tags: llvmorg-14.0.6 |
|
#
7a47ee51 |
| 21-Jun-2022 |
Kazu Hirata <kazu@google.com> |
[llvm] Don't use Optional::getValue (NFC)
|
#
e0e687a6 |
| 20-Jun-2022 |
Kazu Hirata <kazu@google.com> |
[llvm] Don't use Optional::hasValue (NFC)
|
#
b254d671 |
| 18-Jun-2022 |
Kazu Hirata <kazu@google.com> |
[llvm] Call *set::insert without checking membership first (NFC)
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4 |
|
#
67be40df |
| 24-May-2022 |
Sotiris Apostolakis <apostolakis@google.com> |
Recommit "[SelectOpti][5/5] Optimize select-to-branch transformation"
Use container::size_type directly to avoid type mismatch causing build failures in Windows.
Original commit message: This patch
Recommit "[SelectOpti][5/5] Optimize select-to-branch transformation"
Use container::size_type directly to avoid type mismatch causing build failures in Windows.
Original commit message: This patch optimizes the transformation of selects to a branch when the heuristics deemed it profitable. It aggressively sinks eligible instructions to the newly created true/false blocks to prevent their execution on the common path and interleaves dependence slices to maximize ILP.
Depends on D120232
Reviewed By: davidxl
Differential Revision: https://reviews.llvm.org/D120233
show more ...
|
#
1786e70b |
| 24-May-2022 |
Sotiris Apostolakis <apostolakis@google.com> |
Revert "[SelectOpti][5/5] Optimize select-to-branch transformation"
This reverts commit a111fb960108df910a864500f3b98d75d37f083c.
|
#
a111fb96 |
| 24-May-2022 |
Sotiris Apostolakis <apostolakis@google.com> |
[SelectOpti][5/5] Optimize select-to-branch transformation
This patch optimizes the transformation of selects to a branch when the heuristics deemed it profitable. It aggressively sinks eligible ins
[SelectOpti][5/5] Optimize select-to-branch transformation
This patch optimizes the transformation of selects to a branch when the heuristics deemed it profitable. It aggressively sinks eligible instructions to the newly created true/false blocks to prevent their execution on the common path and interleaves dependence slices to maximize ILP.
Depends on D120232
Reviewed By: davidxl
Differential Revision: https://reviews.llvm.org/D120233
show more ...
|
#
d7ebb746 |
| 24-May-2022 |
Sotiris Apostolakis <apostolakis@google.com> |
[SelectOpti][4/5] Loop Heuristics
This patch adds the loop-level heuristics for determining whether branches are more profitable than conditional moves. These heuristics apply to only inner-most loo
[SelectOpti][4/5] Loop Heuristics
This patch adds the loop-level heuristics for determining whether branches are more profitable than conditional moves. These heuristics apply to only inner-most loops.
Depends on D120231
Reviewed By: davidxl
Differential Revision: https://reviews.llvm.org/D120232
show more ...
|
#
8b42bc56 |
| 23-May-2022 |
Sotiris Apostolakis <apostolakis@google.com> |
[SelectOpti][3/5] Base Heuristics
This patch adds the base heuristics for determining whether branches are more profitable than conditional moves. Base heuristics apply to all code apart from inner-
[SelectOpti][3/5] Base Heuristics
This patch adds the base heuristics for determining whether branches are more profitable than conditional moves. Base heuristics apply to all code apart from inner-most loops.
Depends on D122259
Reviewed By: davidxl
Differential Revision: https://reviews.llvm.org/D120231
show more ...
|
#
97c3ef5c |
| 23-May-2022 |
Sotiris Apostolakis <apostolakis@google.com> |
[SelectOpti][2/5] Select-to-branch base transformation
This patch implements the actual transformation of selects to branches. It includes only the base transformation without any sinking.
Depends
[SelectOpti][2/5] Select-to-branch base transformation
This patch implements the actual transformation of selects to branches. It includes only the base transformation without any sinking.
Depends on D120230
Reviewed By: davidxl
Differential Revision: https://reviews.llvm.org/D122259
show more ...
|
#
ca7c307d |
| 13-May-2022 |
Sotiris Apostolakis <apostolakis@google.com> |
[SelectOpti][1/5] Setup new select-optimize pass
This is the first commit for the cmov-vs-branch optimization pass. The goal is to develop a new profile-guided and target-independent cost/benefit an
[SelectOpti][1/5] Setup new select-optimize pass
This is the first commit for the cmov-vs-branch optimization pass. The goal is to develop a new profile-guided and target-independent cost/benefit analysis for selecting conditional moves over branches when optimizing for performance.
Initially, this new pass is expected to be enabled only for instrumentation-based PGO.
RFC: https://discourse.llvm.org/t/rfc-cmov-vs-branch-optimization/6040
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D120230
show more ...
|