- Feb 19, 2011
-
-
Chris Lattner authored
This is reasonable to do since all bt-mem forms do the same thing. llvm-svn: 126047
-
Chris Lattner authored
constant, including globals. This makes us generate much more "pretty" pattern globals as well because it doesn't break it down to an array of bytes all the time. This enables us to handle stores of relocatable globals. This kicks in about 48 times in 254.gap, giving us stuff like this: @.memset_pattern40 = internal constant [2 x %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)*] [%struct.TypHeader* (%struct.TypHeader*, %struct .TypHeader*)* @IsFalse, %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)* @IsFalse], align 16 ... call void @memset_pattern16(i8* %scevgep5859, i8* bitcast ([2 x %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)*]* @.memset_pattern40 to i8* ), i64 %tmp75) nounwind llvm-svn: 126044
-
Chris Lattner authored
them as splat values. llvm-svn: 126041
-
rdar://9009151Chris Lattner authored
unsplatable values into memset_pattern16 when it is available (recent darwins). This transforms lots of strided loop stores of ints for example, like 5 in vpr: Formed memset: call void @memset_pattern16(i8* %4, i8* getelementptr inbounds ([16 x i8]* @.memset_pattern9, i32 0, i32 0), i64 %tmp25) from store to: {%3,+,4}<%11> at: store i32 3, i32* %scevgep, align 4, !tbaa !4 llvm-svn: 126040
-
Eric Christopher authored
llvm-svn: 126018
-
Devang Patel authored
Do not emit empty DW_TAG_lexical_block DIEs. In one test case, size of debug info reduced by almost 7%. llvm-svn: 126009
-
Jakob Stoklund Olesen authored
llvm-svn: 126005
-
Joerg Sonnenberger authored
llvm-svn: 126004
-
Jakob Stoklund Olesen authored
llvm-svn: 126003
-
Jakob Stoklund Olesen authored
llvm-svn: 126002
-
Jakob Stoklund Olesen authored
llvm-svn: 126001
-
Devang Patel authored
llvm-svn: 125987
-
Devang Patel authored
llvm-svn: 125986
-
- Feb 18, 2011
-
-
Devang Patel authored
Do not lose debug info of an inlined function argument even if the argument is only used through GEPs. This time with a fix that avoids using invalidated DenseMap iterator. llvm-svn: 125984
-
Jakob Stoklund Olesen authored
All new virtual registers created for spilling or splitting point back to their original. llvm-svn: 125980
-
Chris Lattner authored
llvm-svn: 125978
-
Chris Lattner authored
to hack on memset, memcpy etc. llvm-svn: 125974
-
Oscar Fuentes authored
llvm-svn: 125968
-
Jakob Stoklund Olesen authored
The rewriter works almost identically to -rewriter=trivial, except it also eliminates any identity copies. This makes the new register allocators independent of VirtRegRewriter.cpp which will be going away at the same time as RegAllocLinearScan. llvm-svn: 125967
-
Chris Lattner authored
query about available library functions. For now this just has memset_pattern16, which exists on darwin, but it can be extended for a bunch of other things in the future. llvm-svn: 125965
-
Bill Wendling authored
llvm-svn: 125960
-
Bruno Cardoso Lopes authored
llvm-svn: 125949
-
Bruno Cardoso Lopes authored
testcases for the disassembler to make sure it still works for "msr". llvm-svn: 125948
-
Chris Lattner authored
llvm-svn: 125943
-
Rafael Espindola authored
llvm-svn: 125845
-
Duncan Sands authored
overflow. These subsume some existing equality transforms, so zap those. llvm-svn: 125843
-
Chris Lattner authored
llvm-svn: 125832
-
Cameron Zwarich authored
llvm-svn: 125830
-
Chris Lattner authored
taken (and used!). This prevents merging the blocks (invalidating the block addresses) in a case like this: #define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; }) void foo() { printf("%p\n", _THIS_IP_); printf("%p\n", _THIS_IP_); printf("%p\n", _THIS_IP_); } which fixes PR4151. llvm-svn: 125829
-
Chris Lattner authored
llvm-svn: 125828
-
Chris Lattner authored
This is part of a futile attempt to not "break" bizzaro code like this: l1: printf("l1: %p\n", &&l1); ++x; if( x < 3 ) goto l1; Previously we'd fold &&l1 to 1, which is fine per our semantics but not helpful to the user. llvm-svn: 125827
-
Joerg Sonnenberger authored
llvm-svn: 125805
-
Argyrios Kyrtzidis authored
llvm-svn: 125804
-
Jakob Stoklund Olesen authored
llvm-svn: 125802
-
Joerg Sonnenberger authored
Validate encoding of leave in 64bit mode. llvm-svn: 125795
-
Devang Patel authored
Do not lose debug info of an inlined function argument even if the argument is only used through GEPs. llvm-svn: 125794
-
Chris Lattner authored
common operations through a phi. llvm-svn: 125790
-
- Feb 17, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 125789
-
Chris Lattner authored
llvm-svn: 125787
-
Chris Lattner authored
result inbounds if all of the inputs are inbounds. llvm-svn: 125785
-