Subversion Repositories Open64

[/] - Rev 3938

Rev

Go to most recent revision

Filtering Options

Clear current filter

Rev Log message Author Age Path
3938 Fix for Bug#978. Fixed the problem in interchanging memory and add operations in 64 bit mode. CR by Sun Chan shivaram 346d 21h /
3937 Change return type of a function having no return value to void meiye 347d 17h /
3936 Revert previous open64 merge and change inline functions

This reverts the open64 merge r3774:3875, since it wasn't stable.

Also, changing some inline functions back to macros. The inline functions
caused the coarray lowering phase to crash when not building a debug compiler.
dreachem 350d 22h /
3935 adding missing files for previous open64 merge dreachem 351d 02h /
3934 open64 merge r3774:3875

Adds many fixes and improvements made for Open64 5.0 release to OpenUH.
Features include:
enabling of Nystrom alias analyzer for IPA phase
the siloed reference analysis to IPA phase,
x86-ppc32 cross compiler support,
CGSSA implementation.

Other enhancements include improve build where the default target architecture is
detected, and support for variable length arrays in structs. This commit
purposely does not include -r3876 from open64 main trunk, because OpenUH has
existing dependencies on PROMPF feature and that commit attempts to eliminate
PROMPF completely.

See the open64 (main trunk) commit log for more details.
dreachem 351d 02h /
3933 [CAF] fix for handling statements with remote access on both sides

This fixes handling of statements where there is a coindexed reference on both
the LHS and RHS, of the form:

A(...)[p] = B(...)[q]
dreachem 351d 03h /
3932 [CAF] Improvements for strided accesses + more

This commit adds several improvements to the handling of strided coarray
accesses. Currently handled accesses fall into 3 categories:

(1) non-strided (or contiguous data) accesses
e.g. a(1:10) = b( 1:10, 5)[p]
b(1:10)[p] = a(1:10, 2)

(2) simple strided accesses (subscripts are not strided)
e.g. a(1:3, 1:5) = b(1:3, 6:10)[p]
b(2, 1:5)[p] = a(1:5)

(3) strided accesses with strided subscripts
e.g. a(5, 1:4) = b(1:8:2)[p]
b(1:10:2,1:4:2)[p] = a(1:5, 4:7:2)

It should now handle more general strided transfers without requiring the
extra LCB copy. Also, subscript extents need not match, so long as the array
shapes of the left and right sides are conforming. These are all accepted and
translated without needing to introduce an intermediate LCB buffer.

b(1:10, 5) = a(1, 1:10)[2]
b(1, 2, 1:10:2) = a(1:5, 3)[2]
b(1:10:2, 1, 1:4) = a(1:5, 1:8;2, 1)[2]

Improvements are listed:

* runtime checks for contiguous accesses
* will convert strided access to contiguous access if the remote side is
contiguous while the local side is strided.
* compiler configure checks that gasnet-root path is valid
* compiler options can be specified for uhcaf just as with uhf90 (i.e. no need
to specify these options after -- )
* added --show-info option to uhcaf to get more informatoin about the default
compiler flags and the libraries linked in.

Contributor: Deepak
dreachem 351d 07h /
3931 [CAF] new coarray prelowering phase + misc fixes

This commit reorganizes the coarray prelowering phase in the back-end. It also
adds a number of fixes to the CAF implementation.

Prelowering has been split into 2 distinct phases. The first phase will
identify places in which an intermediate communication buffer should be
introduced to hold data to write out to read into and generate assignment
statements for this. The second phase will traverse the tree and replace
coindexed references with GET/PUT runtime calls.

Additionally, ths following fixes/enhancements are added:

* adding reduction routines for 1d arrays in libcaf-extra
* distinguish scalar from 1D arrays in libcaf-extra broadcast routines
* fixed link order for MPI libs in uhcaf script
* setting the num_codim field of the dope vector associated with coarray dummy
variables

(patch level now at 3.0.6)

Contributor: Deepak
dreachem 351d 07h /
3930 Split SC_NODE out from opt_proactive.cxx into opt_sc.cxx. CR: Jian-xin Lai meiye 352d 10h /
3929 Re-implement some data structures using std lib. CR: Jian-xin Lai meiye 352d 11h /
3928 Cosmetic changes to add trace/dump/assert and use better names, CR: Jian-xin Lai meiye 352d 11h /
3927 Do miscellaneous transformations to enable loop fusion, if-merging, loop interchange and if-condition precomputation. CR: Jian-xin Lai meiye 352d 11h /
3926 fix for bug962.

function symbols should be allowed as "i" constraint,
since they are link time constants.

Code Review: Lai Jian-Xin.
yug 374d 01h /
3925 Fix bug 779: build in source directory does not work.

In the osprey-gcc-4.2.0 build always use a known subdirectory for
$(host_subdir) instead of making the choice depending on where configure
was run, so that we always know where to find the build artifacts.

Also in the osprey-gcc 4.2.0 build use a path relative to $(build_objdir)
to find libgspin42.a.

In the build of the cygnus/ld subdirectory, use the "new-ld" target
instead of "all". The "all" target causes unwanted modifications to
checked-in files when the build is being done in the source directory.
For Open64, we only need the new-ld (ipa_link) executable.

Approved by: Sun Chan and Mike Murphy
dcoakley 376d 03h /
3924 Fix for bug 972. movlhps and movhlps opcode properties are corrected.
Code Review by Sun Chan
shivaram 379d 22h /
3923 Fix Bug 973 - Abstract_origin is error when do DST_mk_cross_inlined_subroutine

C.R. by Mr Sun chan
shenruifen 381d 06h /
3922 Fix for bug971. "pandn" opcode is removed from commutative group.
Code Review: Sun Chan
shivaram 382d 07h /
3921 add bug963 case yug 386d 02h /
3920 add bug967 case yug 386d 02h /
3919 fix for bug963.

try copy propogation into variables inside ASM_INPUT. if the copy
source is a constant and the required constrait is "i".

Code Review: Lai Jian-Xin.
yug 386d 02h /

1 2 Next >

Show All