- Dec 02, 2007
-
-
Chris Lattner authored
llvm-svn: 44510
-
Chris Lattner authored
extern int x[]; void foo() { x[0] = 1; } int x[10]; void bar() { x[0] = 1; } llvm-svn: 44509
-
Chris Lattner authored
llvm-svn: 44508
-
Chris Lattner authored
their prototype. llvm-svn: 44506
-
Chris Lattner authored
llvm-svn: 44503
-
Chris Lattner authored
llvm-svn: 44502
-
- Nov 27, 2007
-
-
Chris Lattner authored
static and inline at least. llvm-svn: 44355
-
- Nov 01, 2007
-
-
Devang Patel authored
Now, at AST level record info is maintained by ASTRecordLayout class. Now, at code gen level record info is maintained by CGRecordLayout class. llvm-svn: 43619
-
- Oct 24, 2007
-
-
Devang Patel authored
Constify methods and reuse RecordOrganizer object. llvm-svn: 43284
-
Devang Patel authored
llvm-svn: 43280
-
- Oct 23, 2007
-
-
Devang Patel authored
llvm-svn: 43236
-
- Oct 13, 2007
-
-
Anders Carlsson authored
llvm-svn: 42939
-
- Oct 08, 2007
-
-
Devang Patel authored
llvm-svn: 42766
-
- 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 04, 2007
-
-
Chris Lattner authored
llvm-svn: 41692
-
- Aug 10, 2007
-
-
Chris Lattner authored
codegen for: _Complex double bar(int); void test(_Complex double*); void test2(int c) { _Complex double X; X = bar(1); test(&X); } llvm-svn: 40993
-
- Jul 16, 2007
-
-
Chris Lattner authored
llvm-svn: 39927
-
- Jul 14, 2007
-
-
Chris Lattner authored
compute type alignment. This info is needed for struct layout. llvm-svn: 39850
-
- Jul 10, 2007
-
-
Chris Lattner authored
llvm-svn: 39721
-
- Jun 27, 2007
-
-
Chris Lattner authored
llvm-svn: 39694
-
- Jun 23, 2007
-
-
Chris Lattner authored
llvm-svn: 39674
-
- Jun 22, 2007
-
-
Chris Lattner authored
llvm-svn: 39671
-
- Jun 20, 2007
-
-
Chris Lattner authored
int X, bar(int,int,int); short Y; double foo() { return bar(X, Y, 3); } into: @X = external global i32 ; <i32*> [#uses=1] @Y = external global i16 ; <i16*> [#uses=1] define double @foo() { entry: %tmp = load i32* @X ; <i32> [#uses=1] %tmp1 = load i16* @Y ; <i16> [#uses=1] %promote = sext i16 %tmp1 to i32 ; <i32> [#uses=1] %call = tail call i32 @bar( i32 %tmp, i32 %promote, i32 3 ) ; <i32> [#uses=1] %conv = sitofp i32 %call to double ; <double> [#uses=1] ret double %conv } declare i32 @bar(i32, i32, i32) llvm-svn: 39663
-
- Jun 16, 2007
-
-
Chris Lattner authored
and globals. llvm-svn: 39661
-
Chris Lattner authored
is ready. llvm-svn: 39660
-
Chris Lattner authored
out of the llvm namespace. This makes the clang namespace be a sibling of llvm instead of being a child. The good thing about this is that it makes many things unambiguous. The bad things is that many things in the llvm namespace (notably data structures like smallvector) now require an llvm:: qualifier. IMO, libsystem and libsupport should be split out of llvm into their own namespace in the future, which will fix this issue. llvm-svn: 39659
-
- Jun 13, 2007
-
-
Chris Lattner authored
int test(int X, short Y, float Z) { return (int)(X*Y+Z); } to: define i32 @test(i32 %X, i16 %Y, float %Z) { entry: %promote = sext i16 %Y to i32 ; <i32> [#uses=1] %mul = mul i32 %promote, %X ; <i32> [#uses=1] %promote3 = sitofp i32 %mul to float ; <float> [#uses=1] %add = add float %promote3, %Z ; <float> [#uses=1] %conv = fptosi float %add to i32 ; <i32> [#uses=1] ret i32 %conv } with: $ clang -emit-llvm t.c | llvm-as | opt -std-compile-opts | llvm-dis llvm-svn: 39652
-
- Jun 09, 2007
-
-
Chris Lattner authored
llvm-svn: 39625
-
Chris Lattner authored
llvm-svn: 39622
-
- Jun 05, 2007
-
-
Chris Lattner authored
llvm-svn: 39593
-
- Jun 03, 2007
-
-
Chris Lattner authored
'char', which varies based on the target. Instead of spreading target knowledge throughout the compiler, bifurcate char into Char_S and Char_U, and have ASTContext create the right one based on the target, when it starts up. llvm-svn: 39577
-
Chris Lattner authored
This allows us to compile: int func() { int A[10]; if (!A) { to: define i32 @func() { entry: %A = alloca [10 x i32] ; <[10 x i32]*> [#uses=1] %arraydecay = getelementptr [10 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1] %tobool = icmp ne i32* %arraydecay, null ; <i1> [#uses=1] %lnot = xor i1 %tobool, true ; <i1> [#uses=1] br i1 %lnot, label %ifthen, label %ifend -Chris llvm-svn: 39564
-
- Jun 02, 2007
-
-
Chris Lattner authored
compile: void foo() { int A[10]; int *P; into: entry: %A = alloca [10 x i32] ; <[10 x i32]*> [#uses=0] %P = alloca i32* ; <i32**> [#uses=0] llvm-svn: 39561
-
Chris Lattner authored
int func() { register int X; { int Y; into: define i32 @func() { entry: %X = alloca i32 ; <i32*> [#uses=0] %Y = alloca i32 ; <i32*> [#uses=0] %allocapt = bitcast i32 undef to i32 ; <i32> [#uses=0] ... llvm-svn: 39553
-
Chris Lattner authored
llvm-svn: 39550
-
Chris Lattner authored
llvm-svn: 39547
-
Chris Lattner authored
llvm-svn: 39546
-
- Jun 01, 2007
-
-
Chris Lattner authored
llvm-svn: 39540
-
- May 31, 2007
-
-
Chris Lattner authored
llvm-svn: 39534
-