- Feb 02, 2011
-
-
Duncan Sands authored
overflow (nsw flag), which was disabled because it breaks 254.gap. I have informed the GAP authors of the mistake in their code, and arranged for the testsuite to use -fwrapv when compiling this benchmark. llvm-svn: 124746
-
Bob Wilson authored
llvm-svn: 124725
-
Benjamin Kramer authored
This makes the job of the later optzn passes easier, allowing the vast amount of icmp transforms to chew on it. We transform 840 switches in gcc.c, leading to a 16k byte shrink of the resulting binary on i386-linux. The testcase from README.txt now compiles into decl %edi cmpl $3, %edi sbbl %eax, %eax andl $1, %eax ret llvm-svn: 124724
-
Richard Osborne authored
llvm-svn: 124722
-
Duncan Sands authored
may be useful to understand "none", this is not the place for it. Tweak the fix to Normalize while there: the fix added in 123990 works correctly, but I like this way better. Finally, now that Triple understands some non-trivial environment values, teach the unittests about them. llvm-svn: 124720
-
Nick Lewycky authored
that might have changed been affected by a merge elsewhere will have been removed from the function set, and it isn't needed for performance because we call grow() ahead of time to prevent reallocations. llvm-svn: 124717
-
Dan Gohman authored
reassociation. No testcase, because I wasn't able to create a testcase which actually demonstrates a problem. llvm-svn: 124713
-
Dan Gohman authored
llvm-svn: 124712
-
Sean Callanan authored
prefix would be misinterpreted in some cases on 32-bit x86 platforms. Thanks to Olivier Meurant for identifying the bug. llvm-svn: 124709
-
Evan Cheng authored
the load, then it may be legal to transform the load and store to integer load and store of the same width. This is done if the target specified the transformation as profitable. e.g. On arm, this can transform: vldr.32 s0, [] vstr.32 s0, [] to ldr r12, [] str r12, [] rdar://8944252 llvm-svn: 124708
-
- Feb 01, 2011
-
-
Bob Wilson authored
This is completely untested but pretty straightforward, so hopefully I got it right. llvm-svn: 124694
-
Matt Beaumont-Gay authored
llvm-svn: 124688
-
Anton Korobeynikov authored
Patch by Brian G. Lucas! llvm-svn: 124679
-
Jay Foad authored
llvm-svn: 124659
-
Duncan Sands authored
pattern matching can also pattern match undef, creating a more uniform style. llvm-svn: 124657
-
Duncan Sands authored
llvm-svn: 124656
-
Duncan Sands authored
llvm-svn: 124655
-
Carl Norum authored
llvm-svn: 124652
-
Rafael Espindola authored
different visibilities. llvm-svn: 124650
-
Evan Cheng authored
llvm-svn: 124645
-
Eric Christopher authored
llvm-svn: 124641
-
Evan Cheng authored
llvm-svn: 124639
-
- Jan 31, 2011
-
-
Devang Patel authored
llvm-svn: 124611
-
Roman Divacky authored
Enumerate .code16/32/64 instead of checking .code prefix. This unbreaks some ARM tests. llvm-svn: 124608
-
Roman Divacky authored
all lead to a silent miscompilation of code. llvm-svn: 124603
-
David Greene authored
Fix vector sign extend to put the source and destination types in the correct places. llvm-svn: 124601
-
Chris Lattner authored
llvm-svn: 124599
-
Richard Osborne authored
llvm-svn: 124587
-
- Jan 30, 2011
-
-
Anton Korobeynikov authored
llvm-svn: 124570
-
Anton Korobeynikov authored
llvm-svn: 124569
-
Anders Carlsson authored
(A+B) == A -> B == 0 A == (A+B) -> B == 0 llvm-svn: 124567
-
Jakob Stoklund Olesen authored
This is similar to the -unroll-threshold option. There should be no change in behavior when -tail-dup-size is not explicit on the llc command line. llvm-svn: 124564
-
Duncan Sands authored
by PR9088 fixes things. llvm-svn: 124561
-
Duncan Sands authored
to do this and more, but would only do it if X/Y had only one use. Spotted as the most common missed simplification in SPEC by my auto-simplifier, now that it knows about nuw/nsw/exact flags. This removes a bunch of multiplications from 447.dealII and 483.xalancbmk. It also removes a lot from tramp3d-v4, which results in much more inlining. llvm-svn: 124560
-
Benjamin Kramer authored
Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x, c1+c2) when c1 equals the amount of bits that are truncated off. This happens all the time when a smul is promoted to a larger type. On x86-64 we now compile "int test(int x) { return x/10; }" into movslq %edi, %rax imulq $1717986919, %rax, %rax movq %rax, %rcx shrq $63, %rcx sarq $34, %rax <- used to be "shrq $32, %rax; sarl $2, %eax" addl %ecx, %eax This fires 96 times in gcc.c on x86-64. llvm-svn: 124559
-
Nick Lewycky authored
llvm-svn: 124557
-
Nick Lewycky authored
llvm-svn: 124556
-
- Jan 29, 2011
-
-
Nick Lewycky authored
This is the one where one of the branches of the select is another select on the same condition. llvm-svn: 124547
-
Francois Pichet authored
The DEBUG() call at line 606 demands to see raw_ostream's definition. I have no idea why this seems to only break MSVC. llvm-svn: 124545
-
Nick Lewycky authored
llvm-svn: 124544
-