mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-25 16:24:23 +00:00
LoopIdiom: Give globals for memset_pattern16 private linkage.
There's really no reason to have them have entries in the symbol table anymore. Old versions of ld64 had some bugs in this area but those have been fixed long ago. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231041 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1005,7 +1005,7 @@ processLoopStridedStore(Value *DestPtr, unsigned StoreSize,
|
|||||||
// Otherwise we should form a memset_pattern16. PatternValue is known to be
|
// Otherwise we should form a memset_pattern16. PatternValue is known to be
|
||||||
// an constant array of 16-bytes. Plop the value into a mergable global.
|
// an constant array of 16-bytes. Plop the value into a mergable global.
|
||||||
GlobalVariable *GV = new GlobalVariable(*M, PatternValue->getType(), true,
|
GlobalVariable *GV = new GlobalVariable(*M, PatternValue->getType(), true,
|
||||||
GlobalValue::InternalLinkage,
|
GlobalValue::PrivateLinkage,
|
||||||
PatternValue, ".memset_pattern");
|
PatternValue, ".memset_pattern");
|
||||||
GV->setUnnamedAddr(true); // Ok to merge these.
|
GV->setUnnamedAddr(true); // Ok to merge these.
|
||||||
GV->setAlignment(16);
|
GV->setAlignment(16);
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
; RUN: opt -basicaa -loop-idiom < %s -S | FileCheck %s
|
; RUN: opt -basicaa -loop-idiom < %s -S | FileCheck %s
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||||
|
|
||||||
|
; For @test11_pattern
|
||||||
|
; CHECK: @.memset_pattern = private unnamed_addr constant [4 x i32] [i32 1, i32 1, i32 1, i32 1]
|
||||||
|
|
||||||
|
; For @test13_pattern
|
||||||
|
; CHECK: @.memset_pattern1 = private unnamed_addr constant [2 x i32*] [i32* @G, i32* @G]
|
||||||
|
|
||||||
target triple = "x86_64-apple-darwin10.0.0"
|
target triple = "x86_64-apple-darwin10.0.0"
|
||||||
|
|
||||||
define void @test1(i8* %Base, i64 %Size) nounwind ssp {
|
define void @test1(i8* %Base, i64 %Size) nounwind ssp {
|
||||||
|
Reference in New Issue
Block a user