LLVM 20.0.0git
Macros | Functions
LowerGlobalDtors.cpp File Reference

Lower @llvm.global_dtors. More...

#include "llvm/Transforms/Utils/LowerGlobalDtors.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Utils.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
#include <map>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "lower-global-dtors"
 

Functions

 INITIALIZE_PASS (LowerGlobalDtorsLegacyPass, DEBUG_TYPE, "Lower @llvm.global_dtors via `__cxa_atexit`", false, false) ModulePass *llvm
 
static bool runImpl (Module &M)
 

Detailed Description

Lower @llvm.global_dtors.

Implement @llvm.global_dtors by creating wrapper functions that are registered in @llvm.global_ctors and which contain a call to __cxa_atexit to register their destructor functions.

Definition in file LowerGlobalDtors.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "lower-global-dtors"

Definition at line 32 of file LowerGlobalDtors.cpp.

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( LowerGlobalDtorsLegacyPass  ,
DEBUG_TYPE  ,
"Lower @llvm.global_dtors via `__cxa_atexit`"  ,
false  ,
false   
)

Definition at line 56 of file LowerGlobalDtors.cpp.

◆ runImpl()

static bool runImpl ( Module M)
static