simplify this code again, try 2 :)
authorChris Lattner <sabre@nondot.org>
Tue, 19 Feb 2008 06:52:38 +0000 (06:52 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 19 Feb 2008 06:52:38 +0000 (06:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47319 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GVN.cpp

index 26f7cb1630a36aafbc52a7f85327c646285f5b1b..62039f9048f1295dbeec6b406bb34a29f0f7ec14 100644 (file)
@@ -1220,13 +1220,11 @@ bool GVN::processInstruction(Instruction* I,
     if (dep == MemoryDependenceAnalysis::None ||
         dep == MemoryDependenceAnalysis::NonLocal)
       return false;
-    else if (CallInst* C = dyn_cast<CallInst>(dep)) {
-      if (!isa<MemCpyInst>(C))
-        return performReturnSlotOptzn(M, C, toErase);
-    } else if (!isa<MemCpyInst>(dep))
-      return false;
-    
-    return processMemCpy(M, cast<MemCpyInst>(dep), toErase);
+    if (isa<MemCpyInst>(dep))
+      return processMemCpy(M, cast<MemCpyInst>(dep), toErase);
+    if (CallInst* C = dyn_cast<CallInst>(dep))
+      return performReturnSlotOptzn(M, C, toErase);
+    return false;
   }
   
   unsigned num = VN.lookup_or_add(I);