diff options
author | Dave Airlie <[email protected]> | 2018-06-27 09:34:42 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2018-07-04 05:31:29 +1000 |
commit | 887ba45c93b0a8cab664d1cd0bff104c862c479d (patch) | |
tree | 3930f9f780004e4d0146915ead80e5bb9b0a0fbc /src/amd | |
parent | e1387eaf124b298d65707fce77e942af9622cbe1 (diff) |
ac: add target library info helpers
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/common/ac_llvm_helper.cpp | 13 | ||||
-rw-r--r-- | src/amd/common/ac_llvm_util.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/amd/common/ac_llvm_helper.cpp b/src/amd/common/ac_llvm_helper.cpp index 495bd98da9c..48a5a44e392 100644 --- a/src/amd/common/ac_llvm_helper.cpp +++ b/src/amd/common/ac_llvm_helper.cpp @@ -36,6 +36,7 @@ #include <llvm/IR/Attributes.h> #include <llvm/IR/CallSite.h> #include <llvm/IR/IRBuilder.h> +#include <llvm/Analysis/TargetLibraryInfo.h> void ac_add_attr_dereferenceable(LLVMValueRef val, uint64_t bytes) { @@ -97,3 +98,15 @@ LLVMBuilderRef ac_create_builder(LLVMContextRef ctx, return builder; } + +LLVMTargetLibraryInfoRef +ac_create_target_library_info(const char *triple) +{ + return reinterpret_cast<LLVMTargetLibraryInfoRef>(new llvm::TargetLibraryInfoImpl(llvm::Triple(triple))); +} + +void +ac_dispose_target_library_info(LLVMTargetLibraryInfoRef library_info) +{ + delete reinterpret_cast<llvm::TargetLibraryInfoImpl *>(library_info); +} diff --git a/src/amd/common/ac_llvm_util.h b/src/amd/common/ac_llvm_util.h index 8d4f7d83150..1175971e257 100644 --- a/src/amd/common/ac_llvm_util.h +++ b/src/amd/common/ac_llvm_util.h @@ -113,6 +113,8 @@ ac_count_scratch_private_memory(LLVMValueRef function); LLVMPassManagerRef ac_create_passmgr(LLVMTargetLibraryInfoRef target_library_info, bool check_ir); +LLVMTargetLibraryInfoRef ac_create_target_library_info(const char *triple); +void ac_dispose_target_library_info(LLVMTargetLibraryInfoRef library_info); void ac_init_llvm_once(void); #ifdef __cplusplus |