diff options
| author | Dmitry Makogon <d.makogon@g.nsu.ru> | 2023-02-28 15:14:37 +0700 |
|---|---|---|
| committer | Dmitry Makogon <d.makogon@g.nsu.ru> | 2023-02-28 16:30:09 +0700 |
| commit | 4e34915b6d27d950b18dea010303de05a0a18aef (patch) | |
| tree | 0a2df7060bb982a9ead26cb1c7b321508cd109e3 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp | |
| parent | 06faa47ecc5633577dc5a8e06efd6242a32b94ce (diff) | |
[GuardWidening] Make sure widened condition operands are available at insertion point
This fixes a possible issue when we could hoist an instruction up to a widenable
condition intrinsic call without making sure its operands are available at
hoisiting point.
Recently insertion point finding algorithm changed a bit, so this availability
check became necessary.
Verifier would crash after we handled the following special case:
L >u C0 && L >u C1 -> L >u max(C0, C1),
Previously we would insert the new condition right before the widenable condition
branch where all L operands were available.
Now we may choose the widenable condition intrinsic call as insertion point and it may
happen so that the L operands are computed after the call, so we have to make sure that
L operands are available at the point we want to insert it.
Differential Revision: https://reviews.llvm.org/D144944
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions
