在LLVM 5.0.1中使用AaresultsRapperPass时出现分段错误

在LLVM 5.0.1中使用AaresultsRapperPass时出现分段错误,llvm,Llvm,我正在尝试使用AliasAnalysis(LLVM 5.01),代码如下: void getAnalysisUsage(AnalysisUsage &AU) const override { AU.addRequired<AAResultsWrapperPass>(); } 有人建议将当前函数作为参数传递给此函数以解决此问题() getAnalysis().getAAResults()-不工作 getAnalysis().getAAResults(F)-正在工作 然而

我正在尝试使用AliasAnalysis(LLVM 5.01),代码如下:

void getAnalysisUsage(AnalysisUsage &AU) const override {
  AU.addRequired<AAResultsWrapperPass>();
}
有人建议将当前函数作为参数传递给此函数以解决此问题()

getAnalysis().getAAResults()-不工作
getAnalysis().getAAResults(F)-正在工作

然而,他的方法对我不起作用。如何处理此问题?

尝试调用函数作为参数的
getAnalysis
,即

getAnalysis<AAResultsWrapperPass>(F).getAAResults();
getAnalysis(F).getAAResults();
clang -Xclang -load -Xclang /home/zhangjun/tools/llvm/llvm-build/lib/LLVMCPI.so -O0 -c test.c 
Pass 'Unnamed pass: implement Pass::getPassName()' is not initialized.
Verify if there is a pass dependency cycle. 
Required Passes:clang-5.0: /home/zhangjun/tools/llvm/llvm/lib/IR/LegacyPassManager.cpp:653: void  llvm::PMTopLevelManager::schedulePass(llvm::Pass*): Assertion `PI && "Expected required passes to be initialized"' failed.
#0 0x0000000002dae43f llvm::sys::PrintStackTrace(llvm::raw_ostream&) /home/zhangjun/tools/llvm/llvm/lib/Support/Unix/Signals.inc:398:0
#1 0x0000000002dae4d0 PrintStackTraceSignalHandler(void*) /home/zhangjun/tools/llvm/llvm/lib/Support/Unix/Signals.inc:462:0
#2 0x0000000002dac916 llvm::sys::RunSignalHandlers() /home/zhangjun/tools/llvm/llvm/lib/Support/Signals.cpp:49:0
#3 0x0000000002daddd7 SignalHandler(int) /home/zhangjun/tools/llvm/llvm/lib/Support/Unix/Signals.inc:252:0
getAnalysis<AAResultsWrapperPass>().getAAResults() - NOT working
getAnalysis<AAResultsWrapperPass>().getAAResults(F)- working
getAnalysis<AAResultsWrapperPass>(F).getAAResults();