[PATCH] D19181: Map Attribute in the C API.

Amaury SECHET via llvm-commits llvm-commits at lists.llvm.org
Mon May 9 09:40:44 PDT 2016


deadalnix added a comment.

By the power of cutting and pasting, I present you :

  typedef struct LLVMOpaqueAttributeRef *LLVMAttributeRef;
  unsigned LLVMGetAttributeKindForName(const char *Name, size_t SLen);
  LLVMAttributeRef LLVMCreateAttribute(LLVMContextRef C, unsigned KindID);
  
  void LLVMAddReturnAttr(LLVMValueRef Fn, LLVMAttributeRef A);
  void LLVMRemoveReturnAttr(LLVMValueRef Fn, unsigned KindID);
  LLVMAttributeRef LLVMGetReturnAttr(LLVMValueRef Fn, unsigned KindID);
  
  void LLVMAddCallSiteAttr(LLVMValueRef Fn, LLVMAttributeRef A);
  void LLVMRemoveCallSiteAttr(LLVMValueRef Fn, unsigned KindID);
  LLVMAttributeRef LLVMGetCallSiteAttr(LLVMValueRef Fn, unsigned KindID);
  
  void LLVMAddFunctionAttr(2LLVMValueRef Fn, LLVMAttributeRef A);
  void LLVMRemoveFunctionAttr2(LLVMValueRef Fn, unsigned KindID);
  LLVMAttributeRef LLVMGetFunctionAttr(LLVMValueRef Fn, unsigned KindID);
  
  void LLVMAddParamAttr(LLVMValueRef Fn, LLVMAttributeRef A);
  void LLVMRemoveParamAttr(LLVMValueRef Fn, unsigned KindID);
  LLVMAttributeRef LLVMGetParamAttr(LLVMValueRef Fn, unsigned KindID);


http://reviews.llvm.org/D19181





More information about the llvm-commits mailing list