diff options
author | Dmitry Preobrazhensky <dmitry.preobrazhensky@amd.com> | 2019-06-13 12:46:37 +0000 |
---|---|---|
committer | Dmitry Preobrazhensky <dmitry.preobrazhensky@amd.com> | 2019-06-13 12:46:37 +0000 |
commit | 1fca3b1972ddc33536b0f8d3b8a3b19285da800c (patch) | |
tree | 9ea76121d4302feaf70648b7b179ec0b4d659569 /llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h | |
parent | b00dbcbb43bae65f19a992dd74af7678e3529c6d (diff) | |
download | bcm5719-llvm-1fca3b1972ddc33536b0f8d3b8a3b19285da800c.tar.gz bcm5719-llvm-1fca3b1972ddc33536b0f8d3b8a3b19285da800c.zip |
[AMDGPU][MC] Enabled constant expressions as operands of s_getreg/s_setreg
See bug 40820: https://bugs.llvm.org/show_bug.cgi?id=40820
Reviewers: artem.tamazov, arsenm
Differential Revision: https://reviews.llvm.org/D61125
llvm-svn: 363255
Diffstat (limited to 'llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h')
-rw-r--r-- | llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h index 58d7d8f6c6c..def279939bb 100644 --- a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h +++ b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h @@ -406,6 +406,33 @@ unsigned encodeWaitcnt(const IsaVersion &Version, unsigned encodeWaitcnt(const IsaVersion &Version, const Waitcnt &Decoded); +namespace Hwreg { + +LLVM_READONLY +int64_t getHwregId(const StringRef Name); + +LLVM_READNONE +bool isValidHwreg(int64_t Id, const MCSubtargetInfo &STI); + +LLVM_READNONE +bool isValidHwreg(int64_t Id); + +LLVM_READNONE +bool isValidHwregOffset(int64_t Offset); + +LLVM_READNONE +bool isValidHwregWidth(int64_t Width); + +LLVM_READNONE +int64_t encodeHwreg(int64_t Id, int64_t Offset, int64_t Width); + +LLVM_READNONE +StringRef getHwreg(unsigned Id, const MCSubtargetInfo &STI); + +void decodeHwreg(unsigned Val, unsigned &Id, unsigned &Offset, unsigned &Width); + +} // namespace Hwreg + unsigned getInitialPSInputAddr(const Function &F); LLVM_READNONE |