]> granicus.if.org Git - llvm/commit
[DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine
authorArtur Pilipenko <apilipenko@azulsystems.com>
Wed, 1 Mar 2017 18:12:29 +0000 (18:12 +0000)
committerArtur Pilipenko <apilipenko@azulsystems.com>
Wed, 1 Mar 2017 18:12:29 +0000 (18:12 +0000)
commita4e52312e828520f6bc93cdce8335d8bd07b69b7
tree4f55abeb3616718e9e0a8cb84d883683af3911b5
parent34045f51864d413ca1ba82cca7b8a0c95a558957
[DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine

Resubmit r295336 after the bug with non-zero offset patterns on BE targets is fixed (r296336).

Support {a|s}ext, {a|z|s}ext load nodes as a part of load combine patters.

Reviewed By: filcab

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296651 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/AArch64/load-combine-big-endian.ll
test/CodeGen/AArch64/load-combine.ll
test/CodeGen/AMDGPU/insert_vector_elt.ll
test/CodeGen/ARM/fp16-promote.ll
test/CodeGen/ARM/load-combine-big-endian.ll
test/CodeGen/ARM/load-combine.ll
test/CodeGen/PowerPC/ppc64le-aggregates.ll
test/CodeGen/X86/load-combine.ll