diff options
author | Thorsten Schütt <schuett@gmail.com> | 2024-11-12 23:23:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-12 23:23:32 +0100 |
commit | 0e97b4d05a0b09513a4c130ec85a36c808d0074b (patch) | |
tree | 96e9053c40993c4a39cac70db6fc73704d69c648 /clang/unittests/Frontend/CompilerInvocationTest.cpp | |
parent | 9d85ba5724f22d73c95858246691e0b389bdb28d (diff) | |
download | llvm-0e97b4d05a0b09513a4c130ec85a36c808d0074b.zip llvm-0e97b4d05a0b09513a4c130ec85a36c808d0074b.tar.gz llvm-0e97b4d05a0b09513a4c130ec85a36c808d0074b.tar.bz2 |
[GlobalISel] Combine G_MERGE_VALUES of x and undef (#113616)
into anyext x
; CHECK-NEXT: [[MV1:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[TRUNC]](s32),
[[DEF]](s32)
Please continue padding merge values.
// %bits_8_15:_(s8) = G_IMPLICIT_DEF
// %0:_(s16) = G_MERGE_VALUES %bits_0_7:(s8), %bits_8_15:(s8)
%bits_8_15 is defined by undef. Its value is undefined and we can pick
an arbitrary value. For optimization, we pick anyext, which plays well
with the undefinedness.
// %0:_(s16) = G_ANYEXT %bits_0_7:(s8)
The upper bits of %0 are undefined and the lower bits come from
%bits_0_7.
Diffstat (limited to 'clang/unittests/Frontend/CompilerInvocationTest.cpp')
0 files changed, 0 insertions, 0 deletions