Issue 137326
Summary use TargetIRAnalysis or any analysis crash ??
Labels new issue
Assignees
Reporter ductai230894
    hello every body, current I develop plugin of llvm
but when plugin run

when I get result of TargetIRAnalysis  from FunctionAnalysisManager, it always crash 

error 
Exception has occurred: W32/0xC0000005
opt.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

this is my minimize code

PreservedAnalyses MySamplePass::run(Function &F,
                                      FunctionAnalysisManager &AM)
{
  if (F.isDeclaration() || F.empty())
    return PreservedAnalyses::all();
  llvm::errs() << "[Debug] FAM address: " << &AM << "\n";
  if (!F.getParent()) {
    llvm::errs() << "[Error] Function has no parent Module!\n";
    llvm::errs() << "[Debug] FAM address: " << &AM << "\n";
    return PreservedAnalyses::all(); // or handle error
}

const DataLayout &DL = F.getParent()->getDataLayout();
if (DL.isDefault()) {
    llvm::errs() << "[Error] Function's Module has no valid DataLayout!\n";
    llvm::errs() << "[Debug] FAM address: " << &AM << "\n";
    return PreservedAnalyses::all();; // or handle error
}
  AM.getResult<TargetIRAnalysis>(F); //it crash
}

I already add TargetIRAnalysis   
extern "C" LLVM_ATTRIBUTE_WEAK ::llvm::PassPluginLibraryInfo llvmGetPassPluginInfo() {
    return {
        LLVM_PLUGIN_API_VERSION,
        "LLvmObfuscator",
        "v1.0",
        [](llvm::PassBuilder &PB) {
            // ✅ Register required analyses
            PB.registerAnalysisRegistrationCallback(
                [](FunctionAnalysisManager &FAM) {

                  
                    FAM.registerPass([] { return AssumptionAnalysis(); });
                    FAM.registerPass([] { return DominatorTreeAnalysis(); });
                    FAM.registerPass([] { return LazyValueAnalysis(); });
                    FAM.registerPass([] { 

                        return TargetIRAnalysis([](const Function &F) {
                            return TargetIRAnalysis::Result(F.getDataLayout());
                        });
                     });

                });
            registerObfuscatorPasses(PB);
        }
    };
}

can any else help me 

_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to