- Apr 09, 2011
-
-
Eli Friedman authored
llvm-svn: 129197
-
- Apr 08, 2011
-
-
Devang Patel authored
llvm-svn: 129114
-
- Apr 07, 2011
-
-
Devang Patel authored
llvm-svn: 129078
-
Eli Friedman authored
is equivalent to any other relevant value; it isn't true in general. If it is equivalent, the LoopPromoter will tell the AST the equivalence. Also, delete the PreheaderLoad if it is unused. Chris, since you were the last one to make major changes here, can you check that this is sane? llvm-svn: 129049
-
- Apr 06, 2011
-
-
Nadav Rotem authored
test fail (without the fix). Thanks Dan. llvm-svn: 128999
-
- Apr 05, 2011
-
-
Nadav Rotem authored
space info. We crash with an assert in this case. This change checks that the address space of the bitcasted pointer is the same as the gep ptr. llvm-svn: 128884
-
- Apr 03, 2011
-
-
Eli Friedman authored
after the given instruction; make sure to handle that case correctly. (It's difficult to trigger; the included testcase involves a dead block, but I don't think that's a requirement.) While I'm here, get rid of the unnecessary warning about SimplifyInstructionsInBlock, since it should work correctly as far as I know. llvm-svn: 128782
-
- Apr 01, 2011
-
-
Benjamin Kramer authored
int test1(unsigned x) { return (x&8) ? 0 : -1; } int test3(unsigned x) { return (x&8) ? -1 : 0; } before (x86_64): _test1: andl $8, %edi cmpl $1, %edi sbbl %eax, %eax ret _test3: andl $8, %edi cmpl $1, %edi sbbl %eax, %eax notl %eax ret after: _test1: shrl $3, %edi andl $1, %edi leal -1(%rdi), %eax ret _test3: shll $28, %edi movl %edi, %eax sarl $31, %eax ret llvm-svn: 128732
-
Nadav Rotem authored
llvm-svn: 128683
-
- Mar 31, 2011
-
-
Benjamin Kramer authored
Thanks Eli! llvm-svn: 128676
-
Benjamin Kramer authored
Thanks Frits! llvm-svn: 128628
-
Benjamin Kramer authored
llvm-svn: 128627
-
Benjamin Kramer authored
llvm-svn: 128626
-
Benjamin Kramer authored
InstCombine: Shrink "fcmp (fpext x), C" to "fcmp x, C" if C can be losslessly converted to the type of x. Fixes PR9592. llvm-svn: 128625
-
Benjamin Kramer authored
llvm-svn: 128624
-
- Mar 30, 2011
-
-
Bill Wendling authored
that one of the numbers is signed while the other is unsigned. This could lead to a wrong result when the signed was promoted to an unsigned int. * Add the data layout line to the testcase so that it will test the appropriate thing. Patch by David Terei! llvm-svn: 128577
-
Benjamin Kramer authored
Avoid turning a floating point division with a constant power of two into a denormal multiplication. Some platforms may treat denormals as zero, on other platforms multiplication with a subnormal is slower than dividing by a normal. llvm-svn: 128555
-
Benjamin Kramer authored
Fixes PR9587. llvm-svn: 128546
-
Benjamin Kramer authored
On x86 we now compile "if (a < 0 && b < 0)" into testl %edi, %esi js IF.THEN llvm-svn: 128496
-
- Mar 29, 2011
-
-
Cameron Zwarich authored
vector types. This helps a lot with inlined functions when using the ARM soft float ABI. Fixes <rdar://problem/9184212>. llvm-svn: 128453
-
- Mar 27, 2011
-
-
Nick Lewycky authored
the subclass optional data. llvm-svn: 128388
-
Frits van Bommel authored
Constant folding support for calls to umul.with.overflow(), basically identical to the smul.with.overflow() code. llvm-svn: 128379
-
Nick Lewycky authored
removes one use of X which helps it pass the many hasOneUse() checks. In my analysis, this turns up very often where X = A >>exact B and that can't be simplified unless X has one use (except by increasing the lifetime of A which is generally a performance loss). llvm-svn: 128373
-
- Mar 26, 2011
-
-
Cameron Zwarich authored
llvm-svn: 128331
-
Bill Wendling authored
completely overlaps a previous store, thus mistakenly deleting that store. Check for this condition. llvm-svn: 128319
-
- Mar 23, 2011
-
-
Cameron Zwarich authored
that were hit in practice. llvm-svn: 128146
-
- Mar 20, 2011
-
-
Anders Carlsson authored
Add an optimization to GlobalOpt that eliminates calls to __cxa_atexit, if the function passed is empty. llvm-svn: 127970
-
- Mar 18, 2011
-
-
Andrew Trick authored
For example, on 32-bit architecture, don't promote all uses of the IV to 64-bits just because one use is a 64-bit cast. Alternate implementation of the patch by Arnaud de Grandmaison. llvm-svn: 127884
-
Eli Friedman authored
llvm-svn: 127845
-
- Mar 17, 2011
-
-
Devang Patel authored
This is done by lowering dbg.declare intrinsic into dbg.value intrinsic. Radar 9143931. llvm-svn: 127834
-
- Mar 16, 2011
-
-
Cameron Zwarich authored
chose is having a non-memcpy/memset use and being larger than any native integer type. Originally I chose having an access of a size smaller than the total size of the alloca, but this caused some minor issues on the spirit benchmark where SRoA runs again after some inlining. This fixes <rdar://problem/8613163>. llvm-svn: 127718
-
Cameron Zwarich authored
llvm-svn: 127717
-
- Mar 15, 2011
-
-
Cameron Zwarich authored
llvm-svn: 127674
-
Eli Friedman authored
of pointers in an std::map. llvm-svn: 127650
-
Eric Christopher authored
normal version. Fixes rdar://9123638 llvm-svn: 127636
-
- Mar 12, 2011
-
-
Benjamin Kramer authored
llvm-svn: 127548
-
- Mar 11, 2011
-
-
Cameron Zwarich authored
Optimize trivial branches in CodeGenPrepare, which often get created from the lowering of objectsize intrinsics. Unfortunately, a number of tests were relying on llc not optimizing trivial branches, so I had to add an option to allow them to continue to test what they originally tested. This fixes <rdar://problem/8785296> and <rdar://problem/9112893>. llvm-svn: 127498
-
Daniel Dunbar authored
created from the", it broke some GCC test suite tests. llvm-svn: 127477
-
Benjamin Kramer authored
ComputeMaskedBits: sub falls through to add, and sub doesn't have the same overflow semantics as add. Should fix the selfhost failures that started with r127463. llvm-svn: 127465
-
Benjamin Kramer authored
InstCombine: Fix a thinko where transform an icmp under the assumption that it's a zero comparison when it's not. Fixes PR9454. llvm-svn: 127464
-