summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
diff options
context:
space:
mode:
authorChengjun <chengjunp@Nvidia.com>2025-04-18 03:30:05 -0700
committerGitHub <noreply@github.com>2025-04-18 12:30:05 +0200
commit9b8bc53a0bdc270f6d675ba7a2fe9ca9a855610d (patch)
treed1b7db6ffac38b7f6c0047d3f5d740153050b7ad /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
parent9bdd9dc895ade41ec24f1a9918f70b23271ac89b (diff)
[FlattenCFG] Fix an Imprecise Usage of AA (#128117)
In current `FlattenCFG`, using `isNoAlias` for two instructions is imprecise. For example, when passing a store instruction and a load instruction directly into `AA->isNoAlias`, it will always return `NoAlias`. This happens because when checking the types of the two Values, the store instruction (which has a `void` type) causes the analysis to return `NoAlias`. For instructions, we should use `getModRefInfo` instead of `isNoAlias`, as aliasing is a concept of memory locations. In this patch, `AAResults::getModRefInfo` is supported to take in two instructions. It will check whether two instructions may access the same memory location or not. And in `FlattenCFG`, we use this new helper function to do the check instead of `isNoAlias`. Unit tests and lit tests are also included to this patch.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions