AMDGPU: Remove redundant combine
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 7 Nov 2017 00:06:32 +0000 (00:06 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 7 Nov 2017 00:06:32 +0000 (00:06 +0000)
commitdb6cc311a07af889030d847ff2b4f1dc00db4ec6
tree19825fe0908deddf38ab9e001a46b6cee60b5167
parent0ffa8796b2c006cd03f9dce0273e5a099befb870
AMDGPU: Remove redundant combine

This combine was already done in two places. The
generic combiner already has done this since
r217610, for adds (with a single use).

This one was added in r303641, and added support for handling
or as well. r313251 later added support to the generic
combine for or. It also turns out the isOrEquivalentToAdd
check is not necessary for this combine.

Additionally, we already reproduce this combine in yet
another place in the backend, although in that version
multiple uses of the add are still folded if it will
allow a fold into the addressing mode. That version needs
to be improved to understand ors though, as well as the
correct legal offsets for private.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317526 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/AMDGPUISelLowering.cpp
lib/Target/AMDGPU/AMDGPUISelLowering.h