LLVM  16.0.0git

Symbol representation. More...

#include "llvm/ExecutionEngine/JITLink/JITLink.h"

## Public Member Functions

Symbol ()=default
Create a null Symbol. More...

Symbol (const Symbol &)=delete

Symboloperator= (const Symbol &)=delete

Symbol (Symbol &&)=delete

Symboloperator= (Symbol &&)=delete

bool hasName () const
Returns true if this symbol has a name. More...

StringRef getName () const
Returns the name of this symbol (empty if the symbol is anonymous). More...

void setName (StringRef Name)
Rename this symbol. More...

bool isDefined () const
Returns true if this Symbol has content (potentially) defined within this object file (i.e. More...

bool isLive () const
Returns true if this symbol is live (i.e. More...

void setLive (bool IsLive)
Set this symbol's live bit. More...

bool isCallable () const
Returns true is this symbol is callable. More...

void setCallable (bool IsCallable)
Set this symbol's callable bit. More...

bool isExternal () const
Returns true if the underlying addressable is an unresolved external. More...

bool isAbsolute () const
Returns true if the underlying addressable is an absolute symbol. More...

Return the addressable that this symbol points to. More...

Return the addressable that thsi symbol points to. More...

BlockgetBlock ()
Return the Block for this Symbol (Symbol must be defined). More...

const BlockgetBlock () const
Return the Block for this Symbol (Symbol must be defined). More...

Returns the offset for this symbol within the underlying addressable. More...

Returns the address of this symbol. More...

Returns the size of this symbol. More...

Set the size of this symbol. More...

Returns the address range of this symbol. More...

bool isSymbolZeroFill () const
Returns true if this symbol is backed by a zero-fill block. More...

ArrayRef< char > getSymbolContent () const
Returns the content in the underlying block covered by this symbol. More...

Get the linkage for this Symbol. More...

Set the linkage for this Symbol. More...

Scope getScope () const
Get the visibility for this Symbol. More...

void setScope (Scope S)
Set the visibility for this Symbol. More...

bool isWeaklyReferenced () const
Returns true if this is a weakly referenced external symbol. More...

void setWeaklyReferenced (bool WeakRef)
Set the WeaklyReferenced value for this symbol. More...

## Detailed Description

Symbol representation.

Symbols represent locations within Addressable objects. They can be either Named or Anonymous. Anonymous symbols have neither linkage nor visibility, and must point at ContentBlocks. Named symbols may be in one of four states:

• Null: Default initialized. Assignable, but otherwise unusable.
• Defined: Has both linkage and visibility and points to a ContentBlock
• Common: Has both linkage and visibility, points to a null Addressable.
• External: Has neither linkage nor visibility, points to an external Addressable.

Definition at line 401 of file JITLink.h.

## ◆ Symbol() [1/3]

default

Create a null Symbol.

This allows Symbols to be default initialized for use in containers (e.g. as map values). Null symbols are only useful for assigning to.

## ◆ Symbol() [2/3]

 llvm::jitlink::Symbol::Symbol ( const Symbol & )
delete

delete

## Member Function Documentation

inline

Returns the address of this symbol.

Definition at line 555 of file JITLink.h.

References llvm::sampleprof::Base, and Offset.

inline

Return the addressable that this symbol points to.

Definition at line 526 of file JITLink.h.

References assert(), and llvm::sampleprof::Base.

inline

Return the addressable that thsi symbol points to.

Definition at line 532 of file JITLink.h.

References assert(), and llvm::sampleprof::Base.

## ◆ getBlock() [1/2]

inline

Return the Block for this Symbol (Symbol must be defined).

Definition at line 538 of file JITLink.h.

References assert(), and llvm::sampleprof::Base.

## ◆ getBlock() [2/2]

 const Block& llvm::jitlink::Symbol::getBlock ( ) const
inline

Return the Block for this Symbol (Symbol must be defined).

Definition at line 545 of file JITLink.h.

References assert(), and llvm::sampleprof::Base.

inline

Get the linkage for this Symbol.

Definition at line 586 of file JITLink.h.

## ◆ getName()

inline

Returns the name of this symbol (empty if the symbol is anonymous).

Definition at line 480 of file JITLink.h.

## ◆ getOffset()

inline

Returns the offset for this symbol within the underlying addressable.

Definition at line 552 of file JITLink.h.

References Offset.

## ◆ getRange()

inline

Returns the address range of this symbol.

Definition at line 571 of file JITLink.h.

## ◆ getScope()

inline

Get the visibility for this Symbol.

Definition at line 596 of file JITLink.h.

References S.

## ◆ getSize()

inline

Returns the size of this symbol.

Definition at line 558 of file JITLink.h.

References Size.

## ◆ getSymbolContent()

inline

Returns the content in the underlying block covered by this symbol.

This method may only be called on defined non-zero-fill symbols.

Definition at line 581 of file JITLink.h.

## ◆ hasName()

inline

Returns true if this symbol has a name.

Definition at line 477 of file JITLink.h.

## ◆ isAbsolute()

inline

Returns true if the underlying addressable is an absolute symbol.

Definition at line 520 of file JITLink.h.

References assert(), and llvm::sampleprof::Base.

## ◆ isCallable()

inline

Returns true is this symbol is callable.

Definition at line 508 of file JITLink.h.

## ◆ isDefined()

inline

Returns true if this Symbol has content (potentially) defined within this object file (i.e.

is anything but an external or absolute symbol).

Definition at line 492 of file JITLink.h.

References assert(), and llvm::sampleprof::Base.

## ◆ isExternal()

inline

Returns true if the underlying addressable is an unresolved external.

Definition at line 514 of file JITLink.h.

References assert(), and llvm::sampleprof::Base.

## ◆ isLive()

inline

Returns true if this symbol is live (i.e.

should be treated as a root for dead stripping).

Definition at line 499 of file JITLink.h.

References assert(), and llvm::sampleprof::Base.

## ◆ isSymbolZeroFill()

inline

Returns true if this symbol is backed by a zero-fill block.

This method may only be called on defined symbols.

Definition at line 577 of file JITLink.h.

## ◆ isWeaklyReferenced()

inline

Returns true if this is a weakly referenced external symbol.

This method may only be called on external symbols.

Definition at line 609 of file JITLink.h.

References assert(), and isExternal().

## ◆ operator=() [1/2]

 Symbol& llvm::jitlink::Symbol::operator= ( const Symbol & )
delete

## ◆ operator=() [2/2]

 Symbol& llvm::jitlink::Symbol::operator= ( Symbol && )
delete

## ◆ setCallable()

 void llvm::jitlink::Symbol::setCallable ( bool IsCallable )
inline

Set this symbol's callable bit.

Definition at line 511 of file JITLink.h.

inline

Set the linkage for this Symbol.

Definition at line 589 of file JITLink.h.

## ◆ setLive()

 void llvm::jitlink::Symbol::setLive ( bool IsLive )
inline

Set this symbol's live bit.

Definition at line 505 of file JITLink.h.

## ◆ setName()

 void llvm::jitlink::Symbol::setName ( StringRef Name )
inline

Rename this symbol.

The client is responsible for updating scope and linkage if this name-change requires it.

Definition at line 488 of file JITLink.h.

## ◆ setScope()

 void llvm::jitlink::Symbol::setScope ( Scope S )
inline

Set the visibility for this Symbol.

Definition at line 599 of file JITLink.h.

## ◆ setSize()

inline

Set the size of this symbol.

Definition at line 561 of file JITLink.h.

References assert(), llvm::sampleprof::Base, llvm::jitlink::Block::getSize(), Offset, and Size.

## ◆ setWeaklyReferenced()

 void llvm::jitlink::Symbol::setWeaklyReferenced ( bool WeakRef )
inline

Set the WeaklyReferenced value for this symbol.

This method may only be called on external symbols.

Definition at line 616 of file JITLink.h.

References assert(), and isExternal().
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 1, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "math_score": 0.6488508582115173, "perplexity": 16384.254955460052}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "warc_path": "s3://commoncrawl/crawl-data/CC-MAIN-2022-40/segments/1664030335350.36/warc/CC-MAIN-20220929100506-20220929130506-00484.warc.gz"}