[SCCP] Tune cast instruction handling for overdefined operand
authorAnton Afanasyev <anton.a.afanasyev@gmail.com>
Sun, 24 Oct 2021 19:43:12 +0000 (22:43 +0300)
committerAnton Afanasyev <anton.a.afanasyev@gmail.com>
Mon, 8 Nov 2021 15:34:30 +0000 (18:34 +0300)
commitce4fa93db8b2511c389f27fba3e72b5b70c1b7db
tree9e67e6d31ae324c9e1fd6e48b3e902ebce918e8d
parent28b3cac7cf403bfc824299087a7420783c2d9311
[SCCP] Tune cast instruction handling for overdefined operand

Extended value is known to be inside range smaller than full one.
Prevent SCCP to mark such value as overdefined.

Fixes PR52253

Differential Revision: https://reviews.llvm.org/D112721
llvm/lib/Transforms/Utils/SCCPSolver.cpp
llvm/test/Transforms/PhaseOrdering/X86/pr52253.ll
llvm/test/Transforms/SCCP/ip-ranges-casts.ll
llvm/test/Transforms/SCCP/overdefined-ext.ll
llvm/test/Transforms/SCCP/pr52253.ll