For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index 8d4cbdb..d974729 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/lib/Analysis/BasicAliasAnalysis.cpp
@@ -399,7 +399,7 @@
   }
 
   if (V1Size != ~0U && V2Size != ~0U)
-    if (const User *GEP = isGEP(V1)) {
+    if (isGEP(V1)) {
       std::vector<Value*> GEPOperands;
       const Value *BasePtr = GetGEPOperands(V1, GEPOperands);
 
diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp
index 8acbe8e..169cd65 100644
--- a/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/lib/Analysis/DataStructure/DataStructure.cpp
@@ -512,7 +512,6 @@
       // try merge with NewTy: struct {t1, t2, stuff...} if offset lands exactly on a field in Ty
       if (isa<StructType>(NewTy) && isa<StructType>(Ty)) {
         DEBUG(std::cerr << "Ty: " << *Ty << "\nNewTy: " << *NewTy << "@" << Offset << "\n");
-        unsigned O = 0;
         const StructType *STy = cast<StructType>(Ty);
         const StructLayout &SL = *TD.getStructLayout(STy);
         unsigned i = SL.getElementContainingOffset(Offset);
@@ -537,7 +536,6 @@
       //try merge with NewTy: struct : {t1, t2, T} if offset lands on a field in Ty
       if (isa<StructType>(Ty)) {
         DEBUG(std::cerr << "Ty: " << *Ty << "\nNewTy: " << *NewTy << "@" << Offset << "\n");
-        unsigned O = 0;
         const StructType *STy = cast<StructType>(Ty);
         const StructLayout &SL = *TD.getStructLayout(STy);
         unsigned i = SL.getElementContainingOffset(Offset);
@@ -1280,9 +1278,9 @@
 
   if (GlobalValue *GV = dyn_cast<GlobalValue>(Ptr)) {
     N->addGlobal(GV);
-  } else if (MallocInst *MI = dyn_cast<MallocInst>(Ptr)) {
+  } else if (isa<MallocInst>(Ptr)) {
     N->setHeapNodeMarker();
-  } else if (AllocaInst *AI = dyn_cast<AllocaInst>(Ptr)) {
+  } else if (isa<AllocaInst>(Ptr)) {
     N->setAllocaNodeMarker();
   } else {
     assert(0 && "Illegal memory object input!");
@@ -1777,8 +1775,10 @@
 
   // Scan the call list cleaning it up as necessary...
   DSNodeHandle LastCalleeNode;
+#if 0
   Function *LastCalleeFunc = 0;
   unsigned NumDuplicateCalls = 0;
+#endif
   bool LastCalleeContainsExternalFunction = false;
 
   unsigned NumDeleted = 0;
@@ -2187,7 +2187,6 @@
   } while (Iterate);
 
   // Move dead aux function calls to the end of the list
-  unsigned CurIdx = 0;
   for (std::list<DSCallSite>::iterator CI = AuxFunctionCalls.begin(),
          E = AuxFunctionCalls.end(); CI != E; )
     if (AuxFCallsAlive.count(&*CI))
diff --git a/lib/Analysis/DataStructure/EquivClassGraphs.cpp b/lib/Analysis/DataStructure/EquivClassGraphs.cpp
index 9126ef9..e28f421 100644
--- a/lib/Analysis/DataStructure/EquivClassGraphs.cpp
+++ b/lib/Analysis/DataStructure/EquivClassGraphs.cpp
@@ -256,8 +256,6 @@
 
     for (++SI; SI != FuncECs.member_end(); ++SI) {
       Function *F = *SI;
-      DSGraph *&FG = DSInfo[F];
-
       DSGraph &CBUGraph = CBU->getDSGraph(*F);
       if (GraphsMerged.insert(&CBUGraph).second) {
         // Record the "folded" graph for the function.
diff --git a/lib/Analysis/DataStructure/Local.cpp b/lib/Analysis/DataStructure/Local.cpp
index f0bb22c..d9e171b 100644
--- a/lib/Analysis/DataStructure/Local.cpp
+++ b/lib/Analysis/DataStructure/Local.cpp
@@ -409,7 +409,7 @@
       unsigned FieldNo =
            (unsigned)cast<ConstantInt>(I.getOperand())->getZExtValue();
       Offset += (unsigned)TD.getStructLayout(STy)->MemberOffsets[FieldNo];
-    } else if (const PointerType *PTy = dyn_cast<PointerType>(*I)) {
+    } else if (isa<PointerType>(*I)) {
       if (!isa<Constant>(I.getOperand()) ||
           !cast<Constant>(I.getOperand())->isNullValue())
         Value.getNode()->setArrayMarker();
diff --git a/lib/Analysis/IPA/Andersens.cpp b/lib/Analysis/IPA/Andersens.cpp
index bb3f254..de6cb5a 100644
--- a/lib/Analysis/IPA/Andersens.cpp
+++ b/lib/Analysis/IPA/Andersens.cpp
@@ -374,7 +374,6 @@
   if (Function *F = CS.getCalledFunction())
     if (F->isExternal()) {
       Node *N1 = getNode(P);
-      bool PointsToUniversalSet = false;
 
       if (N1->begin() == N1->end())
         return NoModRef;  // P doesn't point to anything.