[all-commits] [llvm/llvm-project] cf7977: [SCCP] Replace new value's value state with remove...
luxufan via All-commits
all-commits at lists.llvm.org
Sun Jun 11 20:41:21 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cf79773a9006a7e22f3919268b7db381ddcb3abc
https://github.com/llvm/llvm-project/commit/cf79773a9006a7e22f3919268b7db381ddcb3abc
Author: luxufan <luxufan at iscas.ac.cn>
Date: 2023-06-12 (Mon, 12 Jun 2023)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/Scalar/SCCP.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/add-nuw-nsw-flags.ll
M llvm/test/Transforms/SCCP/ip-ranges-sext.ll
Log Message:
-----------
[SCCP] Replace new value's value state with removed value's
In replaceSignedInst, if a signed instruction can be repalced with
unsigned instruction, we created a new instruction and removed the old
instruction's value state. If the following instructions has this new
instruction as a use operand, transformations like replaceSignedInst and
refineInstruction would be blocked. The reason is there is no value
state for the new instrution.
This patch set the new instruction's value state with the removed
instruction's value state. I believe it is correct bacause when we
repalce a signed instruction with unsigned instruction, the value state
is not changed.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D152337
More information about the All-commits
mailing list