summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2015-11-19 22:11:58 +0000
committerTom Stellard <thomas.stellard@amd.com>2015-11-19 22:11:58 +0000
commitd097e94abbdeae33434b2aeaf14647969fe211d2 (patch)
tree07212fee00fd4c13c18b363f9acc5717f326d61e /clang/lib/Basic/Targets.cpp
parentc4aa50414b2c8b9af08f49e164bedcd1c6374d1e (diff)
downloadbcm5719-llvm-d097e94abbdeae33434b2aeaf14647969fe211d2.tar.gz
bcm5719-llvm-d097e94abbdeae33434b2aeaf14647969fe211d2.zip
AMDGPU: Add support for 's' and 'v' asm constraints
Summary: 's' is used to specify sgprs and 'v' is used to specify vgprs. Reviewers: arsenm, echristo Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D14307 llvm-svn: 253610
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r--clang/lib/Basic/Targets.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 648ef4b3d26..697a9f232e0 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -1826,8 +1826,15 @@ public:
}
bool validateAsmConstraint(const char *&Name,
- TargetInfo::ConstraintInfo &info) const override {
- return true;
+ TargetInfo::ConstraintInfo &Info) const override {
+ switch (*Name) {
+ default: break;
+ case 'v': // vgpr
+ case 's': // sgpr
+ Info.setAllowsRegister();
+ return true;
+ }
+ return false;
}
ArrayRef<Builtin::Info> getTargetBuiltins() const override {
OpenPOWER on IntegriCloud