]> granicus.if.org Git - llvm/commit
Merging r343443:
authorTom Stellard <tstellar@redhat.com>
Fri, 19 Oct 2018 19:11:17 +0000 (19:11 +0000)
committerTom Stellard <tstellar@redhat.com>
Fri, 19 Oct 2018 19:11:17 +0000 (19:11 +0000)
commit9a0352f0c5ea78372340a101bb557aba3ecc3f7e
tree60da8d39ddcc465dae424532eefe6d2f18a06f5d
parent6c2e5a132cdbcc9ccea6eb3269fdcfc3ea67572c
Merging r343443:

------------------------------------------------------------------------
r343443 | ctopper | 2018-10-01 00:08:41 -0700 (Mon, 01 Oct 2018) | 9 lines

[X86] Stop X86DomainReassignment from creating copies between GR8/GR16 physical registers and k-registers.

We can only copy between a k-register and a GR32/GR64 register.

This patch detects that the copy will be illegal and prevents the domain reassignment from happening for that closure.

This probably isn't the best fix, and we should probably figure out how to handle this correctly.

Fixes PR38803.
------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_70@344804 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86DomainReassignment.cpp
test/CodeGen/X86/pr38803.ll [new file with mode: 0644]