Skip to content
  1. Dec 02, 2007
  2. Nov 27, 2007
  3. Nov 01, 2007
  4. Oct 24, 2007
    • Devang Patel's avatar
      · ea37aa7d
      Devang Patel authored
      Constify methods and reuse RecordOrganizer object.
      
      llvm-svn: 43284
      ea37aa7d
    • Devang Patel's avatar
      untabify · c4e224e5
      Devang Patel authored
      llvm-svn: 43280
      c4e224e5
  5. Oct 23, 2007
  6. Oct 13, 2007
  7. Oct 08, 2007
  8. Oct 05, 2007
  9. Sep 28, 2007
  10. Sep 04, 2007
  11. Aug 10, 2007
  12. Jul 16, 2007
  13. Jul 14, 2007
  14. Jul 10, 2007
  15. Jun 27, 2007
  16. Jun 23, 2007
  17. Jun 22, 2007
  18. Jun 20, 2007
    • Chris Lattner's avatar
      Hook up global function and variable handling. We can now compile: · b6984c48
      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
      b6984c48
  19. Jun 16, 2007
  20. Jun 13, 2007
    • Chris Lattner's avatar
      Implement support for formal arguments. We can now compile this: · 53621a53
      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
      53621a53
  21. Jun 09, 2007
  22. Jun 05, 2007
  23. Jun 03, 2007
    • Chris Lattner's avatar
      Type::isSignedInteger() and isUnsignedInteger() did not properly account for · b16f455e
      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
      b16f455e
    • Chris Lattner's avatar
      implement a first hack at codegen'ing the usual unary conversions. · 6db1fb84
      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
      6db1fb84
  24. Jun 02, 2007
  25. Jun 01, 2007
  26. May 31, 2007
Loading