This project is mirrored from https://github.com/llvm-doe-org/llvm-project.git.
Pull mirroring updated .
- 31 May, 2021 1 commit
-
-
Joel E. Denny authored
-
- 11 Nov, 2020 1 commit
-
-
Joel E. Denny authored
And insert its definition if needed in source-to-source mode.
-
- 07 Aug, 2020 1 commit
-
-
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.
-
- 06 Aug, 2020 1 commit
-
-
Joel E. Denny authored
In OpenMP, these are called stand-alone directives. That is, they don't have associated statements. For example, `acc update`.
-
- 04 Mar, 2020 1 commit
-
-
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.
-
- 20 May, 2019 1 commit
-
-
Denny, Joel authored
The second OpenMP directive wasn't indented properly in `omp` or `omp-acc` mode unless the associated statements were printed separately.
-
- 17 May, 2019 4 commits
-
-
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----------^
-
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.
-
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.
-
Denny, Joel authored
And add -fopenacc-ast-print with the old functionality.
-