use prelude::LLVMBool;
#[repr(C)]
pub enum LLVMRemarkType {
LLVMRemarkTypeUnknown,
LLVMRemarkTypePassed,
LLVMRemarkTypeMissed,
LLVMRemarkTypeAnalysis,
LLVMRemarkTypeAnalysisFPCommute,
LLVMRemarkTypeAnalysisAliasing,
LLVMRemarkTypeFailure,
}
pub enum LLVMRemarkOpaqueString {}
pub type LLVMRemarkStringRef = *mut LLVMRemarkOpaqueString;
extern "C" {
pub fn LLVMRemarkStringGetData(String: LLVMRemarkStringRef) -> *const ::libc::c_char;
pub fn LLVMRemarkStringGetLen(String: LLVMRemarkStringRef) -> u32;
}
pub enum LLVMRemarkOpaqueDebugLoc {}
pub type LLVMRemarkDebugLocRef = *mut LLVMRemarkOpaqueDebugLoc;
extern "C" {
pub fn LLVMRemarkDebugLocGetSourceFilePath(DL: LLVMRemarkDebugLocRef) -> LLVMRemarkStringRef;
pub fn LLVMRemarkDebugLocGetSourceLine(DL: LLVMRemarkDebugLocRef) -> u32;
pub fn LLVMRemarkDebugLocGetSourceColumn(DL: LLVMRemarkDebugLocRef) -> u32;
}
pub enum LLVMRemarkOpaqueArg {}
pub type LLVMRemarkArgRef = *mut LLVMRemarkOpaqueArg;
extern "C" {
pub fn LLVMRemarkArgGetKey(Arg: LLVMRemarkArgRef) -> LLVMRemarkStringRef;
pub fn LLVMRemarkArgGetValue(Arg: LLVMRemarkArgRef) -> LLVMRemarkStringRef;
pub fn LLVMRemarkArgGetDebugLoc(Arg: LLVMRemarkArgRef) -> LLVMRemarkDebugLocRef;
}
pub enum LLVMRemarkOpaqueEntry {}
pub type LLVMRemarkEntryRef = *mut LLVMRemarkOpaqueEntry;
extern "C" {
pub fn LLVMRemarkEntryDispose(Remark: LLVMRemarkEntryRef);
pub fn LLVMRemarkEntryGetType(Remark: LLVMRemarkEntryRef) -> LLVMRemarkType;
pub fn LLVMRemarkEntryGetPassName(Remark: LLVMRemarkEntryRef) -> LLVMRemarkStringRef;
pub fn LLVMRemarkEntryGetRemarkName(Remark: LLVMRemarkEntryRef) -> LLVMRemarkStringRef;
pub fn LLVMRemarkEntryGetFunctionName(Remark: LLVMRemarkEntryRef) -> LLVMRemarkStringRef;
pub fn LLVMRemarkEntryGetDebugLoc(Remark: LLVMRemarkEntryRef) -> LLVMRemarkDebugLocRef;
pub fn LLVMRemarkEntryGetHotness(Remark: LLVMRemarkEntryRef) -> u64;
pub fn LLVMRemarkEntryGetNumArgs(Remark: LLVMRemarkEntryRef) -> u32;
pub fn LLVMRemarkEntryGetFirstArg(Remark: LLVMRemarkEntryRef) -> LLVMRemarkArgRef;
pub fn LLVMRemarkEntryGetNextArg(
It: LLVMRemarkArgRef,
Remark: LLVMRemarkEntryRef,
) -> LLVMRemarkArgRef;
}
pub enum LLVMRemarkOpaqueParser {}
pub type LLVMRemarkParserRef = *mut LLVMRemarkOpaqueParser;
extern "C" {
pub fn LLVMRemarkParserCreateYAML(Buf: *const ::libc::c_void, Size: u64)
-> LLVMRemarkParserRef;
pub fn LLVMRemarkParserCreateBitstream(
Buf: *const ::libc::c_void,
Size: u64,
) -> LLVMRemarkParserRef;
pub fn LLVMRemarkParserGetNext(Parser: LLVMRemarkParserRef) -> LLVMRemarkEntryRef;
pub fn LLVMRemarkParserHasError(Parser: LLVMRemarkParserRef) -> LLVMBool;
pub fn LLVMRemarkParserGetErrorMessage(Parser: LLVMRemarkParserRef) -> *const ::libc::c_char;
pub fn LLVMRemarkParserDispose(Parser: LLVMRemarkParserRef);
}
pub const REMARKS_API_VERSION: u32 = 1;
extern "C" {
pub fn LLVMRemarkVersion() -> u32;
}