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()) {