Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synchronize before migrating to UPIR #116

Merged
merged 1,501 commits into from
Feb 24, 2022
Merged

Synchronize before migrating to UPIR #116

merged 1,501 commits into from
Feb 24, 2022

Conversation

ouankou
Copy link
Contributor

@ouankou ouankou commented Feb 24, 2022

  1. Synchronize with ROSE upstream
  2. Add OpenMP SIMD transformation

ktras and others added 30 commits April 13, 2021 11:55
* added type size statistics to program-stats

CODETHORN-70
* ROSE_ABORT.h should include either <assert.h> or <stdlib.h>

* Some C files (xomp.c and instrumentor_lib.c) need to include
  <ROSE_ABORT.h> to avoid linking errors (C doesn't care that
  functions (or in this case a macro) is not declared).

RPM-194
- fix warnings when a file location is set and initially
  was set to compiler generated.

- add comments from source code to the AST

- add utility to convert Ada to C++ comments

- removed a spurious error message

RC-841
RC-757
Fixed unparsing of last statement whitespace of header files (with the
token-based unparsing). The trailing whitespace of the last statement
was under some conditions being repeated (unparsed twice).

JACCEL-17
…ontokens)

Fixed unparsing of last statement whitespace of header files (with the
token-based unparsing). The trailing whitespace of the last statement
was under some conditions being repeated (unparsed twice).

JACCEL-17
- allow empty private sections
- allow use of Standard.Ascii
- produce AdaPackageSpecDecl symbol for AdaPackageBodyDecl::get_symbol
- added convenience functions to SageInterface::ada
- quieted some debug output
- mark compilerGenerated nodes explicitely as compilerGenerated
  (instead of producing a new Sg_File_Info and hopeing everything
  was set correctly).
- added test cases and reference dot outputs

ROSE-2325
begin and end block markers where skipped for try-blocks. This can only
be done when the try block is a function try block.
The unparser checks that (added function to SageInterfaceAda) and omits
the block markers only then, otherwise print them out.

ROSE-2325
* added invisible layout nodes and edges to memory subgraph visualization
  for improved layout of clusters

CODETHORN-70
…irectiveType dt)

* add missing function to set directivey type
* used by ada2cpp to translate Ada comments into C++ style comments

RC-848
- add mangling support for AdaAttributeExpr
- set scope on fake SgInitializedName nodes that represent renamed
  exceptions
  TODO: look up renamed declarations
- allow labels in package bodies
- integer parsing: allow exponents
  TODO: finish decimal type parsing
  + added test case ranges.adb
- fixed parent pointer issue with task body

ROSE-2325
XinyaoYI and others added 25 commits June 29, 2021 17:34
if clause, nowait clause, device clause and depend clause
Distribute simd, Distribute parallel for, Distribute parallel for simd, Taskloop simd
In commit 2073f14,
we removed the pre-included CUDA headers.
However, they are required to support CUDA source code. It's necessary to copy the file "preinclude-cuda.h" and specify the path to CUDA headers in the system.

Since the CUDA 7.5 header package in REX was removed, to build REX compiler with CUDA support, we need to run:
./configure --prefix=$REX_ROOT/rex_install --with-boost=/usr --with-boost-libdir=$BOOST_LIB --enable-languages=c,c++,cuda,fortran --with-cuda-inc=/opt/cuda/include --disable-tests-directory --disable-tutorial-directory

"--with-cuda-inc=<path-to-CUDA-headers>" should be modified based on the actual CUDA toolkit installation.
Last synchronization with ROSE brought a change in the file "src/frontend/SageIII/sageInterface/sageBuilder.C".

When creating a new source file for the outlined function, it was attaching some necessary preprocessing info to the new file.
In the latest commits from ROSE, during outlining, it calls a secondary pass to duplicate the original source file, which contains all the OpenMP source code, and then repeat the whole processing from scratch again. This secondary pass will parse the source code, create the AST and lower the AST.
The lowering will trigger the secondary pass again. Therefore, it falls to an infinite loop here.

As a temporary fix to issue #104, we reverted this particular change for now. More details should be investigated later.
@ouankou ouankou merged commit 9819932 into main Feb 24, 2022
@ouankou ouankou deleted the dev branch February 24, 2022 14:04
@yanyh15
Copy link
Member

yanyh15 commented Feb 24, 2022 via email

@ouankou
Copy link
Contributor Author

ouankou commented Feb 24, 2022

Hi Anjia, Not sure how you synchronize with ROSE official. From my past experience, it often required cherry-picking some commits since straight git merge or rebase will pull in many changes that we already deleted, e.g. those code for php, java, etc. Let me know how you did the sync. Yonghong

Dr. Yan, sorry for the confusion. It is a short summary of the difference between our main and development branches. The "sync" here refers to the synchronization with ROSE you did last year. After that, I only cherry-picked one or two commits from ROSE to fix bugs.

@yanyh15
Copy link
Member

yanyh15 commented Feb 24, 2022 via email

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.