Project Alice
|
Macros | |
#define | REMARKS_API_VERSION 1 |
Typedefs | |
typedef struct LLVMRemarkOpaqueString * | LLVMRemarkStringRef |
typedef struct LLVMRemarkOpaqueDebugLoc * | LLVMRemarkDebugLocRef |
typedef struct LLVMRemarkOpaqueArg * | LLVMRemarkArgRef |
typedef struct LLVMRemarkOpaqueEntry * | LLVMRemarkEntryRef |
typedef struct LLVMRemarkOpaqueParser * | LLVMRemarkParserRef |
typedef struct LLVMRemarkOpaqueArg* LLVMRemarkArgRef |
typedef struct LLVMRemarkOpaqueDebugLoc* LLVMRemarkDebugLocRef |
typedef struct LLVMRemarkOpaqueEntry* LLVMRemarkEntryRef |
typedef struct LLVMRemarkOpaqueParser* LLVMRemarkParserRef |
typedef struct LLVMRemarkOpaqueString* LLVMRemarkStringRef |
enum LLVMRemarkType |
LLVMRemarkDebugLocRef LLVMRemarkArgGetDebugLoc | ( | LLVMRemarkArgRef | Arg | ) |
Returns the debug location that is attached to the value of this argument.
If there is no debug location, the return value will be NULL
.
LLVMRemarkStringRef LLVMRemarkArgGetKey | ( | LLVMRemarkArgRef | Arg | ) |
Returns the key of an argument. The key defines what the value is, and the same key can appear multiple times in the list of arguments.
LLVMRemarkStringRef LLVMRemarkArgGetValue | ( | LLVMRemarkArgRef | Arg | ) |
Returns the value of an argument. This is a string that can contain newlines.
uint32_t LLVMRemarkDebugLocGetSourceColumn | ( | LLVMRemarkDebugLocRef | DL | ) |
Return the column in the source file for a debug location.
LLVMRemarkStringRef LLVMRemarkDebugLocGetSourceFilePath | ( | LLVMRemarkDebugLocRef | DL | ) |
Return the path to the source file for a debug location.
uint32_t LLVMRemarkDebugLocGetSourceLine | ( | LLVMRemarkDebugLocRef | DL | ) |
Return the line in the source file for a debug location.
void LLVMRemarkEntryDispose | ( | LLVMRemarkEntryRef | Remark | ) |
Free the resources used by the remark entry.
LLVMRemarkDebugLocRef LLVMRemarkEntryGetDebugLoc | ( | LLVMRemarkEntryRef | Remark | ) |
Returns the debug location that is attached to this remark.
If there is no debug location, the return value will be NULL
.
LLVMRemarkArgRef LLVMRemarkEntryGetFirstArg | ( | LLVMRemarkEntryRef | Remark | ) |
Get a new iterator to iterate over a remark's argument.
If there are no arguments in Remark
, the return value will be NULL
.
The lifetime of the returned value is bound to the lifetime of Remark
.
LLVMRemarkStringRef LLVMRemarkEntryGetFunctionName | ( | LLVMRemarkEntryRef | Remark | ) |
Get the name of the function being processed when the remark was emitted.
uint64_t LLVMRemarkEntryGetHotness | ( | LLVMRemarkEntryRef | Remark | ) |
Return the hotness of the remark.
A hotness of 0
means this value is not set.
LLVMRemarkArgRef LLVMRemarkEntryGetNextArg | ( | LLVMRemarkArgRef | It, |
LLVMRemarkEntryRef | Remark | ||
) |
Get the next argument in Remark
from the position of It
.
Returns NULL
if there are no more arguments available.
The lifetime of the returned value is bound to the lifetime of Remark
.
uint32_t LLVMRemarkEntryGetNumArgs | ( | LLVMRemarkEntryRef | Remark | ) |
The number of arguments the remark holds.
LLVMRemarkStringRef LLVMRemarkEntryGetPassName | ( | LLVMRemarkEntryRef | Remark | ) |
Get the name of the pass that emitted this remark.
LLVMRemarkStringRef LLVMRemarkEntryGetRemarkName | ( | LLVMRemarkEntryRef | Remark | ) |
Get an identifier of the remark.
enum LLVMRemarkType LLVMRemarkEntryGetType | ( | LLVMRemarkEntryRef | Remark | ) |
The type of the remark. For example, it can allow users to only keep the missed optimizations from the compiler.
LLVMRemarkParserRef LLVMRemarkParserCreateBitstream | ( | const void * | Buf, |
uint64_t | Size | ||
) |
Creates a remark parser that can be used to parse the buffer located in Buf
of size Size
bytes.
Buf
cannot be NULL
.
This function should be paired with LLVMRemarkParserDispose() to avoid leaking resources.
LLVMRemarkParserRef LLVMRemarkParserCreateYAML | ( | const void * | Buf, |
uint64_t | Size | ||
) |
Creates a remark parser that can be used to parse the buffer located in Buf
of size Size
bytes.
Buf
cannot be NULL
.
This function should be paired with LLVMRemarkParserDispose() to avoid leaking resources.
void LLVMRemarkParserDispose | ( | LLVMRemarkParserRef | Parser | ) |
Releases all the resources used by Parser
.
const char * LLVMRemarkParserGetErrorMessage | ( | LLVMRemarkParserRef | Parser | ) |
Returns a null-terminated string containing an error message.
In case of no error, the result is NULL
.
The memory of the string is bound to the lifetime of Parser
. If LLVMRemarkParserDispose() is called, the memory of the string will be released.
LLVMRemarkEntryRef LLVMRemarkParserGetNext | ( | LLVMRemarkParserRef | Parser | ) |
Returns the next remark in the file.
The value pointed to by the return value needs to be disposed using a call to LLVMRemarkEntryDispose().
All the entries in the returned value that are of LLVMRemarkStringRef type will become invalidated once a call to LLVMRemarkParserDispose is made.
If the parser reaches the end of the buffer, the return value will be NULL
.
In the case of an error, the return value will be NULL
, and:
1) LLVMRemarkParserHasError() will return 1
.
2) LLVMRemarkParserGetErrorMessage() will return a descriptive error message.
An error may occur if:
1) An argument is invalid.
2) There is a parsing error. This can occur on things like malformed YAML.
3) There is a Remark semantic error. This can occur on well-formed files with missing or extra fields.
Here is a quick example of the usage:
LLVMBool LLVMRemarkParserHasError | ( | LLVMRemarkParserRef | Parser | ) |
Returns 1
if the parser encountered an error while parsing the buffer.
const char * LLVMRemarkStringGetData | ( | LLVMRemarkStringRef | String | ) |
Returns the buffer holding the string.
uint32_t LLVMRemarkStringGetLen | ( | LLVMRemarkStringRef | String | ) |
Returns the size of the string.
uint32_t LLVMRemarkVersion | ( | void | ) |
Returns the version of the remarks library.