#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>
usingnamespacellvm;
#define DEBUG_TYPE …
namespace {
class LowerGlobalDtorsLegacyPass final : public ModulePass { … };
}
char LowerGlobalDtorsLegacyPass::ID = …;
INITIALIZE_PASS(…)
ModulePass *llvm::createLowerGlobalDtorsLegacyPass() { … }
static bool runImpl(Module &M);
bool LowerGlobalDtorsLegacyPass::runOnModule(Module &M) { … }
PreservedAnalyses LowerGlobalDtorsPass::run(Module &M,
ModuleAnalysisManager &AM) { … }
static bool runImpl(Module &M) { … }