diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2013-01-23 02:09:03 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2013-01-23 02:09:03 +0000 |
commit | c7e1888d93f4cb2982266986f3af7e99df631fa1 (patch) | |
tree | 69dc90c1508471b5fb5b50d4124fcd65b83813b7 | |
parent | 80537b995d661cbbf478b34a228921b101a14b42 (diff) | |
download | external_llvm-c7e1888d93f4cb2982266986f3af7e99df631fa1.zip external_llvm-c7e1888d93f4cb2982266986f3af7e99df631fa1.tar.gz external_llvm-c7e1888d93f4cb2982266986f3af7e99df631fa1.tar.bz2 |
R600: Add a CONST_ADDRESS node to model constant buf read
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173221 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/R600/AMDGPUISelLowering.cpp | 1 | ||||
-rw-r--r-- | lib/Target/R600/AMDGPUISelLowering.h | 1 | ||||
-rw-r--r-- | lib/Target/R600/R600Instructions.td | 11 |
3 files changed, 12 insertions, 1 deletions
diff --git a/lib/Target/R600/AMDGPUISelLowering.cpp b/lib/Target/R600/AMDGPUISelLowering.cpp index 473dac4..309bcf5 100644 --- a/lib/Target/R600/AMDGPUISelLowering.cpp +++ b/lib/Target/R600/AMDGPUISelLowering.cpp @@ -413,5 +413,6 @@ const char* AMDGPUTargetLowering::getTargetNodeName(unsigned Opcode) const { NODE_NAME_CASE(INTERP) NODE_NAME_CASE(INTERP_P0) NODE_NAME_CASE(EXPORT) + NODE_NAME_CASE(CONST_ADDRESS) } } diff --git a/lib/Target/R600/AMDGPUISelLowering.h b/lib/Target/R600/AMDGPUISelLowering.h index c7abaf6..9938c65 100644 --- a/lib/Target/R600/AMDGPUISelLowering.h +++ b/lib/Target/R600/AMDGPUISelLowering.h @@ -123,6 +123,7 @@ enum { INTERP, INTERP_P0, EXPORT, + CONST_ADDRESS, LAST_AMDGPU_ISD_NUMBER }; diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td index 8a0c52d..d4fa3d6 100644 --- a/lib/Target/R600/R600Instructions.td +++ b/lib/Target/R600/R600Instructions.td @@ -470,7 +470,7 @@ def isR600toCayman : Predicate< "Subtarget.device()->getGeneration() <= AMDGPUDeviceInfo::HD6XXX">; //===----------------------------------------------------------------------===// -// Interpolation Instructions +// R600 SDNodes //===----------------------------------------------------------------------===// def INTERP: SDNode<"AMDGPUISD::INTERP", @@ -481,6 +481,15 @@ def INTERP_P0: SDNode<"AMDGPUISD::INTERP_P0", SDTypeProfile<1, 1, [SDTCisFP<0>, SDTCisInt<1>]> >; +def CONST_ADDRESS: SDNode<"AMDGPUISD::CONST_ADDRESS", + SDTypeProfile<1, 1, [SDTCisFP<0>, SDTCisPtrTy<1>]>, + [SDNPMayLoad] +>; + +//===----------------------------------------------------------------------===// +// Interpolation Instructions +//===----------------------------------------------------------------------===// + let usesCustomInserter = 1 in { def input_perspective : AMDGPUShaderInst < (outs R600_Reg128:$dst), |