Skip to content
  1. Jan 14, 2012
    • Richard Smith's avatar
      constexpr irgen: Add irgen support for APValue::Struct, APValue::Union, · dafff947
      Richard Smith authored
      APValue::Array and APValue::MemberPointer. All APValue values can now be emitted
      as constants.
      
      Add new CGCXXABI entry point for emitting an APValue MemberPointer. The other
      entrypoints dealing with constant member pointers are no longer necessary and
      will be removed in a later change.
      
      Switch codegen from using EvaluateAsRValue/EvaluateAsLValue to
      VarDecl::evaluateValue. This performs caching and deals with the nasty cases in
      C++11 where a non-const object's initializer can refer indirectly to
      previously-initialized fields within the same object.
      
      Building the intermediate APValue object incurs a measurable performance hit on
      pathological testcases with huge initializer lists, so we continue to build IR
      directly from the Expr nodes for array and record types outside of C++11.
      
      llvm-svn: 148178
      dafff947
  2. Jan 13, 2012
  3. Jan 12, 2012
  4. Jan 11, 2012
  5. Jan 10, 2012
  6. Jan 09, 2012
  7. Jan 08, 2012
  8. Jan 07, 2012
  9. Jan 06, 2012
  10. Jan 05, 2012
  11. Jan 04, 2012
  12. Jan 01, 2012
    • Douglas Gregor's avatar
      Eliminate ObjCForwardProtocolDecl, which is redundant now that · f6102675
      Douglas Gregor authored
      ObjCProtocolDecl modules forward declarations properly.
      
      llvm-svn: 147415
      f6102675
    • Douglas Gregor's avatar
      Introduce the core infrastructure needed to model redeclaration chains · a715bfff
      Douglas Gregor authored
      for Objective-C protocols, including:
        - Using the first declaration as the canonical declaration
        - Using the definition as the primary DeclContext
        - Making sure that all declarations have a pointer to the definition
        data, and that we know which declaration is the definition
        - Serialization support for redeclaration chains and for adding
        definitions to already-serialized declarations.
      
      However, note that we're not taking advantage of much of this code
      yet, because we're still re-using ObjCProtocolDecls.
      
      llvm-svn: 147410
      a715bfff
  13. Dec 30, 2011
    • Richard Smith's avatar
      Unrevert r147271, reverted in r147361. · fddd384b
      Richard Smith authored
      Also temporarily remove the assumption from IR gen that we can emit IR for every
      constant we can fold, since it isn't currently true in C++11, to fix PR11676.
      
      Original comment from r147271:
      
      constexpr: perform zero-initialization prior to / instead of performing a
      constructor call when appropriate. Thanks to Eli for spotting this.
      
      llvm-svn: 147384
      fddd384b
  14. Dec 28, 2011
Loading