diff options
| author | Jeremy Morse <jeremy.morse@sony.com> | 2023-04-25 14:04:41 +0100 | 
|---|---|---|
| committer | Jeremy Morse <jeremy.morse@sony.com> | 2023-04-25 14:15:33 +0100 | 
| commit | 7561f9cd5c841096c8c2f7b10b33d505c1a21b17 (patch) | |
| tree | 35d2ae3a5b1ccf477e810d0733baade5b865ceb1 /lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp | |
| parent | 1e6fe677f8aa98518e05218affa16e468819f5ed (diff) | |
| download | llvm-7561f9cd5c841096c8c2f7b10b33d505c1a21b17.zip llvm-7561f9cd5c841096c8c2f7b10b33d505c1a21b17.tar.gz llvm-7561f9cd5c841096c8c2f7b10b33d505c1a21b17.tar.bz2  | |
[DebugInfo][CSInfo] Avoid crash when defining super-regs
In rare situations involving AVX intrinsics, it seems LLVM can be coaxed
into generating copies to arguments that look like this:
    $xmm0 = VMOVAPSrr $xmm1, implicit-def $ymm0
    CALL64 @something ymm0
This particular form of copy implicitly zeros the upper lanes of ymm0,
hence there's an implicit-def for the register in the copy. The X86
implementation of describeLoadedValue doesn't attempt to describe this sort
of copy which causes the generic implementation in
TargetInstrInfo::describeLoadedValue to fire an assertion saying it
expected the target hook to handle it.
Play it safe in the generic implementation and return the "no location /
value" return value, rather than asserting.
Differential Revision: https://reviews.llvm.org/D148626
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp')
0 files changed, 0 insertions, 0 deletions
