Minor cleanups.
authorChris Lattner <sabre@nondot.org>
Thu, 22 May 2003 19:07:21 +0000 (19:07 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 22 May 2003 19:07:21 +0000 (19:07 +0000)
This hunk:
-    } else if (Src->getNumOperands() == 2 && Src->use_size() == 1) {
+    } else if (Src->getNumOperands() == 2) {

Allows GEP folding to be more aggressive, which reduces the number of instructions
and can dramatically speed up BasicAA in some cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6286 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/InstructionCombining.cpp

index d73ee1e40cd49c5157956a1db9f18a7f488cb68b..7c77a666d6ef0935413f076fceabded2e44f66e8 100644 (file)
 #include "llvm/Transforms/Utils/BasicBlockUtils.h"
 #include "llvm/Transforms/Utils/Local.h"
 #include "llvm/ConstantHandling.h"
-#include "llvm/iMemory.h"
-#include "llvm/iOther.h"
-#include "llvm/iPHINode.h"
-#include "llvm/iOperators.h"
+#include "llvm/Instructions.h"
 #include "llvm/Pass.h"
 #include "llvm/DerivedTypes.h"
 #include "llvm/Support/InstIterator.h"
@@ -941,7 +938,7 @@ Instruction *InstCombiner::visitPHINode(PHINode &PN) {
 
 
 Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
-  // Is it 'getelementptr %P, uint 0'  or 'getelementptr %P'
+  // Is it 'getelementptr %P, long 0'  or 'getelementptr %P'
   // If so, eliminate the noop.
   if ((GEP.getNumOperands() == 2 &&
        GEP.getOperand(1) == Constant::getNullValue(Type::LongTy)) ||
@@ -956,8 +953,8 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
     std::vector<Value *> Indices;
   
     // Can we combine the two pointer arithmetics offsets?
-     if (Src->getNumOperands() == 2 && isa<Constant>(Src->getOperand(1)) &&
-         isa<Constant>(GEP.getOperand(1))) {
+    if (Src->getNumOperands() == 2 && isa<Constant>(Src->getOperand(1)) &&
+        isa<Constant>(GEP.getOperand(1))) {
       // Replace: gep (gep %P, long C1), long C2, ...
       // With:    gep %P, long (C1+C2), ...
       Value *Sum = *cast<Constant>(Src->getOperand(1)) +
@@ -967,7 +964,7 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
       GEP.setOperand(1, Sum);
       AddUsesToWorkList(*Src);   // Reduce use count of Src
       return &GEP;
-    } else if (Src->getNumOperands() == 2 && Src->use_size() == 1) {
+    } else if (Src->getNumOperands() == 2) {
       // Replace: gep (gep %P, long B), long A, ...
       // With:    T = long A+B; gep %P, T, ...
       //