diff options
author | Craig Topper <craig.topper@gmail.com> | 2020-03-10 00:00:26 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2020-03-10 00:07:07 -0700 |
commit | ef4f939d389e2abe6fdce45bd49cc71237429cb6 (patch) | |
tree | 3ee206b560c06ece830739c323e3aa435ee3927d /llvm/lib/CodeGen/LiveDebugValues.cpp | |
parent | 4b8af31f63464e5433c8c8f3f9941ea5d38f4341 (diff) | |
download | llvm-ef4f939d389e2abe6fdce45bd49cc71237429cb6.zip llvm-ef4f939d389e2abe6fdce45bd49cc71237429cb6.tar.gz llvm-ef4f939d389e2abe6fdce45bd49cc71237429cb6.tar.bz2 |
[X86] Remove isel patterns for (X86VBroadcast (i16 (trunc (i32 (load))))). Replace with a DAG combine to form VBROADCAST_LOAD.
isTypeDesirableForOp prevents loads from being shrunk to i16 by DAG
combine. Because of this we can't just match the broadcast and a
scalar load. So look for broadcast+truncate+load and form a
vbroadcast_load during DAG combine. This replaces what was
previously done as an isel pattern and I think fixes it so we
won't change the size of a volatile load. But my main motivation
is just to clean up our isel patterns.
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugValues.cpp')
0 files changed, 0 insertions, 0 deletions