diff options
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 11 |
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 { |