- Jul 12, 2010
-
-
Duncan Sands authored
llvm-svn: 108130
-
Chris Lattner authored
by Hans Vandierendonck from PR7605 llvm-svn: 108116
-
Chris Lattner authored
the LHS and RHS of an and/or instruction, don't multiply add known predecessor values. This fixes the crash on testcase from PR7498 llvm-svn: 108114
-
- Jul 10, 2010
-
-
Duncan Sands authored
operation, but the way it's implemented requires the operation to also be commutative. So add a check for commutativity (and tweak the corresponding comments). This makes no difference in practice since every associative LLVM instruction is also commutative! Here's an example to show the need for commutativity: the accum_recursion.ll testcase calculates the factorial function. Before the transformation the result of a call is ((((1*1)*2)*3)...)*x while afterwards it is (((1*x)*(x-1))...*2)*1 which clearly requires both associativity and commutativity of * to be equal to the original. llvm-svn: 108056
-
- Jul 09, 2010
-
-
Gabor Greif authored
llvm-svn: 107990
-
Gabor Greif authored
llvm-svn: 107984
-
Gabor Greif authored
llvm-svn: 107983
-
Gabor Greif authored
llvm-svn: 107981
-
Gabor Greif authored
llvm-svn: 107976
-
Gabor Greif authored
llvm-svn: 107975
-
Gabor Greif authored
llvm-svn: 107974
-
Gabor Greif authored
llvm-svn: 107972
-
Gabor Greif authored
llvm-svn: 107971
-
Gabor Greif authored
llvm-svn: 107969
-
Gabor Greif authored
llvm-svn: 107968
-
Gabor Greif authored
llvm-svn: 107966
-
Gabor Greif authored
llvm-svn: 107965
-
Gabor Greif authored
llvm-svn: 107962
-
- Jul 08, 2010
-
-
Benjamin Kramer authored
(X >s -1) ? C1 : C2 and (X <s 0) ? C2 : C1 into ((X >>s 31) & (C2 - C1)) + C1, avoiding the conditional. This optimization could be extended to take non-const C1 and C2 but we better stay conservative to avoid code size bloat for now. for int sel(int n) { return n >= 0 ? 60 : 100; } we now generate sarl $31, %edi andl $40, %edi leal 60(%rdi), %eax instead of testl %edi, %edi movl $60, %ecx movl $100, %eax cmovnsl %ecx, %eax llvm-svn: 107866
-
Chris Lattner authored
address spaces when SRoA'ing memcpy's. llvm-svn: 107846
-
- Jul 07, 2010
-
-
Duncan Sands authored
builds to "Release". The default build is unchanged (optimization on, assertions on), however it is now called Release+Asserts. The intent is that future LLVM releases released via llvm.org will be Release builds in the new sense, i.e. will have assertions disabled (currently they have assertions enabled, for a more than 20% slowdown). This will bring them in line with MacOS releases, which ship with assertions disabled. It also means that "Release" now means the same things in make and cmake builds: cmake already disables assertions for "Release" builds AFAICS. llvm-svn: 107758
-
- Jul 06, 2010
-
-
Nick Lewycky authored
llvm-svn: 107637
-
- Jul 02, 2010
-
-
Devang Patel authored
llvm-svn: 107516
-
Dan Gohman authored
have any effect, and second, deleting stores can potentially invalidate an AliasAnalysis, and there's currently no notification for this. llvm-svn: 107496
-
- Jul 01, 2010
-
-
Bill Wendling authored
Objective-C metadata types which should be marked as "weak", but which the linker will remove upon final linkage. However, this linkage isn't specific to Objective-C. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this: .globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1 This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition". Currently only supported on Darwin platforms. llvm-svn: 107433
-
Devang Patel authored
such a way that debug info for symbols preserved even if symbols are optimized away by the optimizer. Add new special pass to remove debug info for such symbols. llvm-svn: 107416
-
Devang Patel authored
llvm-svn: 107412
-
Jim Grosbach authored
llvm-svn: 107335
-
- Jun 30, 2010
-
-
Devang Patel authored
llvm-svn: 107323
-
Gabor Greif authored
llvm-svn: 107278
-
Gabor Greif authored
llvm-svn: 107277
-
Gabor Greif authored
llvm-svn: 107275
-
Gabor Greif authored
llvm-svn: 107273
-
Gabor Greif authored
llvm-svn: 107272
-
Gabor Greif authored
llvm-svn: 107271
-
Gabor Greif authored
llvm-svn: 107270
-
Gabor Greif authored
llvm-svn: 107269
-
Bill Wendling authored
llvm-svn: 107215
-
- Jun 29, 2010
-
-
Bill Wendling authored
metadata types which should be marked as "weak", but which the linker will remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this: .globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1 This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition". llvm-svn: 107205
-
Duncan Sands authored
is stripped off. Currently set unconditionally, since the API does not provide a way of working out if anything was actually stripped off. llvm-svn: 107142
-