[PATCH] D15764: AMDGPU/SI: Consolidate FLAT patterns

Tom Stellard via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 23 17:52:18 PST 2015


tstellarAMD created this revision.
tstellarAMD added reviewers: arsenm, cfang.
tstellarAMD added a subscriber: llvm-commits.
Herald added a subscriber: arsenm.

We had to sets of identical FLAT patterns one inside the
HasFlatAddressSpace predicate and one inside the useFlatForGloabl
predicate.  This patch merges these sets into a single pattern
under the isCIVI predicate.

The reason we can remove the predicates is that when MUBUF instructions
are legal, the instruction selector will prefer selecting those over
FLAT instructions because MUBUF patterns have a higher complexity score.
So, in this case having patterns for FLAT instructions will have no effect.

This change also simplifies the process for forcing global address space
loads to use FLAT instructions, since we no only have to disable the
MUBUF patterns instead of having to disable the MUBUF patterns and
enable the FLAT patterns.

http://reviews.llvm.org/D15764

Files:
  lib/Target/AMDGPU/AMDGPUInstructions.td
  lib/Target/AMDGPU/CIInstructions.td
  lib/Target/AMDGPU/SIInstrInfo.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15764.43572.patch
Type: text/x-patch
Size: 8465 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151224/fd5a3048/attachment.bin>


More information about the llvm-commits mailing list