[PATCH] D145299: [InstCombine] Generate better code for std::bit_ceil
Kazu Hirata via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 22 23:06:44 PDT 2023
kazu marked an inline comment as done.
kazu added a comment.
I've updated the patch. Please take a look. Thanks!
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp:3197
+ auto MatchForward = [&](Value *CommonAncestor) {
+ const APInt *C = nullptr;
+ if (match(CtlzOp, m_Add(m_Specific(CommonAncestor), m_APInt(C)))) {
----------------
nikic wrote:
> Check `CommonAncestor == CtlzOp` here and then drop the first `if` below? So it's one MatchForward plus one MatchForward after peeking through add?
I am not sure if I understand your suggestion here. Could you elaborate? We have three possibilities:
- Peek through an `add`
- `MatchForward`
- Peek through an `add` and `MatchForward`
I cannot just drop the first `if` below. I need to check for a specific operand `m_Add(m_Specific(CtlzOp), ...)`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D145299/new/
https://reviews.llvm.org/D145299
More information about the llvm-commits
mailing list