diff options
Diffstat (limited to 'contrib/llvm-project/clang/lib/Basic/Targets/MSP430.h')
-rw-r--r-- | contrib/llvm-project/clang/lib/Basic/Targets/MSP430.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/contrib/llvm-project/clang/lib/Basic/Targets/MSP430.h b/contrib/llvm-project/clang/lib/Basic/Targets/MSP430.h index 620f12d2b8e3..9d42e4d4bb18 100644 --- a/contrib/llvm-project/clang/lib/Basic/Targets/MSP430.h +++ b/contrib/llvm-project/clang/lib/Basic/Targets/MSP430.h @@ -64,8 +64,14 @@ public: ArrayRef<const char *> getGCCRegNames() const override; ArrayRef<TargetInfo::GCCRegAlias> getGCCRegAliases() const override { - // No aliases. - return None; + // Make r0 - r3 be recognized by llc (f.e., in clobber list) + static const TargetInfo::GCCRegAlias GCCRegAliases[] = { + {{"r0"}, "pc"}, + {{"r1"}, "sp"}, + {{"r2"}, "sr"}, + {{"r3"}, "cg"}, + }; + return llvm::makeArrayRef(GCCRegAliases); } bool validateAsmConstraint(const char *&Name, |