llvm_sys_featured/
remarks.rs1use crate::prelude::LLVMBool;
3
4#[repr(C)]
5pub enum LLVMRemarkType {
6 LLVMRemarkTypeUnknown,
7 LLVMRemarkTypePassed,
8 LLVMRemarkTypeMissed,
9 LLVMRemarkTypeAnalysis,
10 LLVMRemarkTypeAnalysisFPCommute,
11 LLVMRemarkTypeAnalysisAliasing,
12 LLVMRemarkTypeFailure,
13}
14
15pub enum LLVMRemarkOpaqueString {}
16
17pub type LLVMRemarkStringRef = *mut LLVMRemarkOpaqueString;
19
20extern "C" {
21 pub fn LLVMRemarkStringGetData(String: LLVMRemarkStringRef) -> *const ::libc::c_char;
23
24 pub fn LLVMRemarkStringGetLen(String: LLVMRemarkStringRef) -> u32;
26}
27
28pub enum LLVMRemarkOpaqueDebugLoc {}
29
30pub type LLVMRemarkDebugLocRef = *mut LLVMRemarkOpaqueDebugLoc;
32
33extern "C" {
34 pub fn LLVMRemarkDebugLocGetSourceFilePath(DL: LLVMRemarkDebugLocRef) -> LLVMRemarkStringRef;
36
37 pub fn LLVMRemarkDebugLocGetSourceLine(DL: LLVMRemarkDebugLocRef) -> u32;
39
40 pub fn LLVMRemarkDebugLocGetSourceColumn(DL: LLVMRemarkDebugLocRef) -> u32;
42}
43
44pub enum LLVMRemarkOpaqueArg {}
45
46pub type LLVMRemarkArgRef = *mut LLVMRemarkOpaqueArg;
50
51extern "C" {
52 pub fn LLVMRemarkArgGetKey(Arg: LLVMRemarkArgRef) -> LLVMRemarkStringRef;
55
56 pub fn LLVMRemarkArgGetValue(Arg: LLVMRemarkArgRef) -> LLVMRemarkStringRef;
58
59 pub fn LLVMRemarkArgGetDebugLoc(Arg: LLVMRemarkArgRef) -> LLVMRemarkDebugLocRef;
61}
62
63pub enum LLVMRemarkOpaqueEntry {}
64pub type LLVMRemarkEntryRef = *mut LLVMRemarkOpaqueEntry;
66
67extern "C" {
68 pub fn LLVMRemarkEntryDispose(Remark: LLVMRemarkEntryRef);
70
71 pub fn LLVMRemarkEntryGetType(Remark: LLVMRemarkEntryRef) -> LLVMRemarkType;
74
75 pub fn LLVMRemarkEntryGetPassName(Remark: LLVMRemarkEntryRef) -> LLVMRemarkStringRef;
77
78 pub fn LLVMRemarkEntryGetRemarkName(Remark: LLVMRemarkEntryRef) -> LLVMRemarkStringRef;
80
81 pub fn LLVMRemarkEntryGetFunctionName(Remark: LLVMRemarkEntryRef) -> LLVMRemarkStringRef;
83
84 pub fn LLVMRemarkEntryGetDebugLoc(Remark: LLVMRemarkEntryRef) -> LLVMRemarkDebugLocRef;
86
87 pub fn LLVMRemarkEntryGetHotness(Remark: LLVMRemarkEntryRef) -> u64;
89
90 pub fn LLVMRemarkEntryGetNumArgs(Remark: LLVMRemarkEntryRef) -> u32;
92
93 pub fn LLVMRemarkEntryGetFirstArg(Remark: LLVMRemarkEntryRef) -> LLVMRemarkArgRef;
95
96 pub fn LLVMRemarkEntryGetNextArg(
98 It: LLVMRemarkArgRef,
99 Remark: LLVMRemarkEntryRef,
100 ) -> LLVMRemarkArgRef;
101}
102
103pub enum LLVMRemarkOpaqueParser {}
104pub type LLVMRemarkParserRef = *mut LLVMRemarkOpaqueParser;
105
106extern "C" {
107 pub fn LLVMRemarkParserCreateYAML(Buf: *const ::libc::c_void, Size: u64)
110 -> LLVMRemarkParserRef;
111
112 #[cfg(LLVM_VERSION_10_OR_GREATER)]
113 pub fn LLVMRemarkParserCreateBitstream(
114 Buf: *const ::libc::c_void,
115 Size: u64
116 ) -> LLVMRemarkParserRef;
117
118 pub fn LLVMRemarkParserGetNext(Parser: LLVMRemarkParserRef) -> LLVMRemarkEntryRef;
120
121 pub fn LLVMRemarkParserHasError(Parser: LLVMRemarkParserRef) -> LLVMBool;
123
124 pub fn LLVMRemarkParserGetErrorMessage(Parser: LLVMRemarkParserRef) -> *const ::libc::c_char;
126
127 pub fn LLVMRemarkParserDispose(Parser: LLVMRemarkParserRef);
128}
129
130#[cfg(LLVM_VERSION_9_OR_LOWER)]
131pub const REMARKS_API_VERSION: u32 = 0;
132#[cfg(LLVM_VERSION_10_OR_GREATER)]
133pub const REMARKS_API_VERSION: u32 = 1;
134
135extern "C" {
136 pub fn LLVMRemarkVersion() -> u32;
138}