- Mar 05, 2007
-
-
Duncan Sands authored
llvm-svn: 34927
-
Duncan Sands authored
llvm-svn: 34926
-
Duncan Sands authored
llvm-svn: 34925
-
Chris Lattner authored
scalarrepl things down to elements, but mem2reg can't promote elements that are memset/memcpy'd. Until then, the code is disabled "0 &&". llvm-svn: 34924
-
Jeff Cohen authored
llvm-svn: 34923
-
Jeff Cohen authored
llvm-svn: 34922
-
Jeff Cohen authored
llvm-svn: 34921
-
Chris Lattner authored
llvm-svn: 34920
-
Chris Lattner authored
define i64 @test(i64 %A, i32 %B) { %tmp12 = zext i32 %B to i64 ; <i64> [#uses=1] %tmp3 = shl i64 %tmp12, 32 ; <i64> [#uses=1] %tmp5 = add i64 %tmp3, %A ; <i64> [#uses=1] %tmp6 = and i64 %tmp5, 123 ; <i64> [#uses=1] ret i64 %tmp6 } into: define i64 @test(i64 %A, i32 %B) { %tmp6 = and i64 %A, 123 ; <i64> [#uses=1] ret i64 %tmp6 } This implements Transforms/InstCombine/add2.ll:test1 llvm-svn: 34919
-
Chris Lattner authored
llvm-svn: 34918
-
Jeff Cohen authored
llvm-svn: 34917
-
Chris Lattner authored
llvm-svn: 34916
-
Chris Lattner authored
llvm-svn: 34915
-
Chris Lattner authored
llvm-svn: 34914
-
- Mar 04, 2007
-
-
Chris Lattner authored
llvm-svn: 34913
-
Chris Lattner authored
llvm-svn: 34912
-
Chris Lattner authored
long long test(long long A, unsigned B) { return (A + ((long long)B << 32)); } llvm-svn: 34911
-
Chris Lattner authored
llvm-svn: 34910
-
Chris Lattner authored
addc, turn it into add. This allows us to compile: long long test(long long A, unsigned B) { return (A + ((long long)B << 32)) & 123; } into: _test: movl $123, %eax andl 4(%esp), %eax xorl %edx, %edx ret instead of: _test: xorl %edx, %edx movl %edx, %eax addl 4(%esp), %eax ;; add of zero andl $123, %eax ret llvm-svn: 34909
-
Chris Lattner authored
llvm-svn: 34908
-
Chris Lattner authored
llvm-svn: 34906
-
Chris Lattner authored
llvm-svn: 34905
-
Chris Lattner authored
llvm-svn: 34904
-
Reid Spencer authored
llvm-svn: 34903
-
Chris Lattner authored
llvm-svn: 34902
-
Chris Lattner authored
up simplifycfg by 20% llvm-svn: 34901
-
Chris Lattner authored
llvm-svn: 34900
-
Chris Lattner authored
llvm-svn: 34899
-
Chris Lattner authored
would scan the entire loop body, then scan all users of instructions in the loop, looking for users outside the loop. Now, since we know that the loop is in LCSSA form, we know that any users outside the loop will be LCSSA phi nodes. Just scan them. This speeds up indvars significantly. llvm-svn: 34898
-
Reid Spencer authored
llvm-svn: 34897
-
Chris Lattner authored
This makes -indvars require and use LCSSA, updating it as appropriate. llvm-svn: 34896
-
Chris Lattner authored
llvm-svn: 34895
-
Reid Spencer authored
when building the documentation for the web site. llvm-svn: 34894
-
Chris Lattner authored
llvm-svn: 34893
-
Chris Lattner authored
llvm-svn: 34892
-
- Mar 03, 2007
-
-
Chris Lattner authored
llvm-svn: 34891
-
Chris Lattner authored
This "fixes" PR1238. llvm-svn: 34890
-
Reid Spencer authored
llvm-svn: 34889
-
Reid Spencer authored
reading bytecode. 2. The interpreter can delete the ModuleProvider and replace it with another so don't depend on it being around after the EE is created. 3. Don't just run llvm_shutdown on exit but actually delete the EE as well. This cleans up a vast amount of memory (but not all) that EE retained through exit. llvm-svn: 34888
-
Reid Spencer authored
llvm-svn: 34887
-