Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1313 commits
Select commit Hold shift + click to select a range
656db00
Add f90deviceio print interface module, use f90deviceio
ronlieb Feb 27, 2021
2b75c9c
Add quamath.h
ronlieb Feb 26, 2021
e9c1101
Add quamath.h
ronlieb Feb 26, 2021
5b3fd3b
Add quamath.h
ronlieb Feb 26, 2021
6ad08d3
[CPUPC-5108] merging flang changes to aa-stg branch
amd-orequest Mar 1, 2021
593d716
Post merge cleanup
ronlieb Mar 2, 2021
012cd6b
Post merge cleanup
ronlieb Mar 2, 2021
aef55d1
Post merge cleanup
ronlieb Mar 2, 2021
a785d3e
Fix missing return errors in 5 functions, compiler stricter
ronlieb Mar 10, 2021
c9dd5b7
Fix missing return errors in 5 functions, compiler stricter
ronlieb Mar 10, 2021
56ebe18
Fix missing return errors in 5 functions, compiler stricter
ronlieb Mar 10, 2021
04fc2e7
more flang runtime fixes
ronlieb Mar 10, 2021
96f2361
more flang runtime fixes
ronlieb Mar 10, 2021
4a127bb
more flang runtime fixes
ronlieb Mar 10, 2021
a23f31b
[CPUPC-5547] flang side changes to make device library calls for comp…
shivaramaarao Mar 20, 2021
903ff8f
[ CPUPC-5222 ] - Array section support for assume size array
shivaramaarao Mar 24, 2021
9fa9701
[CPUPC-5547] flang side changes to make device library calls for comp…
shivaramaarao Mar 20, 2021
9a0699a
[ CPUPC-5222 ] - Array section support for assume size array
shivaramaarao Mar 24, 2021
92b615e
[CPUPC-5547] flang side changes to make device library calls for comp…
shivaramaarao Mar 20, 2021
9285609
[ CPUPC-5222 ] - Array section support for assume size array
shivaramaarao Mar 24, 2021
c77877c
[CPUPC-5547] flang side changes to make device library calls for comp…
shivaramaarao Mar 20, 2021
75ee339
[ CPUPC-5222 ] - Array section support for assume size array
shivaramaarao Mar 24, 2021
ac90ffb
[CPUPC-5568] Fixng the cam4_r regression
shivaramaarao Apr 5, 2021
bc92787
Fix issues reported by address sanitizer build. (#23)
estewart08 Apr 6, 2021
6a83a9e
Added $ORIGIN to rpath to promote portability (#5)
ronlieb Apr 6, 2021
825ae7a
Added additional hints for locating libomp.so.
ronlieb Apr 6, 2021
ea14086
Added $ORIGIN to rpath to promote portability (#5)
ronlieb Apr 6, 2021
5e01eee
Added additional hints for locating libomp.so.
ronlieb Apr 6, 2021
f167193
Added $ORIGIN to rpath to promote portability (#5)
ronlieb Apr 6, 2021
e6792dc
Added additional hints for locating libomp.so.
ronlieb Apr 6, 2021
23987b9
Fix issues reported by address sanitizer build. (#23)
estewart08 Apr 6, 2021
445b2bd
Fix issues reported by address sanitizer build. (#23)
estewart08 Apr 6, 2021
ec86816
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Apr 15, 2021
f45e58b
[CPUPC-5637] Fix for compilation error with allocatable structures
shivaramaarao Apr 16, 2021
38fd983
[SWDEV-275490][CPUPC-5637] Fix for compilation error with allocatable…
shivaramaarao Apr 16, 2021
56b41b7
[SWDEV-275490][CPUPC-5637] Fix for compilation error with allocatable…
shivaramaarao Apr 16, 2021
a4d24a5
[SWDEV-275490][CPUPC-5637] Fix for compilation error with allocatable…
shivaramaarao Apr 16, 2021
2f064b3
Merge branch 'mergeAocc30' into amd-stg-openmp
ronlieb Apr 14, 2021
7a716a0
Merge branch 'twork' into amd-stg-openmp
ronlieb Apr 18, 2021
4445952
Merge branch 'amd-stg-openmp' into aomp-dev
ronlieb Apr 18, 2021
6ca45f4
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Apr 18, 2021
2a03f92
Add code to imbed sha-key for flang1 flang2 ; grep for Flang Sha
ronlieb Apr 18, 2021
f83e732
Add code to imbed sha-key for flang1 flang2 ; grep for Flang Sha
ronlieb Apr 18, 2021
ac7deb7
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Apr 20, 2021
a669f40
Fixes for swdev-275472 swdev-272328
ronlieb Apr 28, 2021
19c091e
Fixes for swdev-275472 swdev-272328
ronlieb Apr 28, 2021
b168acb
Revert "Fixes for swdev-275472 swdev-272328"
ronlieb Apr 28, 2021
df96f84
flang Fixes for swdev-272343 swdev-270202 swdev-272328 swdev-275194
ronlieb Apr 28, 2021
183d759
Revert "Fixes for swdev-275472 swdev-272328"
ronlieb Apr 28, 2021
0f48928
flang Fixes for swdev-272343 swdev-270202 swdev-272328 swdev-275194
ronlieb Apr 28, 2021
75cd57f
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Apr 29, 2021
c0697a7
Add back CMake code for FLANGRTI and libomp.so
ronlieb May 2, 2021
51c84d7
Add back CMake code for FLANGRTI and libomp.so
ronlieb May 2, 2021
a887725
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 May 3, 2021
59075b0
remove call to ompaccell_create_globalctor because this is now done b…
gregrodgers May 4, 2021
bcaaf92
flang fix for swdev-275194 swlcsg-675
ronlieb May 5, 2021
64819a9
flang fix for swdev-275194 swlcsg-675
ronlieb May 5, 2021
11e5405
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 May 5, 2021
069cb20
Add f90printl to do long (int64)
ronlieb May 5, 2021
b4dc59b
Add f90printl to do long (int64)
ronlieb May 5, 2021
f73d5fe
swdev-275194 - Another flang fix for if clause on target directive
ronlieb May 6, 2021
efb1a62
swdev-275194 - Another flang fix for if clause on target directive
ronlieb May 6, 2021
dcbc0bf
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 May 6, 2021
0386c29
Fix errors like
ronlieb May 22, 2021
20104ff
Add omp_target_is_present interface
ronlieb Jun 6, 2021
67b05d7
Merge pull request #24 from ROCm-Developer-Tools/fix-is-present
ronlieb Jun 6, 2021
52b4980
[CPUPC-5108] Merge flang code from amd-staging as of 03-06-2021 to am…
amd-orequest Jun 7, 2021
3fa7374
[CPUPC-5108] fixing the cam4_r compilation issue
amd-orequest Jun 8, 2021
02da1fe
Ignore git log returning an error.
estewart08 Jun 8, 2021
412a126
[CPUPC-5108] removing the tests that depend on llvm version
amd-orequest Jun 10, 2021
3c96d88
[ CPUPC-6021 ] - support for use_device_ptr outside target region
shivaramaarao Jun 17, 2021
36f247f
swdev-274983 flang use_device_ptr fix
ronlieb Jun 22, 2021
a383282
swdev-274983 flang use_device_ptr fix
ronlieb Jun 22, 2021
6cbfac7
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Jun 22, 2021
bb12bf9
assign ptr on device flang swdev-275472
ronlieb Jul 9, 2021
7748d67
assign ptr on device flang swdev-275472
ronlieb Jul 9, 2021
096a7b0
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Jul 12, 2021
2647f0b
Merge branch 'local-aocc-flang' into aomp-dev
ronlieb Jul 18, 2021
8e02914
Add depenency for omp_lifb.F90 to iso_c_binding mod file
ronlieb Aug 15, 2021
543d0a6
Add depenency for omp_lifb.F90 to iso_c_binding mod file
ronlieb Aug 15, 2021
ac4c9da
Fix the previous lib_omp cmake fix
ronlieb Aug 17, 2021
ffacd59
Fix the previous lib_omp cmake fix
ronlieb Aug 17, 2021
3491ee6
Fix 274775 flang
ronlieb Aug 27, 2021
e35bf12
Fix 274775 flang
ronlieb Aug 27, 2021
e5f9f7b
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Aug 27, 2021
3fb1e9f
Flang fix for DEVSW-273807 if parallel
ronlieb Sep 14, 2021
d2690ac
fix swdev-273807
ronlieb Sep 14, 2021
9ba1c83
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Sep 15, 2021
1ed3faa
[CPUPC-5108] Merge flang code from amd-staging as of 03-06-2021 to am…
amd-orequest Jun 7, 2021
3617320
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Sep 18, 2021
3a86a99
ckpnt work
ronlieb Sep 19, 2021
dadfa8e
swdev-302472 nowait
ronlieb Sep 21, 2021
4f1282c
Merge pull request #25 from ROCm-Developer-Tools/swdev-273759
ronlieb Sep 22, 2021
e7d5acb
[swdev-273759] openmp support for depend on target
ronlieb Sep 19, 2021
a37a7df
Missing flang commits from aomp-dev
ronlieb Oct 2, 2021
a2f72c9
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Dec 10, 2021
9280e91
__kmpc_spmd_kernel_init takes 2 args, not 3
ronlieb Dec 19, 2021
d5d710a
Merge pull request #26 from ROCm-Developer-Tools/fix_init_args
ronlieb Dec 20, 2021
158c567
Performance improvement for target offloaded loop collapse
bhuvanendrakumarn Dec 23, 2021
b9476fb
Merge pull request #27 from ROCm-Developer-Tools/aomp-dev-collapse-fix-4
dhruvachak Dec 23, 2021
eb5f3f4
Removed faulty code from "ckpnt work" commit
aperdeus-amd Dec 22, 2021
bf9b52f
Merge pull request #28 from aperdeus-amd/removed_depend_review
ronlieb Dec 23, 2021
dec40f8
__kmpc_spmd_kernel_init takes 2 args, not 3
ronlieb Dec 19, 2021
9937cd3
Performance improvement for target offloaded loop collapse
bhuvanendrakumarn Dec 23, 2021
7907fb1
Removed faulty code from "ckpnt work" commit
aperdeus-amd Dec 22, 2021
c91f1ce
update CMakefile for FLANG SHA
ronlieb Dec 24, 2021
06da05f
__kmpc_spmd_kernel_init takes 2 args, not 3
ronlieb Dec 19, 2021
8b5743a
Performance improvement for target offloaded loop collapse
bhuvanendrakumarn Dec 23, 2021
5720ac0
Removed faulty code from "ckpnt work" commit
aperdeus-amd Dec 22, 2021
0ad22e4
update CMakefile for FLANG SHA
ronlieb Dec 24, 2021
f1c02c0
swdev-315455 fix compilation with debug info
DominikAdamski Dec 29, 2021
39eecd5
Merge pull request #29 from DominikAdamski/fixed_debuginfo
ronlieb Dec 29, 2021
f19e5a4
Cleanup for loop collapse codegen change
dhruvachak Dec 31, 2021
5214f57
Merge pull request #30 from ROCm-Developer-Tools/aomp-dev-collapse-fix-5
dhruvachak Dec 31, 2021
df88c90
Support for compilation specific wave size based on GPU architecture
aperdeus-amd Dec 31, 2021
9bdb5bd
Update ompaccel.h
aperdeus-amd Jan 3, 2022
e902485
Merge pull request #31 from aperdeus-amd/wave-size
ronlieb Jan 3, 2022
0afc314
Support for compilation specific wave size based on GPU architecture
aperdeus-amd Dec 31, 2021
030f3cc
Update ompaccel.h
aperdeus-amd Jan 3, 2022
7c15e31
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Jan 4, 2022
2b2fa5b
Ported in_reduction changes from AOCC compiler (#33)
aperdeus-amd Jan 13, 2022
1607297
Update kernel execution mode (#34)
DominikAdamski Jan 13, 2022
48d50bb
Update kernel execution mode (#34)
DominikAdamski Jan 13, 2022
ace35bd
USM Unified Shared Memory + ctor fix (#35)
aperdeus-amd Jan 14, 2022
0fcde11
USM Unified Shared Memory + ctor fix (#35)
aperdeus-amd Jan 14, 2022
ee99df5
[perf] change to default static chunk for target
ronlieb Jan 15, 2022
5872ed0
[perf] change to default static chunk for target
ronlieb Jan 15, 2022
de85249
Fixing the issues with multiple target creation in target parallel lo…
aperdeus-amd Jan 18, 2022
4a1a941
Use device addr implementation (#39)
aperdeus-amd Jan 18, 2022
7a85f3a
Fix for compilation abort for ESMF (#40)
aperdeus-amd Jan 18, 2022
fa956b8
Fix two segvs due to null derefs for -g (#36)
ronlieb Jan 18, 2022
6b59500
Fixing the issues with multiple target creation in target parallel lo…
aperdeus-amd Jan 18, 2022
00374a3
Fix for compilation abort for ESMF (#40)
aperdeus-amd Jan 18, 2022
a86871b
Fix two segvs due to null derefs for -g (#36)
ronlieb Jan 18, 2022
8f37816
Ported in_reduction changes from AOCC compiler (#33)
aperdeus-amd Jan 13, 2022
caab3cf
Use device addr implementation (#39)
aperdeus-amd Jan 18, 2022
a41885e
Generic spmd kernel poc (#41)
DominikAdamski Jan 27, 2022
a7a36d0
Fix for compilation error when `omp parallel do` in `omp declare targ…
DominikAdamski Jan 29, 2022
308f190
Revert "Fix for compilation error when `omp parallel do` in `omp decl…
ronlieb Jan 29, 2022
3497afc
Re-land Fix for compilation error when `omp parallel do` in `omp decl…
DominikAdamski Jan 29, 2022
3d3438b
CPUPC-6246 - UM model compilation issue fix (#43)
DominikAdamski Jan 30, 2022
d401fe2
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Jan 30, 2022
6916f38
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
ronlieb Jan 30, 2022
2744318
fix if(0) flang-275194
ronlieb Feb 16, 2022
a869233
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Feb 16, 2022
eff23d1
fix if(0) flang-275194
ronlieb Feb 16, 2022
1d16cfd
fixing runtime issues (#44)
aperdeus-amd Feb 26, 2022
a955560
fix for swdev-321838
ronlieb Feb 27, 2022
1d9ccc7
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Feb 27, 2022
f862784
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Mar 1, 2022
1a51eb8
Fix 321847 - fix from Shivarama
ronlieb Mar 2, 2022
9f9871a
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Mar 2, 2022
d20981f
devsw-305550 fix mapping structs
ronlieb Mar 5, 2022
a796cae
devsw-305550 fix mapping structs
ronlieb Mar 5, 2022
092afa4
fix genasys gest
ronlieb Mar 10, 2022
0600498
fix genasys gest
ronlieb Mar 10, 2022
4f9b300
Fix flang metadata issue
ronlieb Mar 12, 2022
085e460
Fix flang metadata issue
ronlieb Mar 12, 2022
57ac6f3
Fix conflicting types for alarm issue on centos-9 build. (#45)
estewart08 Mar 16, 2022
65b99f4
Merge branch 'aomp-dev' into aomp-epsdb
estewart08 Mar 16, 2022
2293a72
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Mar 16, 2022
2061bb9
Fix for debug info generation for target (#46)
aperdeus-amd Mar 25, 2022
11aabd1
Fix for num_threads support in target omp pragma (#47)
aperdeus-amd Mar 29, 2022
4627738
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Mar 29, 2022
66fdb64
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
ronlieb Apr 2, 2022
270cb43
Fixed support in num_threads in "target parallel do" (#48)
aperdeus-amd Apr 4, 2022
60149e0
Fixed support in num_threads in "target parallel do" (#48)
aperdeus-amd Apr 4, 2022
750941e
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
ronlieb Apr 4, 2022
b63bfb8
fixes for swdev-{322945 323137 329920}
ronlieb Apr 10, 2022
a2f92ea
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Apr 10, 2022
a85c614
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
ronlieb Apr 10, 2022
520e4d3
Unify initialization procedure. (#50)
DominikAdamski Apr 20, 2022
1c36d54
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Apr 20, 2022
88d4b35
Add -Wno-implicit-function-declaration to cmake flags for newer compi…
ronlieb Apr 21, 2022
62866b5
Add -Wno-implicit-function-declaration to cmake flags for newer compi…
ronlieb Apr 21, 2022
3b4a75e
fixes for 325095 and 332112
ronlieb Apr 29, 2022
b991bbd
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Apr 29, 2022
01a3839
fixes for 325095 and 332112
ronlieb Apr 29, 2022
03f1799
Add -Wno-implicit-int to CMake C Flags
saiislam May 5, 2022
5c7a20c
Merge pull request #52 from ROCm-Developer-Tools/saiislam-wno-implici…
saiislam May 5, 2022
1f0d730
Merge pull request #53 from ROCm-Developer-Tools/saiislam-wno-implici…
saiislam May 5, 2022
9a40f27
Fix flang-337105 overflow path
ronlieb May 14, 2022
e9954b7
Fix flang-337105 overflow path
ronlieb May 14, 2022
c7e8730
Fix flang-337105 overflow path
ronlieb May 14, 2022
f55a627
Add global definitions of OpenMP constants (#55)
DominikAdamski May 18, 2022
0c8ab2e
Provide correct declarations of OpenMP API functions (#56)
DominikAdamski May 20, 2022
e97a83f
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb May 21, 2022
4d82412
ROCm 5.3 package reorg. (#54)
raramakr May 24, 2022
8c63311
ROCm 5.3 package reorg. (#54) (#57)
estewart08 Jun 1, 2022
4409a96
ROCm 5.3 package reorg. (#54) (#57)
estewart08 Jun 1, 2022
959dd6f
Corrected the AMD Copyright Statement Notice.
Lynd98 Jun 10, 2022
25aefcb
Merge branch 'aomp-dev' into aomp-epsdb
estewart08 Jun 10, 2022
4ac5d4b
Use GNUInstallDirs (#58)
raramakr Jun 16, 2022
db94b10
Fixes for SWDEV-299043 SWDEV-341152 SWDEV-329920
ronlieb Jun 16, 2022
ce222e6
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Jun 16, 2022
2867b7a
Corrected the AMD Copyright Statement Notice.
Lynd98 Jun 10, 2022
4490930
Add GNUInstallDirs to libpgmath CMakeLists.txt
estewart08 Jun 17, 2022
c423bef
Merge branch 'aomp-dev' into aomp-epsdb
estewart08 Jun 17, 2022
207c19a
Merge "ROCm 5.3 package reorg. (#54) (#57)" into aomp-epsdb-mainline
estewart08 Jun 17, 2022
77ea1ae
Fix for flang 340559
ronlieb Jun 22, 2022
1b73535
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Jun 22, 2022
433f518
Frontend fixes for 339749 and 339890 cabs, needs runtime cqabs cdabs
ronlieb Jun 22, 2022
2e2a5cb
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Jun 22, 2022
67a5d46
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Jun 27, 2022
600a803
Fix flang swdev-339906
ronlieb Jul 10, 2022
58ffbd7
Fix flang swdev-335474
ronlieb Jul 10, 2022
21bd101
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Jul 10, 2022
00b2d05
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Jul 11, 2022
a277d13
Add flag -Wno-int-conversion to cover changing llvm defaults
ronlieb Jul 23, 2022
a6deb3b
Add flag -Wno-int-conversion to cover changing llvm defaults
ronlieb Jul 23, 2022
5fa7620
Fix for flang swdev-324643
ronlieb Jul 25, 2022
6f89f61
Fix for flang swdev-324643
ronlieb Jul 25, 2022
2a35576
Cleanup inadvertent unrelated commented files
ronlieb Jul 26, 2022
f69baf4
Cleanup inadvertent unrelated commented files
ronlieb Jul 26, 2022
f94db46
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Jul 28, 2022
ffc5479
Use find_library instead of -l to find libquadmath. (#59)
estewart08 Aug 2, 2022
b7275f2
Merge branch 'aomp-dev' into aomp-epsdb
estewart08 Aug 2, 2022
c2c5f08
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
estewart08 Aug 2, 2022
83a9d62
Add flag -Wno-enum-constexpr-conversion
ronlieb Aug 9, 2022
fbe80d7
Add flag -Wno-enum-constexpr-conversion
ronlieb Aug 9, 2022
8ff4926
Add flag-Wno-incompatible-function-pointer-types
ronlieb Aug 11, 2022
061a0fc
Add flag-Wno-incompatible-function-pointer-types
ronlieb Aug 11, 2022
9467975
Do not attach attributes to kernel functions (#60)
DominikAdamski Aug 12, 2022
cd7d492
Merge branch 'aomp-dev' into aomp-epsdb
estewart08 Aug 22, 2022
d99ff84
initial metadirective support , and converting 'loop' to 'target para…
ronlieb Aug 30, 2022
1bf39e4
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Aug 30, 2022
aafd2cc
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
ronlieb Aug 30, 2022
fdd03f9
Revert "fix genasys gest"
ronlieb Sep 18, 2022
088550e
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Sep 18, 2022
7937607
suppress 30000+ warnings , nobody is going to fix
ronlieb Sep 21, 2022
a56adb3
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Sep 23, 2022
43410ae
[SWDEV-352861] aliasing issue, NAS OMP CG, aomp issue 411
ronlieb Oct 3, 2022
cbed49f
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Oct 3, 2022
ca75516
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
ronlieb Oct 3, 2022
4d13d8a
restore genasys gest patch, and add flag to allow 519 to
ronlieb Oct 25, 2022
7445846
Merge pull request #62 from ROCm-Developer-Tools/restore-gest-genasys…
raghavendhra Oct 25, 2022
392e693
[SWDEV-288641] Fix undefined symbol: __ps_powi_1 (#63)
DominikAdamski Nov 14, 2022
18810f7
fix for removal of --src-root from llvm-config (#64)
ronlieb Nov 15, 2022
3f28998
fix for removal of --src-root from llvm-config (#64)
ronlieb Nov 15, 2022
f0677da
[SWDEV-318074] Fix undefined references to modulo functions in target…
DominikAdamski Nov 18, 2022
fa1bfb3
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Nov 18, 2022
48e25ae
merge aomp-epsdb into aomp-epsdb-mainline
Dec 1, 2022
4b2e852
target reductions teams tweak -Mx,234,nn (#66)
ronlieb Dec 8, 2022
5fe8cc7
Merge branch 'aomp-dev' into aomp-epsdb
ronlieb Dec 8, 2022
c917676
merge promotion/aomp-epsdb-mainline/2022.11.11 into promotion/aomp-ep…
Dec 12, 2022
5805c36
[SWDEV-374100] target teams tweak -Mx,234,nn (#66)
ronlieb Dec 8, 2022
7d7191f
Mx 234,nn to default to 0 instead of 32, allows OMP_NUM_TEAMS to be h…
ronlieb Dec 27, 2022
a3137e0
Merge branch 'aomp-epsdb' into aomp-epsdb-mainline
ronlieb Dec 28, 2022
5c6b966
Handle argument mismatch in OpenMP kernel (#67)
DominikAdamski Feb 20, 2023
0f85438
[OpenMP] Fix type modification of mapped OpenMP variables (#68)
DominikAdamski Feb 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
89 changes: 73 additions & 16 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,22 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
#
# Modifications Copyright (c) 2019 Advanced Micro Devices, Inc. All rights reserved.
# Notified per clause 4(b) of the license.
#
# Last Modified: May 2020
#

cmake_minimum_required(VERSION 2.8)
cmake_policy(SET CMP0057 NEW)

if(${ENABLE_DEVEL_PACKAGE})
set(DEVEL_PACKAGE "devel/")
endif()
if(${ENABLE_RUN_PACKAGE})
set(RUN_PACKAGE "runtime/")
endif()

# In order to bootstrap the runtime library we need to skip
# CMake's Fortran tests
Expand Down Expand Up @@ -53,7 +67,9 @@ set(CMAKE_HOST_SYSTEM_PROCESSOR ${TARGET_ARCHITECTURE})
# standalone project, using LLVM as an external library:
if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
project(Flang)

# Set default libdir to be "lib" for ROCm, distros will override this anyway:
set(CMAKE_INSTALL_LIBDIR "lib" CACHE STRING "Library install directory")
include(GNUInstallDirs)
# Rely on llvm-config.
set(CONFIG_OUTPUT)

Expand All @@ -68,8 +84,7 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
"--bindir"
"--libdir"
"--includedir"
"--prefix"
"--src-root")
"--prefix")
execute_process(
COMMAND ${CONFIG_COMMAND}
RESULT_VARIABLE HAD_ERROR
Expand Down Expand Up @@ -133,6 +148,9 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
option(LLVM_INSTALL_TOOLCHAIN_ONLY
"Only include toolchain files in the 'install' target." OFF)

option(LLVM_INSTALL_RUNTIME
"Build and install the flang runtime. Do this last" OFF)

option(LLVM_FORCE_USE_OLD_HOST_TOOLCHAIN
"Set to ON to force using an old, unsupported host toolchain." OFF)

Expand Down Expand Up @@ -172,6 +190,8 @@ Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
set(LLVM_UTILS_PROVIDED ON)
endif()

if (NOT LLVM_INSTALL_RUNTIME)

if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
set(LLVM_LIT ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
if(NOT LLVM_UTILS_PROVIDED)
Expand All @@ -181,6 +201,7 @@ Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
set(LLVM_UTILS_PROVIDED ON)
set(FLANG_TEST_DEPS FileCheck count not)
endif()
endif()
#set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
#if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
# AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
Expand Down Expand Up @@ -276,19 +297,23 @@ else()
set(FLANG_HAS_VERSION_PATCHLEVEL 0)
endif()

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcommon -Wno-implicit-function-declaration -Wno-implicit-int -Wno-int-conversion -Wno-enum-constexpr-conversion -Wno-incompatible-function-pointer-types -w")

# Add appropriate flags for GCC
if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -g -DOMP_OFFLOAD_LLVM -Wno-implicit-function-declaration -Wno-implicit-int -Wno-enum-constexpr-conversion -Wno-incompatible-function-pointer-types -w")
option(WITH_WERROR "Compile with '-Werror' C compiler flag" ON)
if (WITH_WERROR)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
endif ()
endif ()

if (APPLE)
set(CMAKE_MODULE_LINKER_FLAGS "-Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
endif ()

find_library(LIBQUADMATH_LOC quadmath NAMES libquadmath.so libquadmath.so.0 REQUIRED)

macro(add_flang_library name)
llvm_process_sources(srcs ${ARGN})
if (MODULE)
Expand All @@ -305,13 +330,13 @@ macro(add_flang_library name)
endif( LLVM_COMMON_DEPENDS )

llvm_config( ${name} ${LLVM_LINK_COMPONENTS} )
target_link_libraries( ${name} ${LLVM_COMMON_LIBS} )
target_link_libraries( ${name} ${LLVM_COMMON_LIBS} ${LIBQUADMATH_LOC})
# link_system_libs( ${name} ) # getd of cmake warning messages

install(TARGETS ${name}
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
RUNTIME DESTINATION bin)
LIBRARY DESTINATION ${RUN_PACKAGE}${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${RUN_PACKAGE}${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${DEVEL_PACKAGE}${CMAKE_INSTALL_BINDIR})
set_target_properties(${name} PROPERTIES FOLDER "Flang libraries")
endmacro(add_flang_library)

Expand All @@ -328,16 +353,18 @@ include_directories(BEFORE
# Direct module files to build include directory
set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include)

if (FLANG_BUILD_RUNTIME)
# Install Fortran module files
install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/
DESTINATION include
DESTINATION ${DEVEL_PACKAGE}${CMAKE_INSTALL_INCLUDEDIR}
)
endif()

# Install Fortran OpenMP include file
# Copy omp_lib.h file, not the symlink
get_filename_component(OMP_LIB_H_PATH ${CMAKE_CURRENT_SOURCE_DIR}/include/omp_lib.h REALPATH)
install(FILES ${OMP_LIB_H_PATH}
DESTINATION include
DESTINATION ${DEVEL_PACKAGE}${CMAKE_INSTALL_INCLUDEDIR}
)

add_definitions( -D_GNU_SOURCE )
Expand All @@ -353,6 +380,22 @@ mark_as_advanced(FLANG_EXECUTABLE_VERSION LIBFLANG_LIBRARY_VERSION)

option(FLANG_LLVM_EXTENSIONS "enable the Flang LLVM extensions" OFF)

if ( FLANG_EXECUTABLE_VERSION )
add_definitions( -DFLANG_VERSION="${FLANG_EXECUTABLE_VERSION} " )
add_definitions( -DFLANG_VERSION_MAJOR="${FLANG_VERSION_MAJOR} " )
add_definitions( -DFLANG_VERSION_MINOR="${FLANG_VERSION_MINOR} " )
endif()
execute_process(COMMAND git log -1 --format=format:%H WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE FLANG_SHA RESULT_VARIABLE rc)

if(NOT rc EQUAL "0")
add_definitions( -DFLANG_SHA="Flang Sha NULL ")
message("Warning: Unable to get Flang Sha. Return Code: ${rc} Flang Sha: NULL!!!")
else()
string(STRIP ${FLANG_SHA} FLANG_SHA)
message(STATUS "MY_VAR=${FLANG_SHA}")
add_definitions( -DFLANG_SHA="Flang Sha ${FLANG_SHA} ")
endif()

option(FLANG_INCLUDE_TESTS
"Generate build targets for the Flang unit tests."
${LLVM_INCLUDE_TESTS})
Expand All @@ -367,11 +410,14 @@ set(FLANG_LIB_DIR ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(FLANG_RTE_LIB_DIR ${CMAKE_CURRENT_BINARY_DIR}/lib)
add_definitions( -DPGFLANG )

add_subdirectory(lib)
add_subdirectory(runtime)
add_subdirectory(utils)
add_subdirectory(tools)
#add_subdirectory(test)
if (LLVM_INSTALL_RUNTIME)
add_subdirectory(runtime)
else()
add_subdirectory(lib)
add_subdirectory(utils)
add_subdirectory(tools)
#add_subdirectory(test)
endif()

#option(FLANG_BUILD_EXAMPLES "Build FLANG example programs by default." OFF)
#if (FLANG_BUILD_EXAMPLES)
Expand All @@ -386,6 +432,17 @@ if (FLANG_OPENMP_GPU_NVIDIA)
add_definitions("-DOMP_OFFLOAD_LLVM")
endif()

# AOCC Begin
option(FLANG_OPENMP_GPU_AMD "Enable OpenMP AMD Accelerator Offload." OFF)
if (FLANG_OPENMP_GPU_AMD)
add_definitions("-DOMP_OFFLOAD_AMD")
endif()

if (FLANG_OPENMP_GPU_NVIDIA OR FLANG_OPENMP_GPU_AMD)
set(OMP_OFFLOADING_BUILD 1)
endif()
# AOCC End

if( FLANG_INCLUDE_TESTS )
# if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h)
# add_subdirectory(unittests)
Expand Down
2 changes: 1 addition & 1 deletion docs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ if (LLVM_ENABLE_DOXYGEN)

if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/web/html
DESTINATION docs/html)
DESTINATION ${DEVEL_PACKAGE}docs/html)
endif()
endif()
endif()
Expand Down
12 changes: 11 additions & 1 deletion include/flang/Error/errmsg-in.n
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@
.\" * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
.\" *
.\" */
.\"/*
.\" * Modifications Copyright (c) 2019 Advanced Micro Devices, Inc. All rights reserved.
.\" * Notified per clause 4(b) of the license.
.\" *
.\" * Last Modified: May 2020
.\" */
.NS 23 "Error Messages" "Appendix II - "
.af EN 001 \" define format for EN
.de MS
Expand Down Expand Up @@ -711,7 +717,7 @@ Messages 280-300 RESERVED for directive handling
.MS W 281 "Directive ignored - $ $"
.MS F 282 "#error $"
This message appears when preprocessing a file and a #error line is reached.
.MS F 283 "#warning $"
.MS S 283 "#warning $"
This message appears when preprocessing a file and a #warning line is reached.
.MS W 284 "A statement with an HPF keyword must begin with $ - $"
HPF keyword statements (like DISTRIBUTE, ALIGN) must appear on lines
Expand Down Expand Up @@ -1333,6 +1339,8 @@ LAUNCH_BOUNDS is now allowed on ATTRIBUTES(DEVICE) or host subprograms.
.MS E 552 "LAUNCH_BOUNDS() values must be positive"
The LAUNCH_BOUNDS maximum number of threads and minimum grid size must
be positive integer values.
.MS W 603 "Unsupported clause specified for the vector directive. Only the always/never clauses are supported."
.MS W 604 "Unsupported clause specified for the omp simd directive. The directive will be ignored."
.MS S 901 "#elif after #else"
A preprocessor #elif directive was found after a #else directive; only
#endif is allowed in this context.
Expand Down Expand Up @@ -1500,6 +1508,7 @@ A DO CONCURRENT or FORALL construct or statement may not specify an index name m
.MS S 1061 "The definition of function return type of $ does not match its declaration type"
.MS S 1062 "LOCAL_INIT variable does not have an outside variable of the same name - $"
A DO CONCURRENT variable with LOCAL_INIT locality must have a host variable of the same name.
.MS S 1063 "Real number has a ‘q’ exponent and an explicit kind"
Starting from 1100, Reserved for OpenMP GPU
.MS S 1198 "OpenMP GPU - The feature is not implemented yet for the target device"
.MS W 1199 "OpenMP GPU - \"$\" is ignored for the target device"
Expand All @@ -1523,3 +1532,4 @@ Starting from 1100, Reserved for OpenMP GPU
.MS S 1217 "Left hand side of polymorphic assignment must be allocatable - $"
.MS S 1218 "$ statement may not appear in a BLOCK construct."
.MS S 1219 "Unimplemented feature: $."
.MS W 1220 "$ is uninitialized at $"
57 changes: 56 additions & 1 deletion include/fp-folding.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,18 @@
* Note: The types have names like "float32_t" to distinguish them
* from integers, while the routines use names like "real32" to
* distinguish them from complex operations that might be added.
*
*/
/*
* Modifications Copyright (c) 2019 Advanced Micro Devices, Inc. All rights reserved.
* Notified per clause 4(b) of the license.
*
*
* Added support for quad precision
* Last modified: Feb 2020
*
* Support for nearest intrinsic
* Last modified: 01 March 2020
*/

#ifndef FP_FOLDING_H_
Expand Down Expand Up @@ -72,7 +84,6 @@ enum fold_relation {

enum fold_relation fold_real32_compare(const float32_t *x, const float32_t *y);
enum fold_relation fold_real64_compare(const float64_t *x, const float64_t *y);
enum fold_relation fold_real128_compare(const float128_t *x, const float128_t *y);

/*
* Operations. These all return a status code.
Expand All @@ -86,6 +97,8 @@ enum fold_status {
FOLD_INEXACT = -4,
};

#ifdef FOLD_LDBL_128BIT
enum fold_relation fold_real128_compare(const float128_t *x, const float128_t *y);
enum fold_status fold_int32_from_real32(int32_t *res, const float32_t *arg);
enum fold_status fold_int64_from_real32(int64_t *res, const float32_t *arg);
enum fold_status fold_uint64_from_real32(uint64_t *res, const float32_t *arg);
Expand All @@ -104,6 +117,7 @@ enum fold_status fold_real32_divide(float32_t *res, const float32_t *x, const fl
enum fold_status fold_real32_pow(float32_t *res, const float32_t *x, const float32_t *y);
enum fold_status fold_real32_sin(float32_t *res, const float32_t *arg);
enum fold_status fold_real32_cos(float32_t *res, const float32_t *arg);
enum fold_status fold_real32_cotan(float32_t *res, const float32_t *arg);
enum fold_status fold_real32_tan(float32_t *res, const float32_t *arg);
enum fold_status fold_real32_asin(float32_t *res, const float32_t *arg);
enum fold_status fold_real32_acos(float32_t *res, const float32_t *arg);
Expand All @@ -130,11 +144,17 @@ enum fold_status fold_real64_divide(float64_t *res, const float64_t *x, const fl
enum fold_status fold_real64_pow(float64_t *res, const float64_t *x, const float64_t *y);
enum fold_status fold_real64_sin(float64_t *res, const float64_t *arg);
enum fold_status fold_real64_cos(float64_t *res, const float64_t *arg);
enum fold_status fold_real64_cotan(float64_t *res, const float64_t *arg);
enum fold_status fold_real64_tan(float64_t *res, const float64_t *arg);
enum fold_status fold_real64_asin(float64_t *res, const float64_t *arg);
enum fold_status fold_real64_acos(float64_t *res, const float64_t *arg);
enum fold_status fold_real64_atan(float64_t *res, const float64_t *arg);
enum fold_status fold_real64_atan2(float64_t *res, const float64_t *x, const float64_t *y);
//AOCC Begin
enum fold_status fold_real32_nearest(float32_t *res, const float32_t *x, const float32_t *y);
enum fold_status fold_real64_nearest(float64_t *res, const float64_t *x, const float64_t *y);
enum fold_status fold_real128_nearest(float128_t *res, const float128_t *x, const float128_t *y);
//AOCC End
enum fold_status fold_real64_exp(float64_t *res, const float64_t *arg);
enum fold_status fold_real64_log(float64_t *res, const float64_t *arg);
enum fold_status fold_real64_log10(float64_t *res, const float64_t *arg);
Expand All @@ -156,6 +176,7 @@ enum fold_status fold_real128_divide(float128_t *res, const float128_t *x, const
enum fold_status fold_real128_pow(float128_t *res, const float128_t *x, const float128_t *y);
enum fold_status fold_real128_sin(float128_t *res, const float128_t *arg);
enum fold_status fold_real128_cos(float128_t *res, const float128_t *arg);
enum fold_status fold_real128_cotan(float128_t *res, const float128_t *arg);
enum fold_status fold_real128_tan(float128_t *res, const float128_t *arg);
enum fold_status fold_real128_asin(float128_t *res, const float128_t *arg);
enum fold_status fold_real128_acos(float128_t *res, const float128_t *arg);
Expand All @@ -164,6 +185,40 @@ enum fold_status fold_real128_atan2(float128_t *res, const float128_t *x, const
enum fold_status fold_real128_exp(float128_t *res, const float128_t *arg);
enum fold_status fold_real128_log(float128_t *res, const float128_t *arg);
enum fold_status fold_real128_log10(float128_t *res, const float128_t *arg);
// AOCC begin
// To support quad precision REAL128 type
#else
enum fold_relation fold_real128_compare(const __float128 *x, const __float128 *y);
enum fold_status fold_int32_from_real128(int32_t *res, const __float128 *arg);
enum fold_status fold_int64_from_real128(int64_t *res, const __float128 *arg);
enum fold_status fold_uint32_from_real128(uint32_t *res, const __float128 *arg);
enum fold_status fold_uint64_from_real128(uint64_t *res, const __float128 *arg);
enum fold_status fold_real128_from_int64(__float128 *res, const int64_t *arg);
enum fold_status fold_real128_from_uint64(__float128 *res, const uint64_t *arg);
enum fold_status fold_real128_from_real32(__float128 *res, const float32_t *arg);
enum fold_status fold_real128_from_real64(__float128 *res, const float64_t *arg);
enum fold_status fold_real128_negate(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_abs(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_sqrt(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_add(__float128 *res, const __float128 *x, const __float128 *y);
enum fold_status fold_real128_subtract(__float128 *res, const __float128 *x, const __float128 *y);
enum fold_status fold_real128_multiply(__float128 *res, const __float128 *x, const __float128 *y);
enum fold_status fold_real128_divide(__float128 *res, const __float128 *x, const __float128 *y);
enum fold_status fold_real128_pow(__float128 *res, const __float128 *x, const __float128 *y);
enum fold_status fold_real128_sin(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_cos(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_cotan(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_tan(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_asin(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_acos(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_atan(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_atan2(__float128 *res, const __float128 *x, const __float128 *y);
enum fold_status fold_real128_nearest(__float128 *res, const __float128 *x, const __float128 *y);
enum fold_status fold_real128_exp(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_log(__float128 *res, const __float128 *arg);
enum fold_status fold_real128_log10(__float128 *res, const __float128 *arg);
#endif
// AOCC end

#ifdef __cplusplus
}
Expand Down
Loading