- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45415
-
Chris Lattner authored
llvm-svn: 45408
-
Chris Lattner authored
eliminating the llvm.x86.sse2.loadl.pd intrinsic?), one shuffle optzn may be done (if shufps is better than pinsw, Evan, please review), and we already know about LICM of simple instructions. llvm-svn: 45407
-
Chris Lattner authored
comparisons with a constant. This allows us to compile isnan to: _foo: fcmpu cr7, f1, f1 mfcr r2 rlwinm r3, r2, 0, 31, 31 blr instead of: LCPI1_0: ; float .space 4 _foo: lis r2, ha16(LCPI1_0) lfs f0, lo16(LCPI1_0)(r2) fcmpu cr7, f1, f0 mfcr r2 rlwinm r3, r2, 0, 31, 31 blr llvm-svn: 45405
-
Chris Lattner authored
llvm-svn: 45404
-
Christopher Lamb authored
Disable null pointer folding transforms for non-generic address spaces. This should probably be a target-specific predicate based on address space. That way for targets where this isn't applicable the predicate can be optimized away. llvm-svn: 45403
-
Chris Lattner authored
llvm-svn: 45402
-
Chris Lattner authored
as: _bar: pushl %esi subl $8, %esp movl 16(%esp), %esi call L_foo$stub fstps (%esi) addl $8, %esp popl %esi #FP_REG_KILL ret instead of: _bar: pushl %esi subl $8, %esp movl 16(%esp), %esi call L_foo$stub fstpl (%esi) cvtsd2ss (%esi), %xmm0 movss %xmm0, (%esi) addl $8, %esp popl %esi #FP_REG_KILL ret llvm-svn: 45401
-
Chris Lattner authored
llvm-svn: 45400
-
Chris Lattner authored
if we are just going to store it back anyway. This improves things like: double foo(); void bar(double *P) { *P = foo(); } llvm-svn: 45399
-
Chris Lattner authored
x = load p store x -> p llvm-svn: 45398
-
Chris Lattner authored
llvm-svn: 45397
-
Chris Lattner authored
llvm-svn: 45393
-
Chris Lattner authored
have potential side-effects. llvm-svn: 45392
-
- Dec 28, 2007
-
-
Chris Lattner authored
llvm-svn: 45388
-
Chris Lattner authored
llvm-svn: 45387
-
Owen Anderson authored
Repair a transform that Chris noticed a bug in. Thanks to Nicholas for pointing out my stupid mistakes when writing this patch. :-) llvm-svn: 45384
-
Chris Lattner authored
define i32 @main() { entry: %z = alloca i32 ; <i32*> [#uses=2] store i32 0, i32* %z %tmp = load i32* %z ; <i32> [#uses=1] %sub = sub i32 %tmp, 1 ; <i32> [#uses=1] %cmp = icmp ult i32 %sub, 0 ; <i1> [#uses=1] %retval = select i1 %cmp, i32 1, i32 0 ; <i32> [#uses=1] ret i32 %retval } into ret 1, instead of ret 0. Christopher, please investigate. llvm-svn: 45383
-
Chris Lattner authored
llvm-svn: 45377
-
Anton Korobeynikov authored
behaviour of LinkGlobals() function. llvm-svn: 45375
-
- Dec 27, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45369
-
Gordon Henriksen authored
llvm-svn: 45367
-
- Dec 25, 2007
-
-
Gordon Henriksen authored
when copying functions. llvm-svn: 45356
-
Chris Lattner authored
it is only a partial fix. This change is noise for most programs, but speeds up Shootout-C++/matrix by 20%, Ptrdist/ks by 24%, smg2000 by 8%, hexxagon by 9%, bzip2 by 9% (not sure I trust this), ackerman by 13%, etc. OTOH, it slows down Shootout/fib2 by 40% (I'll update PR1877 with this info). llvm-svn: 45354
-
Gordon Henriksen authored
define void @f() { ... call i32 @g() ... } define void @g() { ... } The hazards are: - @f and @g have GC, but they differ GC. Inlining is invalid. This may never occur. - @f has no GC, but @g does. g's GC must be propagated to @f. The other scenarios are safe: - @f and @g have the same GC. - @f and @g have no GC. - @g has no GC. This patch adds inliner checks for the former two scenarios. llvm-svn: 45351
-
Gordon Henriksen authored
function with GC. This will catch the error when the inliner inlines a function with GC into a caller with no GC. llvm-svn: 45350
-
Gordon Henriksen authored
LangRef. llvm-svn: 45349
-
- Dec 24, 2007
-
-
Owen Anderson authored
llvm-svn: 45347
-
Chris Lattner authored
When specified, don't split backedges of single-bb loops. This helps address PR1877 llvm-svn: 45344
-
Chris Lattner authored
llvm-svn: 45343
-
Anton Korobeynikov authored
llvm-svn: 45342
-
- Dec 23, 2007
-
-
Gordon Henriksen authored
providing a misleading facility. It's used once in the MIPS backend and hardcoded as "\t.globl\t" everywhere else. llvm-svn: 45338
-
Gordon Henriksen authored
llvm-svn: 45335
-
Owen Anderson authored
llvm-svn: 45334
-
- Dec 22, 2007
-
-
Chris Lattner authored
llvm-svn: 45325
-
Chris Lattner authored
llvm-svn: 45324
-
Chris Lattner authored
legalizer support goes in. llvm-svn: 45323
-
Chris Lattner authored
llvm-svn: 45322
-
Chris Lattner authored
or after legalize. llvm-svn: 45321
-
Chris Lattner authored
targets. llvm-svn: 45320
-