aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2024-08-13 11:01:39 +0200
committerGitHub <noreply@github.com>2024-08-13 11:01:39 +0200
commit306b9c7b48ade28ed10e5926b6d9f5e3acab3968 (patch)
treeff64772a419e1c982f2d1ec2928ce8d286c1d77a /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parent334a366ba792adb41ccf43457b65ac88aa37f178 (diff)
downloadllvm-306b9c7b48ade28ed10e5926b6d9f5e3acab3968.zip
llvm-306b9c7b48ade28ed10e5926b6d9f5e3acab3968.tar.gz
llvm-306b9c7b48ade28ed10e5926b6d9f5e3acab3968.tar.bz2
[SCEV] Handle more add/addrec mixes in computeConstantDifference() (#101999)
computeConstantDifference() can currently look through addrecs with identical steps, and then through adds with identical operands (apart from constants). However, it fails to handle minor variations, such as two nested add recs, or an outer add with an inner addrec (rather than the other way around). This patch supports these cases by adding a loop over the simplifications, limited to a small number of iterations. The motivation is the same as in #101339, to make computeConstantDifference() powerful enough to replace existing uses of `dyn_cast<SCEVConstant>(getMinusSCEV())` with it. Though as the IR test diff shows, other callers may also benefit.
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions