Skip to content
Snippets Groups Projects
  1. Mar 21, 2016
  2. Mar 03, 2016
    • Alexey Bataev's avatar
      [OPENMP 4.0] Initial support for 'omp declare reduction' construct. · 4ee889aa
      Alexey Bataev authored
      Add parsing, sema analysis and serialization/deserialization for 'declare reduction' construct.
      User-defined reductions are defined as
      
      #pragma omp declare reduction( reduction-identifier : typename-list : combiner ) [initializer ( initializer-expr )]
      These custom reductions may be used in 'reduction' clauses of OpenMP constructs. The combiner specifies how partial results can be combined into a single value. The
      combiner can use the special variable identifiers omp_in and omp_out that are of the type of the variables being reduced with this reduction-identifier. Each of them will
      denote one of the values to be combined before executing the combiner. It is assumed that the special omp_out identifier will refer to the storage that holds the resulting
      combined value after executing the combiner.
      As the initializer-expr value of a user-defined reduction is not known a priori the initializer-clause can be used to specify one. Then the contents of the initializer-clause
      will be used as the initializer for private copies of reduction list items where the omp_priv identifier will refer to the storage to be initialized. The special identifier
      omp_orig can also appear in the initializer-clause and it will refer to the storage of the original variable to be reduced.
      Differential Revision: http://reviews.llvm.org/D11182
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262582 91177308-0d34-0410-b5e6-96231b3b80d8
      4ee889aa
    • Nico Weber's avatar
      Serialize `pragma pointers_to_members` state. · da7388af
      Nico Weber authored
      Like r262539, but for pointers_to_members.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262552 91177308-0d34-0410-b5e6-96231b3b80d8
      da7388af
    • Nico Weber's avatar
      Serialize `pragma ms_struct` state. · f2ba1719
      Nico Weber authored
      pragma ms_struct has an effect on struct decls, and the effect is serialized
      correctly already.  But the "is ms_struct currently on" state wasn't before
      this change.
      
      This uses the same approach as `pragma clang optimize`: When writing a module,
      the state isn't serialized, only when writing a pch file.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262539 91177308-0d34-0410-b5e6-96231b3b80d8
      f2ba1719
  3. Mar 02, 2016
  4. Feb 11, 2016
  5. Feb 08, 2016
  6. Feb 06, 2016
  7. Feb 04, 2016
    • Ben Langmuir's avatar
      Fix predefine for __NSConstantString struct type · 9b1a0158
      Ben Langmuir authored
      Per review feedback the name was wrong and it can be used outside
      Objective-C.
      
      Unfortunately, making the internal struct visible broke some ASTMatchers
      tests that assumed that the first record decl would be from user code,
      rather than a builtin type.  I'm worried that this will also affect
      users' code.  So this patch adds a typedef to wrap the internal struct
      and only makes the typedef visible to namelookup.  This is sufficient to
      allow the ASTReader to merge the decls we need without making the struct
      itself visible.
      
      rdar://problem/24425801
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259734 91177308-0d34-0410-b5e6-96231b3b80d8
      9b1a0158
  8. Feb 03, 2016
    • Quentin Colombet's avatar
      Reapply r259624, it is likely not the commit causing the bot failures. · 806d823f
      Quentin Colombet authored
      Original message:
      Make CF constant string decl visible to name lookup to fix module errors
      
      The return type of the __builtin___*StringMakeConstantString functions
      is a pointer to a struct, so we need that struct to be visible to name
      lookup so that we will correctly merge multiple declarations of that
      type if they come from different modules.
      
      Incidentally, to make this visible to name lookup we need to rename the
      type to __NSConstantString, since the real NSConstantString is an
      Objective-C interface type.  This shouldn't affect anyone outside the
      compiler since users of the constant string builtins cast the result
      immediately to CFStringRef.
      
      Since this struct type is otherwise implicitly created by the AST
      context and cannot access namelookup, we make this a predefined type
      and initialize it in Sema.
      
      Note: this issue of builtins that refer to types not visible to name
      lookup technically also affects other builtins (e.g. objc_msgSendSuper),
      but in all other cases the builtin is a library builtin and the issue
      goes away if you include the library that defines the types it uses,
      unlike for these constant string builtins.
      
      rdar://problem/24425801
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259721 91177308-0d34-0410-b5e6-96231b3b80d8
      806d823f
    • Quentin Colombet's avatar
      Revert r259624 - Make CF constant string decl visible to name lookup to fix module errors. · 9feb9642
      Quentin Colombet authored
      This breaks some internal bots in stage2: clang seg fault.
      Looking with Ben to see what is going on.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259715 91177308-0d34-0410-b5e6-96231b3b80d8
      9feb9642
    • Arpith Chacko Jacob's avatar
      [OpenMP] Parsing + sema for target parallel for directive. · 334563d0
      Arpith Chacko Jacob authored
      Summary:
      This patch adds parsing + sema for the target parallel for directive along with testcases.
      
      Reviewers: ABataev
      
      Differential Revision: http://reviews.llvm.org/D16759
      
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259654 91177308-0d34-0410-b5e6-96231b3b80d8
      334563d0
    • Ben Langmuir's avatar
      Make CF constant string decl visible to name lookup to fix module errors · f4907ca1
      Ben Langmuir authored
      The return type of the __builtin___*StringMakeConstantString functions
      is a pointer to a struct, so we need that struct to be visible to name
      lookup so that we will correctly merge multiple declarations of that
      type if they come from different modules.
      
      Incidentally, to make this visible to name lookup we need to rename the
      type to __NSConstantString, since the real NSConstantString is an
      Objective-C interface type.  This shouldn't affect anyone outside the
      compiler since users of the constant string builtins cast the result
      immediately to CFStringRef.
      
      Since this struct type is otherwise implicitly created by the AST
      context and cannot access namelookup, we make this a predefined type
      and initialize it in Sema.
      
      Note: this issue of builtins that refer to types not visible to name
      lookup technically also affects other builtins (e.g. objc_msgSendSuper),
      but in all other cases the builtin is a library builtin and the issue
      goes away if you include the library that defines the types it uses,
      unlike for these constant string builtins.
      
      rdar://problem/24425801
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259624 91177308-0d34-0410-b5e6-96231b3b80d8
      f4907ca1
  9. Jan 26, 2016
  10. Jan 19, 2016
  11. Jan 09, 2016
  12. Dec 14, 2015
  13. Dec 09, 2015
  14. Dec 08, 2015
  15. Dec 03, 2015
  16. Dec 01, 2015
  17. Nov 25, 2015
  18. Nov 04, 2015
  19. Nov 03, 2015
    • Douglas Gregor's avatar
      Introduce module file extensions to piggy-back data onto module files. · 07f81283
      Douglas Gregor authored
      Introduce the notion of a module file extension, which introduces
      additional information into a module file at the time it is built that
      can then be queried when the module file is read. Module file
      extensions are identified by a block name (which must be unique to the
      extension) and can write any bitstream records into their own
      extension block within the module file. When a module file is loaded,
      any extension blocks are matched up with module file extension
      readers, that are per-module-file and are given access to the input
      bitstream.
      
      Note that module file extensions can only be introduced by
      programmatic clients that have access to the CompilerInvocation. There
      is only one such extension at the moment, which is used for testing
      the module file extension harness. As a future direction, one could
      imagine allowing the plugin mechanism to introduce new module file
      extensions.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@251955 91177308-0d34-0410-b5e6-96231b3b80d8
      07f81283
  20. Sep 17, 2015
  21. Sep 15, 2015
  22. Sep 08, 2015
  23. Sep 01, 2015
  24. Aug 27, 2015
  25. Aug 25, 2015
  26. Aug 22, 2015
  27. Aug 09, 2015
  28. Aug 07, 2015
  29. Jul 27, 2015
    • Richard Smith's avatar
      [modules] Add an assert for redeclarations that we never added to their redecl · cca92270
      Richard Smith authored
      chain and fix the cases where it fires.
      
       * Handle the __va_list_tag as a predefined decl. Previously we failed to merge
         sometimes it because it's not visible to name lookup. (In passing, remove
         redundant __va_list_tag typedefs that we were creating for some ABIs. These
         didn't affect the mangling or representation of the type.)
      
       * For Decls derived from Redeclarable that are not in fact redeclarable
         (implicit params, function params, ObjC type parameters), remove them from
         the list of expected redeclarable decls.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243259 91177308-0d34-0410-b5e6-96231b3b80d8
      cca92270
  30. Jul 22, 2015
Loading