summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2018-06-27 09:34:42 +1000
committerDave Airlie <[email protected]>2018-07-04 05:31:29 +1000
commit887ba45c93b0a8cab664d1cd0bff104c862c479d (patch)
tree3930f9f780004e4d0146915ead80e5bb9b0a0fbc /src
parente1387eaf124b298d65707fce77e942af9622cbe1 (diff)
ac: add target library info helpers
Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/amd/common/ac_llvm_helper.cpp13
-rw-r--r--src/amd/common/ac_llvm_util.h2
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