LLVM  10.0.0svn
Public Types | Public Member Functions | List of all members
llvm::ASanGlobalsMetadataAnalysis Class Reference

The ASanGlobalsMetadataAnalysis initializes and returns a GlobalsMetadata object. More...

#include "llvm/Transforms/Instrumentation/AddressSanitizer.h"

Inheritance diagram for llvm::ASanGlobalsMetadataAnalysis:
Inheritance graph
[legend]
Collaboration diagram for llvm::ASanGlobalsMetadataAnalysis:
Collaboration graph
[legend]

Public Types

using Result = GlobalsMetadata
 

Public Member Functions

Result run (Module &, ModuleAnalysisManager &)
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::AnalysisInfoMixin< ASanGlobalsMetadataAnalysis >
static AnalysisKeyID ()
 Returns an opaque, unique ID for this analysis type. More...
 
- Static Public Member Functions inherited from llvm::PassInfoMixin< ASanGlobalsMetadataAnalysis >
static StringRef name ()
 Gets the name of the pass we are mixed into. More...
 

Detailed Description

The ASanGlobalsMetadataAnalysis initializes and returns a GlobalsMetadata object.

More specifically, ASan requires looking at all globals registered in 'llvm.asan.globals' before running, which only depends on reading module level metadata. This analysis is required to run before running the AddressSanitizerPass since it collects that metadata. The legacy pass manager equivalent of this is ASanGlobalsMetadataLegacyPass.

Definition at line 80 of file AddressSanitizer.h.

Member Typedef Documentation

◆ Result

Definition at line 83 of file AddressSanitizer.h.

Member Function Documentation

◆ run()

GlobalsMetadata ASanGlobalsMetadataAnalysis::run ( Module M,
ModuleAnalysisManager AM 
)

Definition at line 1152 of file AddressSanitizer.cpp.


The documentation for this class was generated from the following files: