LLVM API Documentation

Public Attributes
LLVMOpInfoSymbol1 Struct Reference

#include <Disassembler.h>

Collaboration diagram for LLVMOpInfoSymbol1:
Collaboration graph
[legend]

List of all members.

Public Attributes

uint64_t Present
const char * Name
uint64_t Value

Detailed Description

The initial support in LLVM MC for the most general form of a relocatable expression is "AddSymbol - SubtractSymbol + Offset". For some Darwin targets this full form is encoded in the relocation information so that AddSymbol and SubtractSymbol can be link edited independent of each other. Many other platforms only allow a relocatable expression of the form AddSymbol + Offset to be encoded.

The LLVMOpInfoCallback() for the TagType value of 1 uses the struct LLVMOpInfo1. The value of the relocatable expression for the operand, including any PC adjustment, is passed in to the call back in the Value field. The symbolic information about the operand is returned using all the fields of the structure with the Offset of the relocatable expression returned in the Value field. It is possible that some symbols in the relocatable expression were assembly temporary symbols, for example "Ldata - LpicBase + constant", and only the Values of the symbols without symbol names are present in the relocation information. The VariantKind type is one of the Target specific #defines below and is used to print operands like "_foo@GOT", ":lower16:_foo", etc.

Definition at line 74 of file include/llvm-c/Disassembler.h.


Member Data Documentation


The documentation for this struct was generated from the following file: