[all-commits] [llvm/llvm-project] de122c: [SCCP] Use range info to prove AddInst has NUW flag.
Florian Hahn via All-commits
all-commits at lists.llvm.org
Tue Jan 24 12:53:25 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: de122cb920080fd9e24b2777114271fbef932d5e
https://github.com/llvm/llvm-project/commit/de122cb920080fd9e24b2777114271fbef932d5e
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-01-24 (Tue, 24 Jan 2023)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/add-nuw-nsw-flags.ll
M llvm/test/Transforms/SCCP/binaryops-constexprs.ll
M llvm/test/Transforms/SCCP/conditions-ranges-with-undef.ll
M llvm/test/Transforms/SCCP/conditions-ranges.ll
M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
M llvm/test/Transforms/SCCP/ip-constant-ranges.ll
M llvm/test/Transforms/SCCP/ip-ranges-binaryops.ll
M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
M llvm/test/Transforms/SCCP/ip-ranges-phis.ll
M llvm/test/Transforms/SCCP/ip-ranges-select.ll
M llvm/test/Transforms/SCCP/return-argument.ll
M llvm/test/Transforms/SCCP/return-constants.ll
M llvm/test/Transforms/SCCP/widening.ll
Log Message:
-----------
[SCCP] Use range info to prove AddInst has NUW flag.
This patch updates SCCP to use the value ranges of AddInst operands to
try to prove the AddInst does not overflow in the unsigned sense and
adds the NUW flag. The reasoning is done with
makeGuaranteedNoWrapRegion (thanks @nikic for point it out!).
Follow-ups will include adding NSW and extension to more
OverflowingBinaryOperators.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D142387
More information about the All-commits
mailing list