Skip to content
  1. 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
  2. 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
  3. Aug 01, 2008
  4. 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
  5. Jul 29, 2008
  6. Jul 21, 2008
  7. Jun 26, 2008
  8. Jun 08, 2008
  9. Jun 05, 2008
  10. Jun 04, 2008
  11. Jun 01, 2008
  12. May 30, 2008
  13. May 29, 2008
  14. May 27, 2008
  15. 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
  16. 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
  17. May 20, 2008
  18. 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
  19. May 04, 2008
  20. Apr 30, 2008
  21. Apr 25, 2008
  22. Apr 20, 2008
  23. Apr 19, 2008
  24. Apr 16, 2008
    • Steve Naroff's avatar
      Remove FileVarDecl and BlockVarDecl. They are replaced by... · 08899ff8
      Steve Naroff authored
      Remove FileVarDecl and BlockVarDecl. They are replaced by VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl().
      
      This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it).
      
      llvm-svn: 49748
      08899ff8
  25. Apr 06, 2008
  26. Mar 31, 2008
  27. Mar 19, 2008
Loading