[llvm] [C API] Add getters for Target Extension Types to C API (PR #96447)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 24 02:41:11 PDT 2024
================
@@ -954,6 +954,32 @@ LLVMTypeRef LLVMTargetExtTypeInContext(LLVMContextRef C, const char *Name,
TargetExtType::get(*unwrap(C), Name, TypeParamArray, IntParamArray));
}
+const char *LLVMGetTargetExtTypeName(LLVMTypeRef TargetExtTy) {
+ TargetExtType *Type = unwrap<TargetExtType>(TargetExtTy);
+ return Type->getName().data();
+}
+
+unsigned LLVMGetTargetExtTypeNumTypeParams(LLVMTypeRef TargetExtTy) {
+ TargetExtType *Type = unwrap<TargetExtType>(TargetExtTy);
+ return Type->getNumTypeParameters();
+}
+
+LLVMTypeRef LLVMGetTargetExtTypeTypeParam(LLVMTypeRef TargetExtTy,
+ unsigned Idx) {
+ TargetExtType *Type = unwrap<TargetExtType>(TargetExtTy);
+ return wrap(Type->getTypeParameter(Idx));
+}
+
+unsigned LLVMGetTargetExtTypeNumIntParams(LLVMTypeRef TargetExtTy) {
+ TargetExtType *Type = unwrap<TargetExtType>(TargetExtTy);
+ return Type->getNumIntParameters();
+}
+
+unsigned LLVMGetTargetExtTypeIntParam(LLVMTypeRef TargetExtTy, unsigned Idx) {
----------------
nikic wrote:
A bit worried the type is going to change in the future, but I guess we'll have to deal with it if it happens.
https://github.com/llvm/llvm-project/pull/96447
More information about the llvm-commits
mailing list