summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2017-01-30 17:09:15 +0000
committerTom Stellard <thomas.stellard@amd.com>2017-01-30 17:09:15 +0000
commite48f60aec8563f20d5de96d917cf66ccc2539e4e (patch)
tree59092641937b663b6364972ac3cf3909e85c8272 /llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
parente60a7917487e55a585ec07191108a1caf8ff99df (diff)
downloadbcm5719-llvm-e48f60aec8563f20d5de96d917cf66ccc2539e4e.tar.gz
bcm5719-llvm-e48f60aec8563f20d5de96d917cf66ccc2539e4e.zip
AMDGPU/GlobalISel: Add support for simple shaders
Summary: We can select constant/global G_LOAD, global G_STORE, and G_GEP. Reviewers: qcolombet, MatzeB, t.p.northover, ab, arsenm Subscribers: mehdi_amini, vkalintiris, kzhuravl, wdng, nhaehnle, mgorny, yaxunl, tony-tye, modocache, llvm-commits, dberris Differential Revision: https://reviews.llvm.org/D26730 llvm-svn: 293503
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h b/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
index 9ae87c9397a..b5f3fa5617b 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
+++ b/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
@@ -22,6 +22,13 @@ namespace llvm {
class AMDGPUTargetLowering;
class AMDGPUCallLowering: public CallLowering {
+
+ unsigned lowerParameterPtr(MachineIRBuilder &MIRBuilder, Type *ParamTy,
+ unsigned Offset) const;
+
+ void lowerParameter(MachineIRBuilder &MIRBuilder, Type *ParamTy,
+ unsigned Offset, unsigned DstReg) const;
+
public:
AMDGPUCallLowering(const AMDGPUTargetLowering &TLI);
@@ -29,6 +36,7 @@ class AMDGPUCallLowering: public CallLowering {
unsigned VReg) const override;
bool lowerFormalArguments(MachineIRBuilder &MIRBuilder, const Function &F,
ArrayRef<unsigned> VRegs) const override;
+ CCAssignFn *CCAssignFnForCall(CallingConv::ID CC, bool IsVarArg) const;
};
} // End of namespace llvm;
#endif
OpenPOWER on IntegriCloud