| Rev |
Log message |
Author |
Age |
Path |
| 3892 |
[CAF] fix typo which caused seg fault for strided reads |
dreachem |
420d 12h |
/branches/ |
| 3891 |
Misc. fixes for allocatable components
Allow allocatable components in derived types.
Technically, components with allocatable attribute should be allowed in
derived types even though in the initial Fortran 95 standard it wasn't. This
fixes some issues so that it will work in our compiler.
(1) set alignment to Pointer_size for derived types with allocatable component
(2) fix bug in constructing IR when there is an allocatable array section in a
print statement
This commit also fixes some issues with defining and allocating coarray
components of derived types.
- allow allocatable coscalar component in derived type
- support allocation of allocatable coarray components
- remove unnecessary code for storing PE bounds info in temps on allocate
Moreover, this commit fixes parsing of coarray-spec, ensuring that they are
either "explicit shape" or "deferred shape", as per Fortran 2008 standard.
Contributor: Deepak |
dreachem |
420d 12h |
/branches/ |
| 3890 |
[CAF] various fixes for coscalars and libfortran bug
coscalar front-end fixes:
- allow local accesses on coscalars of derived type with pointer components
- fix size calculation for coscalar types
Also, in libfortran we were using the wrong function name for allocating data
in non-symmetric, remotely accessibly heap, resulting in a run-time error.
This was fixed.
Contributor: Deepak |
dreachem |
420d 12h |
/branches/ |
| 3889 |
[CAF] Fixes file name DST info generated in wgen
If compiling a source code not in the current directory with -g, it couldn't
be stepped through in a debugger. It turns out that the DWARF symbol table
(DST) information for the file name was not appending the relative path. This
prevents the relative path from being stripped by wgen before writing out the
DST information. This fix enables us to build all the runtime libraries (e.g.
libfortran) with debug info.
Also:
- adds --keep option for uhcaf script
- increases patch level, now at 3.0.3
Contributor: Deepak |
dreachem |
420d 12h |
/branches/ |
| 3885 |
[CAF] fix to allow use of uhcaf in makefiles
The uhcaf script will run the make command to determine the communication libs
from GASNet and ARMCI makefiles. If uhcaf is invoked from within another
makefile, the output of the nested makefile will include a printing of working
directory. To avoid this, we use --no-print-directory command in the script.
Also, there was a bug during coarray prelowering phase (undefined variable
ty1) that was fixed.
Contributor: Deepak |
dreachem |
430d 11h |
/branches/ |
| 3884 |
increasing patch level, now at 3.0.1 |
dreachem |
430d 14h |
/branches/ |
| 3883 |
[CAF] Misc fixes for CAF and compiling without CAF support
Changes in this commit are:
- Before, it did not allow any coarray components for derived types. In
Fortran 2008, however, it is allowed so long as it is declared as
allocatable/pointer.
Also, we add a check in back-end translation that a co-subscripted access of
a coarray will have offset 0 for the base address. This looks to be
generally the case, and it is necessary to correctly handle accesses to
components of derived type coscalars.
- There were some places (in particular, parser handler for end critical) that
were missing ifdef _UH_COARRAYS.
- only install libcaf-extra if configured with --enable-coarrays
Contributor: Deepak |
dreachem |
430d 15h |
/branches/ |
| 3880 |
Updating README.openuh text. |
dreachem |
432d 16h |
/branches/ |
| 3879 |
Misc fixes/additions to CAF suppport
Additions in this commit are:
- Adds a C version of the cafrun script (not currently used).
- Support for coarrays of character type
- Support for critical..end critical regions in CAF programs. Support for
critical sections are still "work in progress". Currently it uses a naive
implementation of a single global lock residing on image 1 that must be
acquired/released. Note that the GASNet implementation is based on Active
Messages, and appears to not work correctly when GASNet installation is
configured with the 'everything' segment configuration.
- Fixes support for allocatable coarrays declared in a module.
- Adds support for allocatable coscalar (that is, has codimensions but no
dimensions).
- Adds check that coarray's codimension specifier should never be 'explicit
shape'
- Fix for coarray accesses with non-unit stride. E.g.
a(1:N:2, 1:N)[p] = t
- Adds a libcaf-extra library which contains supplementary CAF-based routines
that can be used in CAF applications. Currently provides some basic
implementations for reductions and broadcasts. See caf-extra.caf in
/path/to/installation/include/4.2 for the interface.
Contributor: Deepak, Siddhartha, Tony |
dreachem |
433d 05h |
/branches/ |
| 3878 |
Tweaks to omprun, Dragon support, and other fixes
Changes added with this commit are:
- Initial C version of omprun to avoid shell stripping quotes (not currently
used, however).
- Adding support for srand and ran in Fortran.
- Use .dgn extension for Dragon project files instead of .d
- Fix memset arguments in CG (2nd and 3rd args were flipped).
- If -pfa option is given, compiler will now link in libopenmp
Contributors: Deepak, Tony, Wei |
dreachem |
433d 05h |
/branches/ |
| 3877 |
Misc. fixes for OpenMP/CAF, setting version to 3.0, and more
This makes a number of changes and fixes:
- We are setting the OpenUH version number to 3.0 for this commit.
- All configure arguments are now saved and will be printed when user uses -v
compiler option.
- Removes inline qualifier for __ompc_barrier_wait since it is now used in an
external file (omp_xbarrier.c)
- Adds LNO_Common_Loop back to ipl_summarize_util.cxx so that
-IPA:array_summary will work (used for Dragon analysis tool)
- Allow explicit lower bound on assumed shape coarray formal declarations
- Allow -g compilation with !DIR$ in .f files to allow building compiler's
runtime libraries with debug (--with-build-lib-optimize=debug)
- Bug fix for generating .rgn files (Dragon tool input) for multi-file
applications
- Adds a clean-be rule to Makefile
- Disables scalar renaming in LNO for OpenMP firstprivate variables. There was
an LNO bug that would erroneously rename scalar variables that are declared
as firstprivate in a parallel or task region within a loop nest. This is a
bug not only in OpenUH but also Open64. The scalar renaming was disabled
before if a variable was shared or reduction, but now we also disable it for
firstprivates.
Contributors: Deepak, Wei |
dreachem |
433d 05h |
/branches/ |
| 3847 |
Merge trunk changes -r3846 - selectively picked to handle the bug 16388 |
ravid |
529d 02h |
/branches/ |
| 3845 |
Merge trunk changes -r3717 |
ravid |
530d 00h |
/branches/ |
| 3841 |
Merge trunk changes -r3735:3737 |
ravid |
533d 22h |
/branches/ |
| 3840 |
Merge trunk changes -r3768,3774,3779,3782 |
ravid |
533d 23h |
/branches/ |
| 3839 |
Merge trunk changes -r3758:3767 |
ravid |
534d 00h |
/branches/ |
| 3838 |
Merge trunk changes -r3748:3757 |
ravid |
534d 00h |
/branches/ |
| 3836 |
Merge trunk changes -r3739:3741 -r3746:3747 |
ravid |
534d 00h |
/branches/ |
| 3835 |
Merge trunk changes -r3730:3734 -r3737:3738 |
ravid |
534d 01h |
/branches/ |
| 3834 |
Merge trunk changes -r3722:3729 |
ravid |
534d 02h |
/branches/ |