diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2023-07-28 12:44:11 -0400 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2023-07-28 13:33:28 -0400 |
| commit | c26dfc81e254c78dc23579cf3d1336f77249e1f6 (patch) | |
| tree | ea1d5a5ecf2299048b5ceb824bbc5c4b1f917b3c /mlir/lib/Bytecode/Reader/BytecodeReader.cpp | |
| parent | 5d976edd3f2af2f0ddcbcf45c8b2b5631ce4deec (diff) | |
| download | llvm-c26dfc81e254c78dc23579cf3d1336f77249e1f6.zip llvm-c26dfc81e254c78dc23579cf3d1336f77249e1f6.tar.gz llvm-c26dfc81e254c78dc23579cf3d1336f77249e1f6.tar.bz2 | |
[HACK] X86: Disable isCopyInstrImpl for undef subregister defs
This is a workaround for a coalescer bug where coalescing
SUBREG_TO_REG ends up losing the liveness of the high bits of the
source register. The result is an incorrect undef subregister def
instead of preserving the high values. Work around the observed
failure after the resulting mov is eliminated during allocation until
a proper fix is ready. I believe the proper fix is to make
SUBREG_TO_REG use a tied operand.
The test should catch a regression originally observed after
b7836d856206ec39509d42529f958c920368166b and should not show a
difference after a496c8be6e638ae58bb45f13113dbe3a4b7b23fd is reverted.
https://reviews.llvm.org/D156164
Diffstat (limited to 'mlir/lib/Bytecode/Reader/BytecodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
