add various wrappers for gpu code generation
This commit is contained in:
@@ -4,7 +4,7 @@ use libc::{c_char, c_uint};
|
||||
|
||||
use super::MetadataKindId;
|
||||
use super::ffi::{AttributeKind, BasicBlock, Metadata, Module, Type, Value};
|
||||
use crate::llvm::Bool;
|
||||
use crate::llvm::{Bool, Builder};
|
||||
|
||||
#[link(name = "llvm-wrapper", kind = "static")]
|
||||
unsafe extern "C" {
|
||||
@@ -31,6 +31,14 @@ unsafe extern "C" {
|
||||
index: c_uint,
|
||||
kind: AttributeKind,
|
||||
);
|
||||
pub(crate) fn LLVMRustPositionBefore<'a>(B: &'a Builder<'_>, I: &'a Value);
|
||||
pub(crate) fn LLVMRustPositionAfter<'a>(B: &'a Builder<'_>, I: &'a Value);
|
||||
pub(crate) fn LLVMRustGetFunctionCall(
|
||||
F: &Value,
|
||||
name: *const c_char,
|
||||
NameLen: libc::size_t,
|
||||
) -> Option<&Value>;
|
||||
|
||||
}
|
||||
|
||||
unsafe extern "C" {
|
||||
|
||||
@@ -1138,6 +1138,11 @@ unsafe extern "C" {
|
||||
Count: c_uint,
|
||||
Packed: Bool,
|
||||
) -> &'a Value;
|
||||
pub(crate) fn LLVMConstNamedStruct<'a>(
|
||||
StructTy: &'a Type,
|
||||
ConstantVals: *const &'a Value,
|
||||
Count: c_uint,
|
||||
) -> &'a Value;
|
||||
pub(crate) fn LLVMConstVector(ScalarConstantVals: *const &Value, Size: c_uint) -> &Value;
|
||||
|
||||
// Constant expressions
|
||||
@@ -1217,6 +1222,8 @@ unsafe extern "C" {
|
||||
) -> &'a BasicBlock;
|
||||
|
||||
// Operations on instructions
|
||||
pub(crate) fn LLVMGetInstructionParent(Inst: &Value) -> &BasicBlock;
|
||||
pub(crate) fn LLVMGetCalledValue(CallInst: &Value) -> Option<&Value>;
|
||||
pub(crate) fn LLVMIsAInstruction(Val: &Value) -> Option<&Value>;
|
||||
pub(crate) fn LLVMGetFirstBasicBlock(Fn: &Value) -> &BasicBlock;
|
||||
pub(crate) fn LLVMGetOperand(Val: &Value, Index: c_uint) -> Option<&Value>;
|
||||
@@ -2556,6 +2563,7 @@ unsafe extern "C" {
|
||||
|
||||
pub(crate) fn LLVMRustSetDataLayoutFromTargetMachine<'a>(M: &'a Module, TM: &'a TargetMachine);
|
||||
|
||||
pub(crate) fn LLVMRustPositionBuilderPastAllocas<'a>(B: &Builder<'a>, Fn: &'a Value);
|
||||
pub(crate) fn LLVMRustPositionBuilderAtStart<'a>(B: &Builder<'a>, BB: &'a BasicBlock);
|
||||
|
||||
pub(crate) fn LLVMRustSetModulePICLevel(M: &Module);
|
||||
|
||||
Reference in New Issue
Block a user