diff options
| author | Chengjun <chengjunp@Nvidia.com> | 2025-04-18 03:30:05 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-18 12:30:05 +0200 |
| commit | 9b8bc53a0bdc270f6d675ba7a2fe9ca9a855610d (patch) | |
| tree | d1b7db6ffac38b7f6c0047d3f5d740153050b7ad /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp | |
| parent | 9bdd9dc895ade41ec24f1a9918f70b23271ac89b (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
