OSDN Git Service

[DAGCombine] Add (sext_in_reg (zext x)) -> (sext x) combine
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 6 Dec 2016 19:09:37 +0000 (19:09 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 6 Dec 2016 19:09:37 +0000 (19:09 +0000)
commit6e9255f2d059c0fe09358627b68b13fa05706ab6
tree574d9752896fe82b18b037837fc3bb3ec006d625
parent02d83470abef7b2defbbb1cd3661f8b7cc895473
[DAGCombine] Add (sext_in_reg (zext x)) -> (sext x) combine

Handle the case where a sign extension has ended up being split into separate stages (typically to get around vector legal ops) and a zext + sext_in_reg gets inserted.

Differential Revision: https://reviews.llvm.org/D27461

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288842 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/X86/combine-sext-in-reg.ll