-
Notifications
You must be signed in to change notification settings - Fork 139
Comparing changes
Open a pull request
base repository: flang-compiler/flang
base: master
head repository: pawosm-arm/flang
compare: master
- 19 commits
- 102 files changed
- 2 contributors
Commits on Aug 31, 2018
-
libflangrti.so should depend on libompstub.so instead of libomp.so
This commit drops unfortunate dependency of libflangrti.so on libomp.so. For non-OpenMP programs (built without -fopenmp flag) frontend driver instructs the linker to link against libompstub.so library, which exports stubs for all OpenMP runtime library symbols. This is because Flang runtime library contains calls to those symbols (for OpenMP programs, final binary is linked against libomp.so instead). Apart form above, all of the Fortran programs are linked against libflang.so and libflangrti.so. Unfortunately, before this change libflangrti.so was depending on full blown OpenMP runtime library (libomp.so). This commit creates two sets of Flang runtime shared objects with following chains of dependencies: 1. libflang.so -> libflangrti.so -> libompstub.so 2. libflang-omp.so -> libflangrti-omp.so -> libomp.so Note that in order for this change to be in effect, relevant commit must be also applied on the clang repository. Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2ceef5a - Browse repository at this point
Copy the full SHA 2ceef5aView commit details -
towards architectural neutrality
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ec81fee - Browse repository at this point
Copy the full SHA ec81feeView commit details -
runtime: PoC: generate call to LLVM intrinsic instead of calling runt…
…ime functions when possible; handling NINT for a beginning Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 85f1cf8 - Browse repository at this point
Copy the full SHA 85f1cf8View commit details -
Introduce weak symbols in the libompstub library
Flang compiler, when started without -fopenmp links the final executable binary with libompstub - a small library which contains all the symbols of OpenMP runtime library with empty implementations. This is because certain places in Flang runtime library make use of OpenMP runtime in order to use its mechanisms for handling concurret code execution. For example, all malloc() calls in Flang runtime library are wrapped by __kmpc_critical()/__kmpc_end_critical() calls. The problems start to appear when Fortran program built without -fopenmp (and therefore linked against libompstub) is also linked against some library that was dynamically linked against real OpenMP runtime library, resulting in unexpected behaviour.
Configuration menu - View commit details
-
Copy full SHA for 263411f - Browse repository at this point
Copy the full SHA 263411fView commit details -
runtime: remove locks around malloc()/free() in mpmalloc.c for glibc-…
…based systems This is due to following statement in the glibc manual: To avoid corruption in multithreaded applications, mutexes are used internally to protect the memory-management data structures employed by these functions. In a multithreaded application in which threads simultaneously allocate and free memory, there could be contention for these mutexes. To scalably handle memory allocation in multithreaded applications, glibc creates additional memory allocation arenas if mutex contention is detected. Each arena is a large region of memory that is internally allocated by the system (using brk(2) or mmap(2)), and managed with its own mutexes. Having locks around them in the flang runtime library can ruin optimization effort when tcmalloc is preloaded to replace standard malloc()/free() implementation with the one optimized for reducing lock contention. Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6cbbbf9 - Browse repository at this point
Copy the full SHA 6cbbbf9View commit details -
Automatically SAVE module variable marked as THREADPRIVATE
Without this change compiler segfaults on COPYIN of module variables. Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e828b9 - Browse repository at this point
Copy the full SHA 4e828b9View commit details -
runtime: fix parallel build of omp_lib
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3be14c2 - Browse repository at this point
Copy the full SHA 3be14c2View commit details -
machreg: architecture specific initializations
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1de5859 - Browse repository at this point
Copy the full SHA 1de5859View commit details -
machreg: in order to ease further arch specific improvements, remove …
…unused functions Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf6c25c - Browse repository at this point
Copy the full SHA cf6c25cView commit details -
machreg: AArch64 has 64-bit registers, no need to pack
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0e80485 - Browse repository at this point
Copy the full SHA 0e80485View commit details -
AArch64: disable test cases invalid on aarch64
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4266049 - Browse repository at this point
Copy the full SHA 4266049View commit details -
runtime: remove duplicate files
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 39c41e5 - Browse repository at this point
Copy the full SHA 39c41e5View commit details -
compatibility: rename x86 files to mach files
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7815c7d - Browse repository at this point
Copy the full SHA 7815c7dView commit details -
compatibility: loosen ties to x86.
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 553d5c5 - Browse repository at this point
Copy the full SHA 553d5c5View commit details -
missing assignment in _mm_min_sd and _mm_max_sd
Fix for missing assignment in _mm_min_sd and _mm_max_sd.
Configuration menu - View commit details
-
Copy full SHA for 661739f - Browse repository at this point
Copy the full SHA 661739fView commit details -
libpgmath: respect LIBPGMATH_WITH_GENERIC setting; fixes #559
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e3e9566 - Browse repository at this point
Copy the full SHA e3e9566View commit details -
libpgmath: make it clang friendly
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c3288bf - Browse repository at this point
Copy the full SHA c3288bfView commit details -
libpgmath: move includes to separate include directory, plus remove u…
…nfortunate duplication of mthdecls.h file Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e17c170 - Browse repository at this point
Copy the full SHA e17c170View commit details -
OpenMP: make test cases pass with LLVM's omp_lib.h
Signed-off-by: Paul Osmialowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dc6ca7d - Browse repository at this point
Copy the full SHA dc6ca7dView commit details
There are no files selected for viewing
This file was deleted.