LegacyDivergenceAnalysis: fix uninitialized value
Change-Id: I014502e431a68f7beddf169f6a3d19dac5dd2c26
llvm-svn: 348051
diff --git a/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp b/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp
index bb8e917..5540859 100644
--- a/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp
+++ b/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp
@@ -356,7 +356,7 @@
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 @@
} else if (gpuDA) {
F = &gpuDA->getFunction();
}
+ if (!F)
+ return;
// Dumps all divergent values in F, arguments and then instructions.
for (auto &Arg : F->args()) {