diff options
author | Jessica Paquette <jpaquette@apple.com> | 2019-08-28 20:12:31 +0000 |
---|---|---|
committer | Jessica Paquette <jpaquette@apple.com> | 2019-08-28 20:12:31 +0000 |
commit | 7080ffa21a414ca279a1581f7fc96dfb5a08f01f (patch) | |
tree | 6e7ac2d8504f46fd8a7d4af4665278d41024deb7 /clang/lib/Serialization/ModuleManager.cpp | |
parent | 6acfc7c587277a413bb06486a099e0d22da4f989 (diff) | |
download | llvm-7080ffa21a414ca279a1581f7fc96dfb5a08f01f.zip llvm-7080ffa21a414ca279a1581f7fc96dfb5a08f01f.tar.gz llvm-7080ffa21a414ca279a1581f7fc96dfb5a08f01f.tar.bz2 |
[GlobalISel] Import patterns containing SUBREG_TO_REG
Reuse the logic for INSERT_SUBREG to also import SUBREG_TO_REG patterns.
- Split `inferSuperRegisterClass` into two functions, one which tries to use
an existing TreePatternNode (`inferSuperRegisterClassForNode`), and one that
doesn't. SUBREG_TO_REG doesn't have a node to leverage, which is the cause
for the split.
- Rename GlobalISelEmitterInsertSubreg.td to GlobalISelEmitterSubreg.td and
update it.
- Update impacted tests in the AArch64 and X86 backends.
This is kind of a hit/miss for code size improvements/regressions. E.g. in
add-ext.ll, we now get some identity copies. This isn't really anything the
importer can handle, since it's caused by a later pass introducing the copy for
the sake of correctness.
Differential Revision: https://reviews.llvm.org/D66769
llvm-svn: 370254
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
0 files changed, 0 insertions, 0 deletions