1 | 15. Improved C/C++ parsing |
---|
2 | added support for bonded line-continuation in OpenMP directives. |
---|
3 | For example |
---|
4 | |
---|
5 | #pragma omp parallel\ |
---|
6 | private(i) |
---|
7 | |
---|
8 | is now correctly instrumented. Prior a space or tabulator between |
---|
9 | the last word and the line-continuation '\' was necessary. |
---|
10 | |
---|
11 | 14. Improved Fortran parsing |
---|
12 | instrument parallel fortran end do loops without OpenMP end do loop pragma. |
---|
13 | Works for correctly nested do loops with |
---|
14 | a) f90 END DO's |
---|
15 | b) f77 labeled continue statements |
---|
16 | The special case for b) where multiple loops use the same continue |
---|
17 | statement as end do has restrictions: OPARI can only handle these cases |
---|
18 | which do NOT require adding extra continue statements. |
---|
19 | |
---|
20 | 13. !!!INCOMPATIBLE CHANGE!!! |
---|
21 | POMP interface routines renamed from pomp_type_event to |
---|
22 | POMP_Type_event. Necessary to allow porting to machines |
---|
23 | where Fortran name mangling is all lowercase (like IBM). |
---|
24 | |
---|
25 | 12. Support for Intel Linux compilers |
---|
26 | |
---|
27 | 11. Improved C/C++ parsing so that cases where nested for loops |
---|
28 | did not uses braces for all loop bodies work correctly now. |
---|
29 | For example |
---|
30 | |
---|
31 | #pragma omp for |
---|
32 | for (i=0; i<N; ++i) |
---|
33 | for (j=0; j<N; ++j) { } |
---|
34 | |
---|
35 | is now correctly instrumented. Version 1.1 required extra braces |
---|
36 | for the body of the "i" loop. |
---|
37 | |
---|
38 | 10. Fixed support for threadprivate |
---|
39 | |
---|
40 | 09. Port to Hitachi SR8000 |
---|
41 | |
---|
42 | ------------------- Released version 1.1 --------------------- |
---|
43 | |
---|
44 | 08. Various portability fixes to allow OPARI to be compiled |
---|
45 | with IBM xlC, SUN CC, SGI CC |
---|
46 | |
---|
47 | 07. Fixed wrong C string comparison (without strcmp, but ==) |
---|
48 | which worked by accident in handler.cc |
---|
49 | |
---|
50 | 06. Improved version of POMP stub routines in subdirectory "lib". |
---|
51 | Automatic configuration of fortran subroutine object names. |
---|
52 | |
---|
53 | 05. Fixed that OPARI does not generate (wrong or incomplete) |
---|
54 | files (output file, opari include file, opari table file, opari |
---|
55 | resource file) in case of errors. |
---|
56 | |
---|
57 | 04. New extended version of pragmas for user specified region |
---|
58 | instrumentation. Version 1.0 allowed only a matching pair of |
---|
59 | "INST BEGIN" and "INST END" directives/pragmas. This did not |
---|
60 | allow to instrument user functions with more than one exit |
---|
61 | point. For this situation, a new "INST ALTEND" directive/pragma |
---|
62 | was introduced. This "alternative end user region" construct |
---|
63 | can only appear between a matching "begin user region" |
---|
64 | and "end user region" directive/pragma. Example: |
---|
65 | |
---|
66 | void foo(bool b) { |
---|
67 | #pragma pomp inst begin(foo) |
---|
68 | if (b) { |
---|
69 | #pragma pomp inst altend(foo) |
---|
70 | return; |
---|
71 | } |
---|
72 | #pragma pomp inst end(foo) |
---|
73 | } |
---|
74 | |
---|
75 | 03. Instrumentation for OpenMP "FLUSH" directives/pragmas added: |
---|
76 | |
---|
77 | call pomp_flush_enter(d) |
---|
78 | !$OMP FLUSH |
---|
79 | call pomp_flush_exit(d) |
---|
80 | |
---|
81 | 02. Improved C/C++ parsing so that cases where a statement or |
---|
82 | block "closes" more than pragma are handled correctly. For |
---|
83 | example |
---|
84 | |
---|
85 | #pragma omp parallel |
---|
86 | #pragma omp for |
---|
87 | for (i=0; i<N; ++i) { } |
---|
88 | |
---|
89 | is now correctly instrumented. Version 1.0 required extra braces |
---|
90 | for the body of the "#pragma omp parallel". |
---|
91 | |
---|
92 | 01. Fixed bug where incorrect runtime table file was produced when |
---|
93 | opari was fed a program without any OpenMP regions. |
---|
94 | |
---|
95 | ------------------- Released version 1.0 --------------------- |
---|
96 | |
---|