radeonsi/ac: move vertex export remove to common code.
[mesa.git] / src / amd / common / ac_llvm_helper.cpp
index 11fa80920d607b16b51e23a618ba9eff74df9de8..03877d5ee1e84d208d0c3dc6a7db7608b7bb8060 100644 (file)
@@ -61,3 +61,21 @@ bool ac_is_sgpr_param(LLVMValueRef arg)
        return AS.hasAttribute(ArgNo + 1, llvm::Attribute::ByVal) ||
               AS.hasAttribute(ArgNo + 1, llvm::Attribute::InReg);
 }
+
+LLVMValueRef ac_llvm_get_called_value(LLVMValueRef call)
+{
+#if HAVE_LLVM >= 0x0309
+       return LLVMGetCalledValue(call);
+#else
+       return llvm::wrap(llvm::CallSite(llvm::unwrap<llvm::Instruction>(call)).getCalledValue());
+#endif
+}
+
+bool ac_llvm_is_function(LLVMValueRef v)
+{
+#if HAVE_LLVM >= 0x0309
+       return LLVMGetValueKind(v) == LLVMFunctionValueKind;
+#else
+       return llvm::isa<llvm::Function>(llvm::unwrap(v));
+#endif
+}