Skip to content
  1. Dec 02, 2010
    • Chris Lattner's avatar
      Enhance the init generation logic to emit a memset followed by a few stores when · e6af8862
      Chris Lattner authored
      a global is larger than 32 bytes and has fewer than 6 non-zero values in the
      initializer.  Previously we'd turn something like this:
      
      char test8(int X) {
        char str[10000] = "abc";
      
      into a 10K global variable which we then memcpy'd from.  Now we generate:
      
        %str = alloca [10000 x i8], align 16
        %tmp = getelementptr inbounds [10000 x i8]* %str, i64 0, i64 0
        call void @llvm.memset.p0i8.i64(i8* %tmp, i8 0, i64 10000, i32 16, i1 false)
        store i8 97, i8* %tmp, align 16
        %0 = getelementptr [10000 x i8]* %str, i64 0, i64 1
        store i8 98, i8* %0, align 1
        %1 = getelementptr [10000 x i8]* %str, i64 0, i64 2
        store i8 99, i8* %1, align 2
      
      Which is much smaller in space and also likely faster.
      
      This is part of PR279
      
      llvm-svn: 120645
      e6af8862
    • John McCall's avatar
      Simplify the ASTs by consolidating ObjCImplicitGetterSetterExpr and ObjCPropertyRefExpr · b7bd14fa
      John McCall authored
      into the latter.
      
      llvm-svn: 120643
      b7bd14fa
  2. Dec 01, 2010
  3. Nov 30, 2010
  4. Nov 29, 2010
  5. Nov 28, 2010
  6. Nov 25, 2010
  7. Nov 24, 2010
  8. Nov 22, 2010
  9. Nov 21, 2010
  10. Nov 19, 2010
  11. Nov 18, 2010
    • Fariborz Jahanian's avatar
      Fix a bug where write-barriers for assignment through reference · 148d113e
      Fariborz Jahanian authored
      types was not being generated for objc pointers.
      // rdar://8681766.
      
      llvm-svn: 119751
      148d113e
    • Argyrios Kyrtzidis's avatar
      Refactoring of Diagnostic class. · d0040648
      Argyrios Kyrtzidis authored
      -Move the stuff of Diagnostic related to creating/querying diagnostic IDs into a new DiagnosticIDs class.
      -DiagnosticIDs can be shared among multiple Diagnostics for multiple translation units.
      -The rest of the state in Diagnostic object is considered related and tied to one translation unit.
      -Have Diagnostic point to the SourceManager that is related with. Diagnostic can now accept just a
         SourceLocation instead of a FullSourceLoc.
      -Reflect the changes to various interfaces.
      
      llvm-svn: 119730
      d0040648
Loading