Strip out and simplify some code. This also fixes the regression last
authorChris Lattner <sabre@nondot.org>
Sun, 18 Jul 2004 19:56:20 +0000 (19:56 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 18 Jul 2004 19:56:20 +0000 (19:56 +0000)
night compiling cfrac.  It did not realize that code like this:

int G; int *H = &G;

takes the address of G.

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

lib/Transforms/IPO/GlobalOpt.cpp

index 3478d9de41b309c19a6363b285f31600efe6d23b..6f01f25f507478a2851383c202fbb9e93aa246f8 100644 (file)
@@ -44,16 +44,9 @@ Pass *llvm::createGlobalConstifierPass() { return new Constifier(); }
 ///
 static bool isStoredThrough(Value *V) {
   for (Value::use_iterator UI = V->use_begin(), E = V->use_end(); UI != E; ++UI)
-    if (Constant *C = dyn_cast<Constant>(*UI)) {
-      if (ConstantExpr *CE = dyn_cast<ConstantExpr>(C)) {
-        if (isStoredThrough(CE))
-          return true;
-      } else if (GlobalValue *GV = dyn_cast<GlobalValue>(C)) {
-        if (isStoredThrough(GV)) return true;
-      } else {
-        // Must be an element of a constant array or something.
+    if (ConstantExpr *CE = dyn_cast<ConstantExpr>(*UI)) {
+      if (isStoredThrough(CE))
         return true;
-      }
     } else if (Instruction *I = dyn_cast<Instruction>(*UI)) {
       if (I->getOpcode() == Instruction::GetElementPtr) {
         if (isStoredThrough(I)) return true;