Skip to content

Redshoee/gccbrig

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

gccbrig - BRIG gcc frontend for portable HSAIL finalization

The current development branch was forked from the gcc 4.9.1 release tar ball.

Building and installation

BUILD PREREQUISITES

Err:1 "configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+."

Building GCC requires the following components:

  • sudo apt-get install libgmp* -y
  • sudo apt-get install libmpfr* -y
  • sudo apt-get install libmpc* -y

Users

Users of better install gccbrig somewhere in PATH and LD_LIBRARY_PATH:

  cd gccbrig
  mkdir build
  cd build
  ../configure --disable-multilib --prefix=/your/install/prefix
  make -j4 && make install

Developers

It's handiest to use gccbrig from the build tree during development as there's no need to reinstall it after building new modifications for testing. Also, --enable-checking should be added for extra GENERIC etc. checks which can reveal bugs.

  cd gccbrig
  mkdir build
  cd build
  ../configure --enable-checking --disable-multilib
  make -j4

Things to do

  • Generate proper symbol information for program linkage variables to enable external group and private symbol support. Currently assumes a fully linked BRIG program input in this regard.
  • Analyze the call graphs of kernels to get more accurate private and group segment usage. Currently assumes the "worst case call graph" by accumulating all private and group segment variables to each kernel's usage counts.
  • Add phsail-finalizer rt files to the gcc tree so they are built for the target. There are built-ins and kernel execution runtime code which should be cross-compiled in case of a heterogeneous platform, and gcc has the infra in place for cross-compilation.
  • Lots of optimizations to speed up the finalization end result.
  • Upstream the BRIG frontend to gcc: Forward port the patch to the development trunk gcc, request for a review, etc.

About

HSAIL (BRIG) frontend for gcc

Resources

License

GPL-2.0 and 2 other licenses found

Licenses found

GPL-2.0
COPYING
LGPL-2.1
COPYING.LIB
Unknown
COPYING.RUNTIME

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 37.4%
  • Ada 16.6%
  • C++ 15.5%
  • Java 15.3%
  • Go 4.3%
  • HTML 3.0%
  • Other 7.9%