summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2021-08-06 22:19:38 -0700
committerCraig Topper <craig.topper@sifive.com>2021-08-07 08:45:56 -0700
commit24dfba8d507e383eeccfc0cfa30ad6340f71a377 (patch)
tree21e9c39d48d0952ee1e501646a47d3dbd7c6906f /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
parent8a2d1b183df9f6f4230866db368c230273b2087c (diff)
[X86] Teach shouldSinkOperands to recognize pmuldq/pmuludq patterns.
The IR for pmuldq/pmuludq intrinsics uses a sext_inreg/zext_inreg pattern on the inputs. Ideally we pattern match these away during isel. It is possible for LICM or other middle end optimizations to separate the extend from the mul. This prevents SelectionDAG from removing it or depending on how the extend is lowered, we may not be able to generate an AssertSExt/AssertZExt in the mul basic block. This will prevent pmuldq/pmuludq from being formed at all. This patch teaches shouldSinkOperands to recognize this so that CodeGenPrepare will clone the extend into the same basic block as the mul. Fixes PR51371. Differential Revision: https://reviews.llvm.org/D107689
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp')
0 files changed, 0 insertions, 0 deletions