diff options
author | Hans Wennborg <hans@hanshq.net> | 2018-08-21 16:15:59 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2018-08-21 16:15:59 +0000 |
commit | 39ee06433f815a17e582dd5ac7cdc0eac1a73ca1 (patch) | |
tree | 7e6b6e48e88f6968e423fddff160d540d78910fd /test/MC/X86/pr37425.s | |
parent | 98aa61ba49b54902a7afc27c9aa6c562646be76f (diff) |
Merging r339822:
------------------------------------------------------------------------
r339822 | carrot | 2018-08-16 00:08:26 +0200 (Thu, 16 Aug 2018) | 12 lines
[CodeGenPrepare] Add BothExtension type to PromotedInsts
This patch fixes PR38125.
Instruction extension types are recorded in PromotedInsts, it can be used later in function canGetThrough. If an instruction has two users with different extension types, it will be inserted into PromotedInsts two times in function promoteOperandForOther. The second one overwrites the first one, and the final extension type is wrong, later causes problem in canGetThrough.
This patch changes the simple bool extension type to 2-bit enum type, add a BothExtension type in addition to zero/sign extension. When an user sees BothExtension for an instruction, it actually knows nothing about how that instruction is extended.
Differential Revision: https://reviews.llvm.org/D49512
------------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_70@340294 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/X86/pr37425.s')
0 files changed, 0 insertions, 0 deletions