This project is mirrored from https://github.com/llvm-doe-org/llvm-project.git. Pull mirroring updated .
  1. 31 May, 2021 1 commit
  2. 11 Nov, 2020 1 commit
  3. 07 Aug, 2020 1 commit
    • Joel E. Denny's avatar
      [OpenACC] Improve -fopenacc-print for _Pragma and executable directives · 3a1d5621
      Joel E. Denny authored
      Due to the way Clang tracks locations for the `_Pragma` operator, its
      end location cannot be rewritten.  An executable directive (the new
      `acc update` is the first) has no associated statement to use for an
      end location, so an executable directive in a `_Pragma` operator
      directive cannot be rewritten.  Without this patch, the diagnostic
      claims the directive appears in a macro in this case.  This patch uses
      a better diagnostic for that case.
      
      This patch also extends `-fopenacc-print` testing for executable
      directives and updates the status doc.
      3a1d5621
  4. 06 Aug, 2020 1 commit
  5. 04 Mar, 2020 1 commit
    • Joel E. Denny's avatar
      [OpenACC] Fix source-to-source bugs due to cpp macros · f135d701
      Joel E. Denny authored
      Without this patch, Clacc source-to-source mode when requested by
      `-fopenacc-print` (but not `-fopenacc-ast-print`) often fails asserts
      or mangles text when certain parts of OpenACC constructs expand from
      preprocessor macros or when the `_Pragma` directive form is used.
      With this patch, Clacc reports error diagnostics for cases not yet
      handled, and other cases are fixed.
      
      Such an error diagnostic is reported when either the first token is
      expanded from a macro (thus the `_Pragma` form is used) or the
      associated statement must be rewritten but its last token is expanded
      from a macro.
      
      This patch also redesigns `ACCExecutableDirective::getConstructRange`
      to support the above changes as well as upcoming changes that will
      provide source location information via the OpenACC Profiling
      Interface.
      f135d701
  6. 20 May, 2019 1 commit
  7. 17 May, 2019 4 commits
    • Denny, Joel's avatar
      [OpenACC] Delineate OpenACC/OpenMP from -fopenacc[-ast]-print · 643116d5
      Denny, Joel authored
      That is, when associated statements print separately, print comments
      clearly delineating and associating the OpenACC and OpenMP
      alternatives.
      
      For example:
      
        int i;
        #pragma acc parallel
        #pragma acc loop vector
        for (i = 0; i < 4; ++i)
          ;
      
      prints with -fopenacc-print=acc-omp as:
      
        int i;
        #pragma acc parallel
        // #pragma omp target teams firstprivate(i)
        // v----------ACC----------v
        #pragma acc loop vector
        for (i = 0; i < 4; ++i)
          ;
        // ---------ACC->OMP--------
        // {
        //     int i;
        //     #pragma omp parallel for simd num_threads(1)
        //         for (i = 0; i < 4; ++i)
        //             ;
        // }
        // ^----------OMP----------^
      643116d5
    • Denny, Joel's avatar
      [OpenACC] Drop "discarded" comment for separate assoc stmt · 906335fb
      Denny, Joel authored
      When associated statements print separately, the "discarded in OpenMP
      translation" comment only prints for this directive and not nested
      directives.  That inconsistency makes it confusing what happened for
      nested directives that were discarded.
      906335fb
    • Denny, Joel's avatar
      [OpenACC] Make -fopenacc[-ast]-print=acc-omp more readable · ea1e0565
      Denny, Joel authored
      Specifically, as for -fopenacc[-ast]-print=omp-acc, if associated
      statements print separately, print OpenACC associated statement in acc
      mode not acc-omp mode so that you don't confusingly sometimes print
      some OpenMP twice.
      ea1e0565
    • Denny, Joel's avatar
      [OpenACC] Migrate -fopenacc-print to use Rewrite · e8bb8d60
      Denny, Joel authored
      And add -fopenacc-ast-print with the old functionality.
      e8bb8d60