aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/Assembler/autoupgrade-lifetime-intrinsics.ll
diff options
context:
space:
mode:
authorDonĂ¡t Nagy <donat.nagy@ericsson.com>2025-10-18 23:00:46 +0200
committerGitHub <noreply@github.com>2025-10-18 23:00:46 +0200
commit0f6f13bdccd3345522b7d38294a72b802b6ffc28 (patch)
tree8d323d0dc4d0534dd512d5df0967f91945aed173 /llvm/test/Assembler/autoupgrade-lifetime-intrinsics.ll
parent023b1f6a8ed79b9a0d415522dbb3032a5c5df791 (diff)
downloadllvm-main.zip
llvm-main.tar.gz
llvm-main.tar.bz2
[NFCI][analyzer] Make CallEvent::getState protected (#162673)HEADmain
`CallEvent` instances have a reference to a state object instead having separate data members for storing the arguments (as `SVal` instances), the return value (as `SVal`, if available), the dynamic type information and similar things. Previously this state was publicly available, which meant that many checker callbacks had two ways to access the state: either through the `CallEvent` or through the `CheckerContext`. This redundancy is inelegant and bugprone (e.g. the recent commit 6420da68972782c37c4f147409dadcb970583d9e fixed a situation where the state attached to the `CallEvent` could be obsolete in `EvalCall` and `PointerEscape` callbacks), so this commit limits access to the state attached to a `CallEvent` and turns it into a protected implementation detail. In the future it may be a good idea to completely remove the state instance from the `CallEvent` and explicitly store the few parts of the state which are relevant for the call and do not change during the evaluation of the call. In theory this commit should be a non-functional change (because AFAIK the `CallEvent` and `CheckerContext` provide the same state after the recent fix), but there is a small chance that it fixes some bugs that I do not know about. --------- Co-authored-by: Artem Dergachev <noqnoqneo@gmail.com>
Diffstat (limited to 'llvm/test/Assembler/autoupgrade-lifetime-intrinsics.ll')
0 files changed, 0 insertions, 0 deletions