Skip to content
  1. Aug 11, 2008
  2. Aug 10, 2008
  3. 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
  4. 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
  5. 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
  6. Aug 01, 2008
  7. 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
  8. Jul 29, 2008
  9. Jul 21, 2008
  10. Jun 26, 2008
  11. Jun 08, 2008
  12. Jun 05, 2008
  13. Jun 04, 2008
  14. Jun 01, 2008
  15. May 30, 2008
  16. May 29, 2008
  17. May 27, 2008
  18. 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
  19. 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
  20. May 20, 2008
  21. May 08, 2008
    • Sanjiv Gupta's avatar
      Added -g command line options to clang for generating source level debug... · 15cb6690
      Sanjiv Gupta authored
      Added -g command line options to clang for generating source level debug information. This patch currently enables generation of line number debug information (stoppoints) and region begin/end debug information. The new files CGDebugInfo.h and CGDebugInfo.cpp implements the debug info manager class CGDebugInfo.
      
      llvm-svn: 50848
      15cb6690
  22. May 04, 2008
  23. Apr 30, 2008
  24. Apr 25, 2008
  25. Apr 20, 2008
  26. Apr 19, 2008
Loading