mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 00:16:48 +00:00 
			
		
		
		
	Temporarily revert r60973. It's inexplicably causing a failure when self-hosting LLVM:
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
			
			
This commit is contained in:
		| @@ -1034,7 +1034,6 @@ bool GVN::processNonLocalLoad(LoadInst *LI, | |||||||
|     // Perform PHI construction. |     // Perform PHI construction. | ||||||
|     Value* v = GetValueForBlock(LI->getParent(), LI, BlockReplValues, true); |     Value* v = GetValueForBlock(LI->getParent(), LI, BlockReplValues, true); | ||||||
|     LI->replaceAllUsesWith(v); |     LI->replaceAllUsesWith(v); | ||||||
|     v->takeName(LI); |  | ||||||
|     if (isa<PointerType>(v->getType())) |     if (isa<PointerType>(v->getType())) | ||||||
|       MD->invalidateCachedPointerInfo(v); |       MD->invalidateCachedPointerInfo(v); | ||||||
|     toErase.push_back(LI); |     toErase.push_back(LI); | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| ; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {tmp17625.* = phi i32. } | ; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {tmp17625 =} | ||||||
| ; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {tmp17631 = phi i32. } | ; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {tmp17631 =} | ||||||
|  |  | ||||||
| @last = external global [65 x i32*]		; <[65 x i32*]*> [#uses=1] | @last = external global [65 x i32*]		; <[65 x i32*]*> [#uses=1] | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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..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 } | 	%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 } | ||||||
|   | |||||||
| @@ -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* } | 	%struct.anon = type { i32 (i32, i32, i32)*, i32, i32, [3 x i32], i8*, i8*, i8* } | ||||||
| @debug = external constant i32		; <i32*> [#uses=0] | @debug = external constant i32		; <i32*> [#uses=0] | ||||||
|   | |||||||
| @@ -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) { | define i32 @main(i32** %p) { | ||||||
| block1: | block1: | ||||||
|   | |||||||
| @@ -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. | ; 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 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" | target triple = "i386-apple-darwin7" | ||||||
|   | |||||||
| @@ -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) { | define i32 @main(i32* %p) { | ||||||
| block1: | block1: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user