[PATCH] D148210: [InstCombine] icmp(MulC * X * Y, C) --> icmp(X * Y, C)
Jun Zhang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 13 03:25:57 PDT 2023
junaire created this revision.
junaire added reviewers: RKSimon, spatel, nikic, goldstein.w.n, bcl5980.
Herald added subscribers: StephenFan, hiraditya.
Herald added a project: All.
junaire requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
We can eliminate an mul operation, based on the below assumptions:
1. All The two mul instructions all have nsw flag.
2. MulC > 0
Pred == slt/sge && C is 0 or 1
Pred == sgt/sle && C is 0 or -1
Alive2:
slt: https://alive2.llvm.org/ce/z/k5VDfy
sge: https://alive2.llvm.org/ce/z/6iyGHX
sgt: https://alive2.llvm.org/ce/z/A6KiBf
sle: https://alive2.llvm.org/ce/z/g5r-X6
Related issue: https://github.com/llvm/llvm-project/issues/61538
Signed-off-by: Jun Zhang <jun at junz.org>
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D148210
Files:
llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
llvm/test/Transforms/InstCombine/icmp.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148210.513152.patch
Type: text/x-patch
Size: 10496 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230413/86038c9b/attachment.bin>
More information about the llvm-commits
mailing list