Skip to content
  1. Aug 16, 2008
  2. Aug 15, 2008
  3. Aug 14, 2008
    • Daniel Dunbar's avatar
      Add GetAddrOfConstantCString method · c4baa06d
      Daniel Dunbar authored
       - Returns addr of constant for argument + '\0'.
       - I couldn't think of a better name.
       - Move appropriate users of GetAddrOfConstantString to this.
      
      Rename getStringForStringLiteral to GetStringForStringLiteral.
      
      Add GetAddrOfConstantStringFromLiteral
       - This combines GetAddrOfConstantString and
         GetStringForStringLiteral. This method can be, but is not yet, more
         efficient.
      
      Change GetAddrOfConstantString to not add terminating '\0'
       - <rdar://problem/6140956>
      
      llvm-svn: 54768
      c4baa06d
  4. Aug 13, 2008
  5. Aug 12, 2008
  6. Aug 11, 2008
    • Daniel Dunbar's avatar
      Add LangOptions::NeXTRuntime. · 3ad53483
      Daniel Dunbar authored
       - Wired to -fnext-runtime and -fgnu-runtime options.
       - Defaults to GNU, no autoselection for NeXT.
      
      Emit NeXT OBJC_IMAGE_INFO marker.
      
      llvm-svn: 54651
      3ad53483
    • Daniel Dunbar's avatar
      Change CodeGenModule to only create ObjC runtime for ObjC files · 8d480594
      Daniel Dunbar authored
       - Changed CodeGenModule::getObjCRuntime to return reference.
       - Added CodeGenModule::hasObjCRuntime predicate.
      
      llvm-svn: 54645
      8d480594
    • Daniel Dunbar's avatar
      Add -fexceptions to Driver · fb3043d6
      Daniel Dunbar authored
       - Maps to LangOptions.Exceptions
       - Currently always off, should autoselect based on language.
      
      Update CodeGen to set unwind attribute on functions definitions based
             on LangOptions.Exceptions.
       - Still need to set attributes appropriately on calls.
      
      llvm-svn: 54643
      fb3043d6
    • Daniel Dunbar's avatar
      More #include cleaning · 56fdb6ae
      Daniel Dunbar authored
       - Kill unnecessary #includes in .cpp files. This is an automatic
         sweep so some things removed are actually used, but happen to be
         included by a previous header. I tried to get rid of the obvious
         examples and this was the easiest way to trim the #includes in one
         fell swoop.
       - We now return to regularly scheduled development.
      
      llvm-svn: 54632
      56fdb6ae
    • Daniel Dunbar's avatar
      More #include cleaning · 6e8aa537
      Daniel Dunbar authored
       - Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h
       - Moved Sema::getCurMethodDecl() out of line (dependent on
         ObjCMethodDecl via dyn_cast).
      
      llvm-svn: 54629
      6e8aa537
    • Daniel Dunbar's avatar
      Add dummy Mac Objective-C runtime interface. · 303e2c2f
      Daniel Dunbar authored
        - Not currently accessible and completely non-functional.
      
      llvm-svn: 54624
      303e2c2f
  7. Aug 10, 2008
  8. Aug 06, 2008
    • Daniel Dunbar's avatar
      Implement GNU asm-label extension support in CodeGen. This fixes · ffc29be8
      Daniel Dunbar authored
      scimark2 on Darwin.
      
       - Added Sema support for asm-label on variables, which I forgot before.
      
       - Update CodeGen to use GlobalDeclMap to determine if static Decls
         require emission (instead of LLVM module name lookup). Important
         since the Decl name and the LLVM module name can differ.
      
       - <rdar://problem/6116729>
      
      llvm-svn: 54388
      ffc29be8
    • Daniel Dunbar's avatar
      Change CodeGen of global decls to key off of the name (instead of · 829e9888
      Daniel Dunbar authored
        having multiple bindings from all the possible decls which
        conceptually map to the same global).
      
       - This eliminates CodeGen depending on the LLVM module for name
         lookup.
      
       - This also eliminates the need for ReplaceMapValuesWith (hurrah).
      
       - This handles lookups for FunctionDecls correctly in the presence of
         aliases, this was previously broken.
      
       - WIP: Can still clean up & unify variable and function emission.
      
      llvm-svn: 54382
      829e9888
  9. Aug 05, 2008
    • Ted Kremenek's avatar
      Refactored driver logic for CodeGen into LLVMCodeGenWriter. This ASTConsumer... · 2c674f6d
      Ted Kremenek authored
      Refactored driver logic for CodeGen into LLVMCodeGenWriter.  This ASTConsumer layers on top of LLVMCodeGen (another existing ASTConsumer) to emit bitcode files to disk.  This layering takes this logic out of clang.cpp and puts it directly into the ASTConsumer interface.  The benefit is that now --emit-llvm works with both serialized ASTs and regular source files.
      
      llvm-svn: 54364
      2c674f6d
  10. Aug 04, 2008
    • Chris Lattner's avatar
      · 7adf0760
      Chris Lattner authored
      Finally fix PR2189.  This makes a fairly invasive but important change to
      move getAsArrayType into ASTContext instead of being a method on type.
      This is required because getAsArrayType(const AT), where AT is a typedef
      for "int[10]" needs to return ArrayType(const int, 10).
      
      Fixing this greatly simplifies getArrayDecayedType, which is a good sign.
      
      llvm-svn: 54317
      7adf0760
  11. Aug 01, 2008
  12. Jul 30, 2008
    • Daniel Dunbar's avatar
      Change CodeGenModule GlobalDeclMap to directly reference globals · e49df9b5
      Daniel Dunbar authored
      instead of mapping the decl to a bitcast of the global to the correct
      type.
       
       - GetAddrOf{Function,GlobalVar} introduce the bitcast on every use now.
      
       - This solves a problem where a dangling pointer could be introduced
         by the RAUW done when replacing a forward or tentative
         definition. See testcase for more details.
      
       - Fixes <rdar://problem/6108358>
      
      llvm-svn: 54211
      e49df9b5
    • Daniel Dunbar's avatar
      Rework codegen emission of globals · 9c426524
      Daniel Dunbar authored
       - No (intended) functionality change.
      
       - Primary purpose is to clearly separate (lazy) construction of
         globals that are a forward declaration or tentative definition from
         those that are the final definition.
      
       - Lazy construction is now encapsulated in
         GetAddrOf{Function,GlobalVar} while final definitions are
         constructed in EmitGlobal{Function,Var}Definition.
       
       - External interface for dealing with globals is now limited to
         EmitGlobal and GetAddrOf{Function,GlobalVar}.
      
       - Also updated helper functions dealing with statics, annotations,
         and ctors to be private.
      
      llvm-svn: 54179
      9c426524
  13. Jul 29, 2008
  14. Jul 21, 2008
  15. Jun 26, 2008
  16. Jun 08, 2008
  17. Jun 05, 2008
  18. Jun 04, 2008
  19. Jun 01, 2008
  20. May 30, 2008
  21. May 29, 2008
  22. May 27, 2008
  23. May 26, 2008
    • Eli Friedman's avatar
      Emit memmove, not memcpy, for structure copies; this is unfortunately · df649f3d
      Eli Friedman authored
      required for correctness in cases of copying a struct to itself or to 
      an overlapping struct (itself for cases like *a = *a, and overlapping 
      is possible with unions).
      
      Hopefully, this won't end up being a perf issue; LLVM *should* be able 
      to optimize memmove to memcpy in a lot of cases, and for small copies 
      the generated code *should* be mostly comparable. (In reality, LLVM 
      is currently horrible at optimizing memmove, but that's a bug, not a 
      fundamental issue.)
      
      gcc currently generates wrong code; that's 
      http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32667.
      
      llvm-svn: 51566
      df649f3d
  24. May 22, 2008
    • Dan Gohman's avatar
      Move getAccessedFieldNo out of lib/AST/Expr.cpp into · 75d69da5
      Dan Gohman authored
      lib/CodeGen/CGExpr.cpp and to change include/clang/AST/Attr.h to
      use its own enum for visibility types instead of using
      llvm::GlobalValue::VisibilityTypes. These changes eliminate
      dependencies in the AST library on LLVM's VMCore library.
      
      llvm-svn: 51398
      75d69da5
Loading