diff options
Diffstat (limited to 'llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp b/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp index bb8e9176826..5540859ebdd 100644 --- a/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp +++ b/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp @@ -356,7 +356,7 @@ void LegacyDivergenceAnalysis::print(raw_ostream &OS, const Module *) const { if ((!gpuDA || !gpuDA->hasDivergence()) && DivergentValues.empty()) return; - const Function *F; + const Function *F = nullptr; if (!DivergentValues.empty()) { const Value *FirstDivergentValue = *DivergentValues.begin(); if (const Argument *Arg = dyn_cast<Argument>(FirstDivergentValue)) { @@ -370,6 +370,8 @@ void LegacyDivergenceAnalysis::print(raw_ostream &OS, const Module *) const { } else if (gpuDA) { F = &gpuDA->getFunction(); } + if (!F) + return; // Dumps all divergent values in F, arguments and then instructions. for (auto &Arg : F->args()) { |