Temporarily revert r60973. It's inexplicably causing a failure when self-hosting...
authorBill Wendling <isanbard@gmail.com>
Sat, 13 Dec 2008 09:28:44 +0000 (09:28 +0000)
committerBill Wendling <isanbard@gmail.com>
Sat, 13 Dec 2008 09:28:44 +0000 (09:28 +0000)
llvm[2]: Linking Release executable opt (without symbols)
...
Undefined symbols:
  "llvm::APFloat::IEEEsingle", referenced from:
      __ZN4llvm7APFloat10IEEEsingleE$non_lazy_ptr in libLLVMCore.a(Constants.o)
      __ZN4llvm7APFloat10IEEEsingleE$non_lazy_ptr in libLLVMCore.a(AsmWriter.o)
      __ZN4llvm7APFloat10IEEEsingleE$non_lazy_ptr in libLLVMCore.a(ConstantFold.o)
  "llvm::APFloat::IEEEdouble", referenced from:
      __ZN4llvm7APFloat10IEEEdoubleE$non_lazy_ptr in libLLVMCore.a(Constants.o)
      __ZN4llvm7APFloat10IEEEdoubleE$non_lazy_ptr in libLLVMCore.a(AsmWriter.o)
      __ZN4llvm7APFloat10IEEEdoubleE$non_lazy_ptr in libLLVMCore.a(ConstantFold.o)
ld: symbol(s) not found

This is in release mode. To replicate, compile llvm and llvm-gcc in optimized
mode. Then build llvm, in optimized mode, with the newly created compiler.

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

lib/Transforms/Scalar/GVN.cpp
test/Transforms/GVN/2007-07-26-InterlockingLoops.ll
test/Transforms/GVN/2007-07-26-PhiErasure.ll
test/Transforms/GVN/2007-07-31-NoDomInherit.ll
test/Transforms/GVN/nonlocal.ll
test/Transforms/GVN/rle-must-alias.ll
test/Transforms/GVN/semidominated.ll

index cb2b06b7a6d62442b1f3cbc0be165c5ee17e6a3c..2081811f0d17c0dd96206305dce5505835f86a6d 100644 (file)
@@ -1034,7 +1034,6 @@ bool GVN::processNonLocalLoad(LoadInst *LI,
     // Perform PHI construction.
     Value* v = GetValueForBlock(LI->getParent(), LI, BlockReplValues, true);
     LI->replaceAllUsesWith(v);
-    v->takeName(LI);
     if (isa<PointerType>(v->getType()))
       MD->invalidateCachedPointerInfo(v);
     toErase.push_back(LI);
index a9656352dda9bb1ab8842fecddec771f136fc103..1dd1479b482553a229ba31c7fadbf39bebfc2bf9 100644 (file)
@@ -1,5 +1,5 @@
-; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {tmp17625.* = phi i32. }
-; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {tmp17631 = phi i32. }
+; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {tmp17625 =}
+; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {tmp17631 =}
 
 @last = external global [65 x i32*]            ; <[65 x i32*]*> [#uses=1]
 
index 4925df786d739863ade12fe63ddf5ef36d70acbb..52c5b8e7ec83eabfdcac6d6ea0700adecfae98f5 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {tmp298316 = phi i32 }
+; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {tmp298316 =}
 
        %struct..0anon = type { i32 }
        %struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
index 6cb7785fcd57010d3e00d25f9c05b5638fcc30a9..5dbd34c0cdec25533bba629a19ae8b2af1106c82 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {tmp47 = phi i32 }
+; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep tmp51.rle
 
        %struct.anon = type { i32 (i32, i32, i32)*, i32, i32, [3 x i32], i8*, i8*, i8* }
 @debug = external constant i32         ; <i32*> [#uses=0]
index d93223131d7959306af33df84c60b2efc6bbfc19..1618d05efb5f6b68d5b9cae2f669d3b7912bb243 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {%DEAD = phi i32. }
+; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {DEAD =}
 
 define i32 @main(i32** %p) {
 block1:
index d23623e460c75f686441d29e3d323ef548dbbdd2..e507556fe1ffb4b8a3679dc1e97a4bc10560e0f2 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {DEAD = phi i32 }
+; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {DEAD.rle = phi i32}
 ; The %7 and %4 loads combine to make %DEAD unneeded.
 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
 target triple = "i386-apple-darwin7"
index 5c11b06e73276c4f36dd31303e8b01391d0cfb92..95ee56a39c01aeaa455715924ac2a268354c7cea 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {DEAD = phi i32 }
+; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {DEAD =}
 
 define i32 @main(i32* %p) {
 block1: