- Oct 05, 2007
-
-
Devang Patel authored
llvm-svn: 42616
-
- Sep 28, 2007
-
-
Devang Patel authored
Dummy block is an empty block with no predecessors. llvm-svn: 42451
-
- Sep 01, 2007
-
-
Chris Lattner authored
support any sort of expr, add a new EmitAnyExpr routine. llvm-svn: 41660
-
Chris Lattner authored
llvm-svn: 41656
-
- Aug 31, 2007
-
-
Chris Lattner authored
to their corresponding library routines (e.g. isinf). This allows us to handle all the stuff in macos math.h, and other stuff as it's added to *Builtins.def. llvm-svn: 41634
-
Chris Lattner authored
llvm-svn: 41633
-
- Aug 27, 2007
-
-
Chris Lattner authored
llvm-svn: 41472
-
Chris Lattner authored
llvm-svn: 41470
-
Chris Lattner authored
llvm-svn: 41469
-
Chris Lattner authored
llvm-svn: 41468
-
- Aug 26, 2007
-
-
Chris Lattner authored
llvm-svn: 41447
-
Chris Lattner authored
llvm-svn: 41445
-
Chris Lattner authored
llvm-svn: 41444
-
Chris Lattner authored
llvm-svn: 41438
-
Chris Lattner authored
llvm-svn: 41433
-
Chris Lattner authored
llvm-svn: 41418
-
- Aug 24, 2007
-
-
Chris Lattner authored
This patch temporarily breaks compound assignment operators, but greatly simplifies many things. llvm-svn: 41355
-
Chris Lattner authored
llvm-svn: 41344
-
- Aug 21, 2007
-
-
Anders Carlsson authored
llvm-svn: 41238
-
Chris Lattner authored
llvm-svn: 41236
-
Chris Lattner authored
llvm-svn: 41231
-
Chris Lattner authored
This means that we get rid of tons of intermediate allocas. For example: void foo(double _Complex a, double _Complex b) { a = b+a+a; } this used to have 4 temporary allocas, now it has zero of them. This also simplifies the individual visitor methods because they now can all operate on real/imag pairs instead of having to load/store all over the place. llvm-svn: 41217
-
Chris Lattner authored
llvm-svn: 41215
-
Chris Lattner authored
details in its own file. llvm-svn: 41213
-
Chris Lattner authored
llvm-svn: 41202
-
- Aug 20, 2007
-
-
Anders Carlsson authored
llvm-svn: 41188
-
- Aug 11, 2007
-
-
Chris Lattner authored
aggregate value and scalar expression computation are very different, this gets them away from each other. This causes a temporary regression on some complex number examples. llvm-svn: 41014
-
- Aug 08, 2007
-
-
Chris Lattner authored
EmitUsualArithmeticConversions. llvm-svn: 40931
-
Chris Lattner authored
EmitExprWithUsualUnaryConversions. llvm-svn: 40929
-
- Aug 04, 2007
-
-
Chris Lattner authored
struct X { int A; }; void foo() { struct X s; int i; i = __builtin_choose_expr(0, s, i); } compiles to: %tmp = load i32* %i ; <i32> [#uses=1] store i32 %tmp, i32* %i wow :) llvm-svn: 40801
-
- Aug 03, 2007
-
-
Chris Lattner authored
llvm-svn: 40788
-
Chris Lattner authored
Rename AddrLabel and OCUVectorComponent -> AddrLabelExpr and OCUVectorElementExpr respectively. This is for consistency with other expr nodes end with *Expr. llvm-svn: 40785
-
Chris Lattner authored
vec2.x = f; llvm-svn: 40781
-
Chris Lattner authored
llvm-svn: 40780
-
Chris Lattner authored
like this: typedef __attribute__(( ocu_vector_type(4) )) float float4; float4 test1(float4 V) { return V.wzyx+V; } to: _test1: pshufd $27, %xmm0, %xmm1 addps %xmm0, %xmm1 movaps %xmm1, %xmm0 ret and: _test1: mfspr r2, 256 oris r3, r2, 4096 mtspr 256, r3 li r3, lo16(LCPI1_0) lis r4, ha16(LCPI1_0) lvx v3, r4, r3 vperm v3, v2, v2, v3 vaddfp v2, v3, v2 mtspr 256, r2 blr llvm-svn: 40771
-
Chris Lattner authored
We can now codegen: vec4.xy; as nothing! llvm-svn: 40769
-
- Jul 21, 2007
-
-
Anders Carlsson authored
llvm-svn: 40162
-
- Jul 18, 2007
-
-
Chris Lattner authored
llvm-svn: 40009
-
- Jul 16, 2007
-
-
Chris Lattner authored
llvm-svn: 39927
-
- Jul 13, 2007
-
-
Chris Lattner authored
llvm-svn: 39831
-