- Jan 01, 2008
-
-
Bill Wendling authored
llvm-svn: 45478
-
- Dec 31, 2007
-
-
Duncan Sands authored
values, which means doing extra legalization work. It would be easier to get this kind of thing right if there was some documentation... llvm-svn: 45472
-
- Dec 30, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45463
-
Gordon Henriksen authored
llvm-svn: 45446
-
- Dec 29, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45422
-
Chris Lattner authored
llvm-svn: 45416
-
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
llvm-svn: 45406
-
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
-
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
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
have potential side-effects. llvm-svn: 45392
-
Chris Lattner authored
llvm-svn: 45391
-
- Dec 28, 2007
-
-
Devang Patel authored
Test -simplifycfg only. llvm-svn: 45389
-
Owen Anderson authored
llvm-svn: 45386
-
- Dec 27, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45369
-
- Dec 26, 2007
-
-
Chris Lattner authored
llvm-svn: 45360
-
Gordon Henriksen authored
collector algorithms. llvm-svn: 45357
-
- Dec 25, 2007
-
-
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 23, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45335
-
- Dec 22, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45317
-
Chris Lattner authored
us to compile: #include <math.h> int t1(double d) { return signbit(d); } into: _t1: movd %xmm0, %rax shrq $63, %rax ret instead of: _t1: movd %xmm0, %rax shrq $32, %rax shrl $31, %eax ret on x86-64. llvm-svn: 45311
-
Devang Patel authored
not merge current bb and succ even if bb's terminator is unconditional branch to succ. llvm-svn: 45305
-
- Dec 21, 2007
-
-
Duncan Sands authored
as on functions. Make it verify invokes and not just ordinary calls. As a (desired) side-effect, it is no longer legal to have call attributes on arguments that are being passed to the varargs part of a varargs function (llvm-as drops them on the floor anyway). llvm-svn: 45286
-
Duncan Sands authored
return attributes on the floor. In the case of a call to a varargs function where the varargs arguments are being removed, any call attributes on those arguments need to be dropped. I didn't do this because I plan to make it illegal to have such attributes (see next patch). With this change, compiling the gcc filter2 eh test at -O0 and then running opt -std-compile-opts on it results in a correctly working program (compiling at -O1 or higher results in the test failing due to a problem with how we output eh info into the IR). llvm-svn: 45285
-
- Dec 20, 2007
-
-
Christopher Lamb authored
(icmp slt (sub A B) 1) -> (icmp sle A B) icmp sgt (sub A B) -1) -> (icmp sge A B) and add testcase. llvm-svn: 45256
-
Evan Cheng authored
llvm-svn: 45254
-
Scott Michel authored
- vec_const.ll: Vector constant loads - immed64.ll: i64, f64 constant loads llvm-svn: 45242
-
Gordon Henriksen authored
llvm-svn: 45236
-
- Dec 19, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45229
-
Gordon Henriksen authored
to exceptions rather than variants for error handling in Ocaml. llvm-svn: 45226
-
Scott Michel authored
llvm-svn: 45219
-
Duncan Sands authored
calls 'nounwind'. It is important for correct C++ exception handling that nounwind markings do not get lost, so this transformation is actually needed for correctness. llvm-svn: 45218
-
Scott Michel authored
- call.ll: Function call - ctpop.ll: Count population - dp_farith.ll: DP arithmetic - eqv.ll: Equivalence primitives - fcmp.ll: SP comparisons - fdiv.ll: SP division - fneg-fabs.ll: SP negation, aboslute value - int2fp.ll: Integer -> SP conversion - rotate_ops.ll: Rotation primitives - select_bits.ll: (a & c) | (b & ~c) bit selection - shift_ops.ll: Shift primitives - sp_farith.ll: SP arithmentic llvm-svn: 45217
-
Scott Michel authored
(vector insertions) llvm-svn: 45216
-
Scott Michel authored
llvm-svn: 45196
-
- Dec 18, 2007
-
-
Christopher Lamb authored
llvm-svn: 45169
-