Skip to content
Snippets Groups Projects
  1. Feb 19, 2012
  2. Feb 17, 2012
    • John McCall's avatar
      Whether an argument is required (in contrast with being an · a729c62b
      John McCall authored
      optional argument passed through the variadic ellipsis)
      potentially affects how we need to lower it.  Propagate
      this information down to the various getFunctionInfo(...)
      overloads on CodeGenTypes.  Furthermore, rename those
      overloads to clarify their distinct purposes, and make
      sure we're calling the right one in the right place.
      This has a nice side-effect of making it easier to construct
      a function type, since the 'variadic' bit is no longer
      separable.
      
      This shouldn't really change anything for our existing
      platforms, with one minor exception --- we should now call
      variadic ObjC methods with the ... in the "right place"
      (see the test case), which I guess matters for anyone
      running GNUStep on MIPS.  Mostly it's just a substantial
      clean-up.
      
      llvm-svn: 150788
      a729c62b
    • Douglas Gregor's avatar
      Rework the Sema/AST/IRgen dance for the lambda closure type's · 355efbb2
      Douglas Gregor authored
      conversion to function pointer. Rather than having IRgen synthesize
      the body of this function, we instead introduce a static member
      function "__invoke" with the same signature as the lambda's
      operator() in the AST. Sema then generates a body for the conversion
      to function pointer which simply returns the address of __invoke. This
      approach makes it easier to evaluate a call to the conversion function
      as a constant, makes the linkage of the __invoke function follow the
      normal rules for member functions, and may make life easier down the
      road if we ever want to constexpr'ify some of lambdas.
      
      Note that IR generation is responsible for filling in the body of
      __invoke (Sema just adds a dummy body), because the body can't
      generally be expressed in C++.
      
      Eli, please review!
      
      llvm-svn: 150783
      355efbb2
  3. Feb 16, 2012
  4. Feb 14, 2012
  5. Feb 07, 2012
  6. Feb 01, 2012
  7. Jan 26, 2012
  8. Dec 03, 2011
  9. Oct 13, 2011
    • Eric Christopher's avatar
      Recommit: · 7cdf9486
      Eric Christopher authored
          Start handling debug line and scope information better:
      
          Migrate most of the location setting within the larger API in CGDebugInfo and
          update a lot of callers.
          Remove the existing file/scope change machinery in UpdateLineDirectiveRegion
          and replace it with DILexicalBlockFile usage.
      
          Finishes off the rest of rdar://10246360
      
      after fixing a few bugs that were exposed in gdb testsuite testing.
      
      llvm-svn: 141893
      7cdf9486
  10. Oct 12, 2011
  11. Sep 29, 2011
  12. Sep 26, 2011
  13. Sep 22, 2011
  14. Sep 18, 2011
  15. Sep 15, 2011
  16. Aug 30, 2011
  17. Aug 26, 2011
    • John McCall's avatar
      Track whether an AggValueSlot is potentially aliased, and do not · a5efa738
      John McCall authored
      emit call results into potentially aliased slots.  This allows us
      to properly mark indirect return slots as noalias, at the cost
      of requiring an extra memcpy when assigning an aggregate call
      result into a l-value.  It also brings us into compliance with
      the x86-64 ABI.
      
      llvm-svn: 138599
      a5efa738
  18. Aug 25, 2011
  19. Aug 09, 2011
  20. Jul 23, 2011
  21. Jul 18, 2011
  22. Jul 13, 2011
  23. Jul 12, 2011
  24. Jul 09, 2011
    • John McCall's avatar
      A number of array-related IR-gen cleanups. · 82fe67bb
      John McCall authored
        - Emit default-initialization of arrays that were partially initialized
          with initializer lists with a loop, rather than emitting the default
          initializer N times;
        - support destroying VLAs of non-trivial type, although this is not
          yet exposed to users; and
        - support the partial destruction of arrays initialized with
          initializer lists when an initializer throws an exception.
      
      llvm-svn: 134784
      82fe67bb
  25. Jun 25, 2011
Loading