AbortedChanges

Summary

  1. TableGen: Add address space to matchers Currently AMDGPU uses a CodePatPred to check address spaces from the MachineMemOperand. Introduce a new first class property so that the existing patterns can be easily modified to uses the new generated predicate, which will also be handled for GlobalISel. I would prefer these to match against the pointer type of the instruction, but that would be difficult to get working with SelectionDAG compatbility. This is much easier for now and will avoid a painful tablegen rewrite for all the loads and stores. I'm also not sure if there's a better way to encode multiple address spaces in the table, rather than putting the number to expect.
Revision 366128 by arsenm:
TableGen: Add address space to matchers

Currently AMDGPU uses a CodePatPred to check address spaces from the
MachineMemOperand. Introduce a new first class property so that the
existing patterns can be easily modified to uses the new generated
predicate, which will also be handled for GlobalISel.

I would prefer these to match against the pointer type of the
instruction, but that would be difficult to get working with
SelectionDAG compatbility. This is much easier for now and will avoid
a painful tablegen rewrite for all the loads and stores.

I'm also not sure if there's a better way to encode multiple address
spaces in the table, rather than putting the number to expect.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/InstructionSelector.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
The file was modified/llvm/trunk/include/llvm/Target/TargetSelectionDAG.td (diff)llvm.src/include/llvm/Target/TargetSelectionDAG.td
The file was added/llvm/trunk/test/TableGen/address-space-patfrags.tdllvm.src/test/TableGen/address-space-patfrags.td
The file was modified/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp (diff)llvm.src/utils/TableGen/CodeGenDAGPatterns.cpp
The file was modified/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h (diff)llvm.src/utils/TableGen/CodeGenDAGPatterns.h
The file was modified/llvm/trunk/utils/TableGen/GlobalISelEmitter.cpp (diff)llvm.src/utils/TableGen/GlobalISelEmitter.cpp