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

[flang] Add runtime interface for NUM_IMAGES #1076

Open
wants to merge 1,158 commits into
base: fir-dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1158 commits
Select commit Hold shift + click to select a range
c121e87
Merge branch 'fir-dev' of https://github.com/flang-compiler/f18-llvm-…
psteinfeld Jul 22, 2021
ca8245a
[flang] Implement the lowering portion of the CSHIFT intrinsic
psteinfeld Jul 21, 2021
23d2f3e
Merge pull request #937 from flang-compiler/ps-cshift
psteinfeld Jul 22, 2021
be011ea
Merge pull request #914 from banach-space/andrzej/dot_product
mleair Jul 22, 2021
019b009
Lowering for the Matmul Intrinsic
kiranchandramohan Jul 20, 2021
0c69f27
[flang] Remove an unneeded call to createBox
psteinfeld Jul 22, 2021
dbe480d
Fixes to address TODOs and review comments
kiranchandramohan Jul 22, 2021
e80fbf3
[flang] Implement the runtime portion of the CSHIFT intrinsic
psteinfeld Jul 19, 2021
651a3be
Merge pull request #940 from flang-compiler/ps-fix-unpack
psteinfeld Jul 22, 2021
90cb2d6
Merge pull request #938 from flang-compiler/jpr-host-assoc-review-com…
jeanPerier Jul 23, 2021
896c6b3
Lower default initialization of local and dummy entities
jeanPerier Jul 6, 2021
776a3da
Merge pull request #939 from flang-compiler/jpr-derived-type-init-2
jeanPerier Jul 23, 2021
18b0621
Merge pull request #791 from Leporacanthicus/modifiers
schweitzpgi Jul 23, 2021
c424f04
Fix fir.alloca codegen for array with dynamic type parameters
jeanPerier Jul 23, 2021
8abd290
Merge pull request #943 from flang-compiler/jpr-alloca-issue
jeanPerier Jul 26, 2021
b5bb1ef
Fix issue #917.
schweitzpgi Jul 27, 2021
59e67a2
[flang] Disallow BOZ literal constants as arguments of implicit inter…
psteinfeld Jul 26, 2021
f3a7726
[flang] Disallow BOZ literal constants as output list items
psteinfeld Jul 27, 2021
4a3d98a
[flang] runtime: fix problems with I/O around EOF & delimited characters
klausler Jul 22, 2021
2f1c330
[flang] Runtime: Reset list-directed input state for each NAMELIST item
klausler Jul 21, 2021
9065951
Merge pull request #947 from vdonaldson/vkd2
vdonaldson Jul 28, 2021
b209722
Merge pull request #949 from flang-compiler/ch-i917
schweitzpgi Jul 29, 2021
cea71dc
Merge pull request #931 from kiranchandramohan/matmul
schweitzpgi Jul 29, 2021
e4e9534
[flang][nfc] Move tests from intrinsic-procedures.f90 to dedicated files
banach-space Jul 19, 2021
3cedc9c
Merge pull request #927 from banach-space/andrzej/separate_tests
schweitzpgi Jul 30, 2021
9ba7afe
Fix the verify test.
schweitzpgi Jul 30, 2021
4b9d243
Merge pull request #955 from schweitzpgi/ch-verify
schweitzpgi Jul 30, 2021
d3c32a4
Delete code that was redundantly removing the elided extents before t…
schweitzpgi Jul 30, 2021
b4e472a
Merge pull request #956 from flang-compiler/ch-ch5egs
schweitzpgi Jul 30, 2021
55e391e
Cherry pick from llvm-main, the runtime fixes for MAXLOC runtime erro…
mleair Jul 30, 2021
68cb255
Merge pull request #957 from flang-compiler/ml-fix-loc
mleair Jul 30, 2021
3e75a5f
associated intrinsic with target argument (#961)
vdonaldson Aug 3, 2021
79dd7cc
Lowering FORALL statement and FORALL construct with scalar, array, an…
schweitzpgi Jul 29, 2021
4a718fa
Merge pull request #954 from schweitzpgi/ch-forall
schweitzpgi Aug 3, 2021
f73a32e
[flang][msvc] Fix external-io unittest.
Meinersbur Jul 26, 2021
6f129d1
[flang] Disallow BOZ literal constants as arguments of implicit inter…
psteinfeld Jul 26, 2021
5c741a0
[flang] Fix thinko in CPU_TIME test
rovka Jul 12, 2021
1d519a1
[flang] Fix minor style issues. NFC
rovka Jul 27, 2021
06c5237
[flang] Disallow BOZ literal constants as output list items
psteinfeld Jul 27, 2021
7c54696
Reproduce 72a83674dd3a13b59442cd7cb07b53902f7d6a33 in flang only
jeanPerier Aug 4, 2021
f60bea0
Fix runtime internal error with certain intrinsics that can take a sc…
mleair Jul 29, 2021
a43745a
Fix unit test checks for the scalar cases of all/any intrinsics. I
mleair Jul 29, 2021
79188b8
Fix scalar unit tests for all, any, maxloc, etc. that caused the ARM …
mleair Jul 30, 2021
7f63ddc
[flang] Fix IsSimplyContiguous() for the case of a pointer component
klausler Jul 21, 2021
12201e2
[flang] Symbol representation for dummy SubprogramDetails
klausler Jul 22, 2021
9b45d7a
[flang] Add missing FileSystem.h
matthias-springer Aug 4, 2021
c1d52b0
Squash 2 commits into 1.
mleair Aug 4, 2021
be5a626
Merge pull request #962 from flang-compiler/ml-pack
mleair Aug 4, 2021
d31b6da
Merge pull request #964 from flang-compiler/jpr-cherry-pick-all-fe-ch…
jeanPerier Aug 5, 2021
380e00d
zero size common blocks (#965)
vdonaldson Aug 5, 2021
4ac8682
Ensure equivalence symbols are sorted by offset in the PFT
jeanPerier Aug 4, 2021
73dc364
Lower default initialization of global variables
jeanPerier Jul 23, 2021
7184dd0
Merge pull request #963 from flang-compiler/jpr-derived-type-init-glo…
jeanPerier Aug 5, 2021
1b76fae
[flang] Implement lowering for the SIZE intrinsic
psteinfeld Aug 4, 2021
183bc96
Merge pull request #966 from flang-compiler/ps-size
psteinfeld Aug 6, 2021
b546ab9
Ensure scalar args are lowered to ref if needed in elemental calls
jeanPerier Aug 9, 2021
c4454f0
[flang] Add default implementation for SYSTEM_CLOCK
rovka Aug 10, 2021
2534d53
[flang] Add POSIX implementation for SYSTEM_CLOCK
rovka Aug 10, 2021
bbe47c2
Merge pull request #971 from flang-compiler/jpr-fix-elemental-call-mi…
jeanPerier Aug 10, 2021
a8082ef
Implement FORALL with allocatables.
schweitzpgi Aug 10, 2021
9673be2
Merge pull request #977 from schweitzpgi/ch-allocforall
schweitzpgi Aug 11, 2021
a644a19
Support fir.box in genRecordAssignment
jeanPerier Aug 11, 2021
e793107
Merge pull request #973 from flang-compiler/jp-cherry-pick-system-clock
jeanPerier Aug 11, 2021
45090cc
system_clock intrinsic (#968)
vdonaldson Aug 11, 2021
f51ffbe
[flang] Fix the extent calculation when upper bounds are less than lo…
psteinfeld Aug 10, 2021
88a4b61
Fixes assertion 'idx < size()' in tests.
schweitzpgi Aug 11, 2021
e6dad13
Merge pull request #981 from schweitzpgi/ch-bug3
schweitzpgi Aug 11, 2021
91e1b94
Lowering for SCALE instrinsic
AlexisPerry Aug 10, 2021
8b0431e
[flang] Fix the lowering test for constant-folded extent calculations
psteinfeld Aug 11, 2021
8339dbd
Merge pull request #982 from flang-compiler/ps-cherry-pick-extents
psteinfeld Aug 11, 2021
717a4b7
Merge pull request #980 from flang-compiler/aperry-scale
schweitzpgi Aug 11, 2021
fb01a71
Lowering of EXPONENT, FRACTION, and SET_EXPONENT
bolgrebolgre Aug 12, 2021
9f201b9
Merge pull request #979 from flang-compiler/jpr-fix-210a211
jeanPerier Aug 12, 2021
9972f6c
[flang] Always create HostAssocDetails for host object symbols with U…
jeanPerier Aug 10, 2021
52050ce
Fixed the conflicts with upstream fir-dev
bolgrebolgre Aug 12, 2021
d207a63
Instantiate module variables in internal procedure of module procedures
jeanPerier Aug 6, 2021
57bfb63
Fixed some minor issues for readability and added test cases
bolgrebolgre Aug 12, 2021
af192d1
Delete intrinsic-procedures.f90
bolgrebolgre Aug 12, 2021
40edb60
Merge pull request #974 from flang-compiler/jpr-fix-941-2
jeanPerier Aug 12, 2021
cf34e12
Moved the genExponent function header to observe the alphabetical ord…
bolgrebolgre Aug 12, 2021
9fcbb14
Merge branch 'fir-dev' of https://github.com/flang-compiler/f18-llvm-…
bolgrebolgre Aug 12, 2021
a77ff6e
Merge branch 'fir-dev' of https://github.com/bolgrebolgre/kitsune int…
bolgrebolgre Aug 12, 2021
abbcbc6
[Flang] Fix build failure on MacOS
kiranchandramohan Aug 12, 2021
bec04a7
[NFC] Remove unused warning
kiranchandramohan Aug 12, 2021
7af3b2a
Merge pull request #983 from bolgrebolgre/fir-dev
schweitzpgi Aug 12, 2021
b5e69bb
Merge pull request #986 from kiranchandramohan/mac-clock
schweitzpgi Aug 12, 2021
f187a50
Merge pull request #987 from kiranchandramohan/unused-fix
schweitzpgi Aug 12, 2021
2daaaaa
[NFC] move LiteralNameHelper to remove front-end dependency in FIRBui…
jeanPerier Aug 12, 2021
09e8763
Merge pull request #985 from flang-compiler/jpr-move-literal-name-helper
jeanPerier Aug 13, 2021
e611929
[flang] Support DFLOAT legacy extension intrinsic function
klausler Jul 28, 2021
1ffe791
[flang] runtime: For Fw.d formatting, don't oscillate forever
klausler Aug 2, 2021
05024a8
[flang] Implement runtime Assign()
klausler Jul 29, 2021
7749198
[flang] Silence new build warning
klausler Aug 9, 2021
5932214
[flang] Fix list-directed plural repeated null values at end of record
klausler Aug 10, 2021
6e34406
[flang] Fix crash in runtime-type-info.cpp
klausler Aug 10, 2021
1e930ad
[Flang] Fix error messages on Windows.
Aug 12, 2021
5941a96
[flang] Correct off-by-one error in SET_EXPONENT
klausler Aug 12, 2021
ec8d2a8
Add line information to some fatal error to help debugging
jeanPerier Aug 13, 2021
73c4d38
[flang] Fix the SHIFT argument of the CSHIFT intrinsic
psteinfeld Aug 13, 2021
51fcaf0
Squash 4 commits into 1
mleair Aug 11, 2021
8b1bf21
Merge pull request #978 from flang-compiler/ml-slice
mleair Aug 13, 2021
ca16318
Merge pull request #992 from flang-compiler/ps-fix-cshift
psteinfeld Aug 13, 2021
df94154
Merge pull request #989 from flang-compiler/jpr-cherry-pick-llvm
schweitzpgi Aug 13, 2021
7001237
Don't put compiler generated objects in equivalence groups (#993)
vdonaldson Aug 13, 2021
51295e5
Lowering for NEAREST intrinsic
AlexisPerry Aug 12, 2021
704d5e2
Fix assertion "key not already in map".
schweitzpgi Aug 13, 2021
04376a9
Merge pull request #991 from flang-compiler/jpr-add-lines-in-error
jeanPerier Aug 16, 2021
e648538
Lower calls to elemental procedure with character arguments
jeanPerier Aug 12, 2021
f92b8a0
Merge pull request #984 from flang-compiler/jpr-elemental-char
jeanPerier Aug 16, 2021
6b03818
Respond to review comments.
schweitzpgi Aug 16, 2021
ba7b1b1
Merge pull request #995 from flang-compiler/aperry-nearest
AlexisPerry Aug 16, 2021
9f25471
Lower elemental character function and elemental internal procedure
jeanPerier Aug 17, 2021
6114f8f
Merge pull request #996 from schweitzpgi/ch-forall4
schweitzpgi Aug 17, 2021
23d1a17
fix test for g++ build
schweitzpgi Aug 17, 2021
db84c08
Fix n2f.f90.
schweitzpgi Aug 17, 2021
34bba44
Merge pull request #1000 from flang-compiler/jpr-elemental-explicit-r…
jeanPerier Aug 18, 2021
96658e3
[NFC] Move FirOpBuilder, ExtendedValue and tools into lib/Optimizer/B…
jeanPerier Aug 16, 2021
9ec3a0e
Merge pull request #999 from flang-compiler/jpr-move-builder-in-optim…
jeanPerier Aug 18, 2021
73b357f
Put the check for dropping implied array arguments in the subexpressi…
schweitzpgi Aug 18, 2021
d13ef2b
Merge pull request #1002 from schweitzpgi/ch-forall5
schweitzpgi Aug 18, 2021
611074a
remove debug code
schweitzpgi Aug 18, 2021
a8a280e
resolve conflict
schweitzpgi Aug 18, 2021
528737c
[NFC] Move runtime API call generator into Optimizer/Runtime - part 1/2
jeanPerier Aug 19, 2021
187b675
[NFC] Move runtime API call generator into Optimizer/Runtime - part 2/2
jeanPerier Aug 17, 2021
ec334d0
Merge pull request #1004 from flang-compiler/jpr-move-runtime-in-opti…
jeanPerier Aug 19, 2021
fd8dc16
Fix debug shared library builds broke by NFC #999
jeanPerier Aug 19, 2021
ba3942f
cherry pick several runtime and intrinsic fixes (#1006)
vdonaldson Aug 19, 2021
c8d759e
Implement pointer assignment in FORALL context.
schweitzpgi Aug 23, 2021
1411c56
Fix a character constant mangling bug (#1010)
vdonaldson Aug 24, 2021
87e5c48
review comments. add notes on to-do work items.
schweitzpgi Aug 24, 2021
31c0214
Merge pull request #1009 from schweitzpgi/ch-forall6
schweitzpgi Aug 24, 2021
de7bbdd
Lower derived array assignment and improve derived scalar assignment
jeanPerier Aug 20, 2021
1a3ab4a
Merge pull request #1007 from flang-compiler/jpr-derived-array-assign
jeanPerier Aug 25, 2021
66af69c
Revert "[flang] Add POSIX implementation for SYSTEM_CLOCK"
jeanPerier Aug 23, 2021
75ba7f3
Revert "[flang] Add default implementation for SYSTEM_CLOCK"
jeanPerier Aug 23, 2021
d3daa0b
[flang] Add default implementation for SYSTEM_CLOCK
rovka Jul 12, 2021
d1f65ff
[flang] Add POSIX implementation for SYSTEM_CLOCK
rovka Jul 13, 2021
980dde3
[flang] Implement Posix version of DATE_AND_TIME runtime
jeanPerier Aug 25, 2021
b12f68e
Update DATE_AND_TIME lowering after runtime upstreaming
jeanPerier Aug 25, 2021
14cfb57
[flang][OpenMP] Add semantic checks for cancellation nesting
PeixinQiao Aug 13, 2021
88bc622
[flang][OpenMP] Add semantic check for teams nesting
PeixinQiao Aug 13, 2021
f1bfbe7
[Flang] Fix for CI failure, Remove default case
kiranchandramohan Aug 13, 2021
7f93fd3
[flang][OpenMP] Add semantic check for target nesting
PeixinQiao Aug 18, 2021
d3a2c6f
[flang] Extension: reduced scope for some implied DO loop indices
klausler Aug 20, 2021
a4814f7
[flang] runtime: fix WRITE after BACKSPACE on variable-length file
klausler Aug 23, 2021
d195a85
typo
schweitzpgi Aug 24, 2021
bf166d3
Zero size array initializers (#1011)
vdonaldson Aug 25, 2021
6c1b99c
Merge pull request #1013 from flang-compiler/jpr-cherry-pick
jeanPerier Aug 26, 2021
a8bea8e
Make extern weak symbols for type descriptor not defined in translati…
jeanPerier Aug 25, 2021
e94d0b5
Merge pull request #1014 from flang-compiler/jpr-c1b-fix
jeanPerier Aug 26, 2021
880871c
Merge pull request #1012 from flang-compiler/jpr-date-and-time-loweri…
jeanPerier Aug 26, 2021
e31ba91
[flang] Take result length into account in ApplyElementwise folding
jeanPerier Aug 26, 2021
38afb0f
Merge pull request #1016 from flang-compiler/jpr-cherry-pick-fma1-fix
jeanPerier Aug 26, 2021
82ed8cd
[NFC fix] merge FIRRuntime in FIRBuilder to break circular deps - part 1
jeanPerier Aug 26, 2021
f9261b1
[NFC fix] merge FIRRuntime in FIRBuilder to break circular deps - part 2
jeanPerier Aug 26, 2021
0c61733
Merge pull request #1017 from flang-compiler/jpr-fix-circular-deps
jeanPerier Aug 27, 2021
87ecafe
Add hard todo for non default component lower bounds
jeanPerier Aug 27, 2021
305d05a
Merge pull request #1018 from flang-compiler/jpr-derived-type-lbs
jeanPerier Aug 30, 2021
c976e64
[flang] Apply double precision KindCode in specific proc interface
jeanPerier Aug 30, 2021
110fefa
Fix test failure with non default component lower bounds
jeanPerier Aug 30, 2021
20b933b
Lowering for EOSHIFT intrinsic
AlexisPerry Aug 18, 2021
feec79c
Merge pull request #1022 from flang-compiler/jpr-specnam-iface-issue-2
jeanPerier Aug 31, 2021
344abfa
Handle vector subscripts that are not whole contiguous symbols
jeanPerier Aug 30, 2021
fa3e602
Merge pull request #1023 from flang-compiler/jpr-fix-issue-1019
jeanPerier Aug 31, 2021
bffea5c
EOSHIFT Lowering - address review comments
AlexisPerry Aug 31, 2021
3a164ae
Descriptor extents must be nonnegative (#1025)
vdonaldson Sep 1, 2021
f8144e6
[mlir] support collapsed loops in OpenMP-to-LLVM translation
ftynse Jul 28, 2021
e459d4d
[flang][OpenMP] Support for Collapse
Leporacanthicus Jul 7, 2021
2a40e62
Merge pull request #1024 from flang-compiler/aperry-eoshift
AlexisPerry Sep 1, 2021
bb06cb0
[flang] Add runtime interface for COMMAND_ARGUMENT_COUNT
rovka Aug 25, 2021
c77ef6e
[flang] Add runtime interface for GET_COMMAND_ARGUMENT
rovka Aug 25, 2021
56c6432
[flang] Fold CSHIFT
klausler Jul 7, 2021
67262fd
[flang] Fold EOSHIFT
klausler Aug 24, 2021
cfa4946
[flang] Fold PACK()
klausler Aug 25, 2021
a44240c
[flang] Downgrade inappropriate error message to a warning
klausler Aug 27, 2021
4576068
[flang] Fold UNPACK and TRANSPOSE
klausler Aug 26, 2021
2eb81ad
[flang] Set default form if unspecified at end of OPEN statement
jeanPerier Sep 1, 2021
53d598b
Merge pull request #1028 from flang-compiler/jpr-cherry-picking
jeanPerier Sep 2, 2021
128ce22
FORALL lowering
schweitzpgi Sep 2, 2021
2852010
[flang] Include default component initialization in static initializers
klausler Aug 10, 2021
de404fd
Update lowering of equivalences after semantics change.
jeanPerier Aug 25, 2021
7a5a1a1
Merge pull request #1029 from flang-compiler/jpr-update-equivalence-h…
jeanPerier Sep 3, 2021
bdf369b
review comments - removed commented out assert
schweitzpgi Sep 3, 2021
66328d5
Merge pull request #1030 from schweitzpgi/ch-forall
schweitzpgi Sep 3, 2021
9c2688f
Fix for overly assertive assertion.
schweitzpgi Sep 4, 2021
ada9831
Fix bug with adjusted array element value types.
schweitzpgi Sep 4, 2021
4005808
Merge pull request #1034 from schweitzpgi/ch-p8a
schweitzpgi Sep 6, 2021
d471d6f
Merge pull request #1035 from schweitzpgi/ch-n4e.n1
schweitzpgi Sep 6, 2021
4f77995
Handle zero sized equivalence in lowering
jeanPerier Sep 6, 2021
0648a81
Fix array value threading to allow degenerate assignments. The front end
schweitzpgi Sep 7, 2021
4b4021a
Fix fir.coordinate_of op use with char<kind,?> types.
schweitzpgi Sep 7, 2021
bf2d407
remove ifdefs
schweitzpgi Sep 7, 2021
be5d30f
[flang] Fix non-deterministic line output function
Sep 2, 2021
b9735b2
[flang] NFC: change non-nullable pointer arguments to references
klausler Sep 1, 2021
011a901
[flang] Fix scope in which undeclared symbols are created
klausler Sep 1, 2021
82c7d3d
[flang] Extend common block size to cover equivalence storage
jeanPerier Sep 3, 2021
e8c242a
[mlir][flang] Do not prevent integer types from being parsed as MLIR …
jeanPerier Sep 3, 2021
aaf83b5
Remove blank from NaN string representation
vdonaldson Sep 1, 2021
8fe40e0
Merge pull request #1037 from flang-compiler/jpr-fix-ch14egs
jeanPerier Sep 8, 2021
d3c498a
Merge pull request #1039 from schweitzpgi/ch-p9
schweitzpgi Sep 8, 2021
735c474
review comments
schweitzpgi Sep 8, 2021
eac8473
Merge pull request #1045 from schweitzpgi/ch-m1a
schweitzpgi Sep 8, 2021
443c77a
[flang] Move runtime API headers to flang/include/flang/Runtime
klausler Sep 1, 2021
df66885
Merge pull request #1047 from flang-compiler/ps-cherry-pick
psteinfeld Sep 9, 2021
8130cad
Move the scope of the mask buffers to just outside the outermost FORA…
schweitzpgi Sep 9, 2021
424c2e0
[flang] Signal EOR in non advancing IO and move to next record
jeanPerier Sep 10, 2021
8399bd1
Add TODO for SIZE= specifier until runtime is here
jeanPerier Sep 10, 2021
f1cecf5
review comments
schweitzpgi Sep 10, 2021
3ef51bf
Merge pull request #1049 from schweitzpgi/ch-fw-lazy
schweitzpgi Sep 10, 2021
0895ac2
Merge pull request #1052 from flang-compiler/jpr-e78-lowering
jeanPerier Sep 10, 2021
393bce2
[OpenMP][MLIR] Add a conversion pattern for the master op
kiranchandramohan Sep 12, 2021
410a9c2
Merge pull request #1053 from kiranchandramohan/fix_master
jeanPerier Sep 13, 2021
cd0be43
[flang] Fix passing parts of array as writeable argument
Leporacanthicus Sep 3, 2021
18ec1ad
Merge pull request #969 from Leporacanthicus/collapse
schweitzpgi Sep 14, 2021
fbb3d2e
[flang][OpenMP] Fix check line from PR #969
clementval Sep 14, 2021
77cad11
[mlir] ODS: do not emit trailing const for static methods
ftynse Jun 14, 2021
14cde52
[mlir] separable registration of attribute and type interfaces
ftynse Jun 14, 2021
2e4d158
[mlir] Avoid GCC naming conflict.
Jun 15, 2021
ecd06db
[mlir] separable registration of operation interfaces
ftynse Jun 15, 2021
9621722
[mlir] Enable delayed registration of attribute/operation/type interf…
ftynse Jun 16, 2021
ef203f5
[mlir] define a customized DEBUG_TYPE in InterfaceSupport.h
ftynse Jun 17, 2021
e0c2e79
[mlir] Split things dependent on LLVM_DEBUG into a .cpp file
d0k Jun 17, 2021
713ca6b
[mlir] add support for reductions in OpenMP WsLoopOp
ftynse Jul 8, 2021
7208d06
[OMPIRBuilder] add minimalist reduction support
ftynse Jul 30, 2021
c046931
[OpenMPIRBuilder] Add a constructor to ReductionInfo to appease gcc5
ftynse Aug 2, 2021
7549dcf
[MLIR][OpenMP] Add support for critical construct
kiranchandramohan Jul 27, 2021
3fac959
[mlir] support collapsed loops in OpenMP-to-LLVM translation
ftynse Jul 28, 2021
8379767
[OMPIRBuilder] Clarify CanonicalLoopInfo. NFC.
Meinersbur Aug 13, 2021
406415a
[mlir] support translating OpenMP loops with reductions
ftynse Aug 24, 2021
4ff1d0f
[MLIR][OpenMP] Add support for declaring critical construct names
kiranchandramohan Sep 2, 2021
bf8ebcd
Zero size arrays of derived type (#1050)
vdonaldson Sep 14, 2021
7e78754
Use name of an equivalence member in local aggregate alloca
jeanPerier Sep 15, 2021
4dd70e1
Merge pull request #1036 from Leporacanthicus/fix-array-args
jeanPerier Sep 15, 2021
eb22fb4
[NFC] Unify headers in lib/Lower and lib/Optimizer (#1062)
clementval Sep 15, 2021
90abadc
Merge pull request #1060 from flang-compiler/jpr-name-local-equiv
Renaud-K Sep 15, 2021
51261bd
Process block data programs early (#1059)
vdonaldson Sep 15, 2021
0efc2ba
Merge pull request #1055 from kiranchandramohan/critical_cherry_picks
jeanPerier Sep 16, 2021
bb1ab87
[flang][fir] Add external name mangling pass
clementval Sep 16, 2021
126aa69
Fix evaluation semantics of FORALL constructs per 10.2.4.2.4.
schweitzpgi Sep 14, 2021
2af3c27
Merge pull request #1063 from schweitzpgi/ch-forall
schweitzpgi Sep 16, 2021
ff9e169
Fix shared library builds after #1061
jeanPerier Sep 17, 2021
753aef9
Lower IO input with vector subscripts
jeanPerier Sep 10, 2021
40d96d4
Merge pull request #1057 from flang-compiler/jpr-vector-io-2
jeanPerier Sep 17, 2021
6286954
Changes so that temporaries do not use uniq_name.
schweitzpgi Sep 17, 2021
76c6aa0
Merge pull request #1070 from schweitzpgi/ch-uniqname
schweitzpgi Sep 17, 2021
63130d8
Fix lit tests after 1070 change.
jeanPerier Sep 20, 2021
6227665
Lower elemental subroutine calls (outside of user assignment case)
jeanPerier Sep 17, 2021
0b3fa79
Merge pull request #1069 from flang-compiler/jpr-elem-sub-2
jeanPerier Sep 20, 2021
72f2ed3
[flang] Add runtime interface for NUM_IMAGES
rasmussn Sep 23, 2021
3d2f9d0
[flang] NUM_IMAGES(TEAM_NUMBER) runtime implementation
rasmussn Sep 24, 2021
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
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion clang/lib/CodeGen/CGStmtOpenMP.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3594,7 +3594,8 @@ void CodeGenFunction::EmitOMPForDirective(const OMPForDirective &S) {
CGM.getOpenMPRuntime().getOMPBuilder();
llvm::OpenMPIRBuilder::InsertPointTy AllocaIP(
AllocaInsertPt->getParent(), AllocaInsertPt->getIterator());
OMPBuilder.createWorkshareLoop(Builder, CLI, AllocaIP, NeedsBarrier);
OMPBuilder.applyWorkshareLoop(Builder.getCurrentDebugLocation(), CLI,
AllocaIP, NeedsBarrier);
return;
}

Expand Down
3 changes: 2 additions & 1 deletion flang/.clang-tidy
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
Checks: '-*,llvm-*,-llvm-include-order,misc-*,-misc-no-recursion,-misc-unused-parameters,-misc-non-private-member-variables-in-classes'
Checks: '-llvm-include-order,readability-braces-around-statements,-readability-identifier-naming,-clang-diagnostic-*'
InheritParentConfig: true
102 changes: 60 additions & 42 deletions flang/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.13.4)

set(CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON)

option(FLANG_BUILD_NEW_DRIVER "Build the flang compiler driver" OFF)

# Flang requires C++17.
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
Expand All @@ -17,7 +19,13 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE)
`CMakeFiles'. Please delete them.")
endif()

option(FLANG_ENABLE_WERROR "Fail and stop building flang if a warning is triggered." OFF)
if (MSVC)
set(_FLANG_ENABLE_WERROR_DEFAULT OFF)
else ()
set(_FLANG_ENABLE_WERROR_DEFAULT "${LLVM_ENABLE_WERROR}")
endif()
option(FLANG_ENABLE_WERROR "Fail and stop building flang if a warning is triggered."
"${_FLANG_ENABLE_WERROR_DEFAULT}")

# Check for a standalone build and configure as appropriate from
# there.
Expand All @@ -26,11 +34,6 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
project(Flang)
set(FLANG_STANDALONE_BUILD ON)

# For in-tree builds, this variable is inherited from
# llvm-project/llvm/CMakeLists.txt. For out-of-tree builds, we need a
# separate definition.
option(FLANG_BUILD_NEW_DRIVER "Build the flang compiler driver" ON)

set(FLANG_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
if (NOT MSVC_IDE)
set(LLVM_ENABLE_ASSERTIONS ${ENABLE_ASSERTIONS}
Expand All @@ -39,41 +42,31 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
mark_as_advanced(LLVM_ENABLE_ASSERTIONS)
endif()

# We need a pre-built/installed version of LLVM.
# We need a pre-built/installed version of LLVM and MLIR.
find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_PATH}")
# If the user specifies a relative path to LLVM_DIR, the calls to include
# LLVM modules fail. Append the absolute path to LLVM_DIR instead.
get_filename_component(LLVM_DIR_ABSOLUTE ${LLVM_DIR} REALPATH)
list(APPEND CMAKE_MODULE_PATH ${LLVM_DIR_ABSOLUTE})

if(FLANG_BUILD_NEW_DRIVER)
# Users might specify a path to CLANG_DIR that's:
# * a full path, or
# * a path relative to the path of this script.
# Append the absolute path to CLANG_DIR so that find_package works in both
# cases.
get_filename_component(
CLANG_DIR_ABSOLUTE
${CLANG_DIR}
REALPATH
${CMAKE_CURRENT_SOURCE_DIR})
list(APPEND CMAKE_MODULE_PATH ${CLANG_DIR_ABSOLUTE})

# TODO: Remove when libclangDriver is lifted out of Clang
find_package(Clang REQUIRED PATHS "${CLANG_DIR_ABSOLUTE}" NO_DEFAULT_PATH)
if (NOT Clang_FOUND)
message(FATAL_ERROR "Failed to find Clang")
endif()
list(APPEND CMAKE_MODULE_PATH ${CLANG_DIR})
find_package(Clang REQUIRED HINTS "${CLANG_DIR}")
endif()

find_package(MLIR REQUIRED HINTS "${MLIR_CMAKE_PATH}")
list(APPEND CMAKE_MODULE_PATH ${MLIR_DIR})

# If LLVM links to zlib we need the imported targets so we can too.
if(LLVM_ENABLE_ZLIB)
find_package(ZLIB REQUIRED)
endif()
option(LLVM_ENABLE_PEDANTIC "Compile with pedantic enabled." ON)
if(CMAKE_COMPILER_IS_GNUCXX)
set(USE_NO_MAYBE_UNINITIALIZED 1)
endif()

# They are used as destination of target generators.
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})

include(CMakeParseArguments)
include(AddLLVM)
Expand Down Expand Up @@ -111,6 +104,8 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
# should not be suppressed).
include_directories(SYSTEM ${LLVM_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})
include_directories(SYSTEM ${MLIR_INCLUDE_DIRS})
add_definitions(${MLIR_DEFINITIONS})

# LLVM's cmake configuration files currently sneak in a c++11 flag.
# We look for it here and remove it from Flang's compile flags to
Expand Down Expand Up @@ -189,12 +184,7 @@ else()
${LLVM_INCLUDE_TESTS})
set(FLANG_GTEST_AVAIL 1)

if(FLANG_STANDALONE_BUILD)
set(FLANG_BINARY_DIR ${CMAKE_BINARY_DIR}/tools/flang)
else()
set(FLANG_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
endif()

set(FLANG_BINARY_DIR ${CMAKE_BINARY_DIR}/tools/flang)
set(BACKEND_PACKAGE_STRING "${PACKAGE_STRING}")
set(MLIR_MAIN_SRC_DIR ${LLVM_MAIN_SRC_DIR}/../mlir/include ) # --src-root
set(MLIR_INCLUDE_DIR ${LLVM_MAIN_SRC_DIR}/../mlir/include ) # --includedir
Expand All @@ -203,8 +193,8 @@ else()
include_directories(SYSTEM ${MLIR_INCLUDE_DIR})
include_directories(SYSTEM ${MLIR_TABLEGEN_OUTPUT_DIR})
endif()
set(FLANG_INTRINSIC_MODULES_DIR ${CMAKE_BINARY_DIR}/include/flang)
set(FLANG_INCLUDE_DIR ${FLANG_BINARY_DIR}/include)
set(FLANG_INTRINSIC_MODULES_DIR ${CMAKE_BINARY_DIR}/include/flang)

if(FLANG_BUILD_NEW_DRIVER)
# TODO: Remove when libclangDriver is lifted out of Clang
Expand All @@ -221,22 +211,36 @@ if(FLANG_BUILD_NEW_DRIVER)
include_directories(SYSTEM ${CLANG_INCLUDE_DIR})
endif()

# tco tool and FIR lib output directories
if(FLANG_STANDALONE_BUILD)
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/bin)
set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/lib)
endif()
# Always build tco tool
set(LLVM_BUILD_TOOLS ON)

include_directories(BEFORE
${FLANG_BINARY_DIR}/include
${FLANG_SOURCE_DIR}/include)

if(MLIR_SOURCE_DIR)
include_directories(BEFORE
${FLANG_BINARY_DIR}/include
${FLANG_SOURCE_DIR}/include
${MLIR_BINARY_DIR}/include
${MLIR_SOURCE_DIR}/include
)
set(MLIR_MAIN_SRC_DIR ${MLIR_SOURCE_DIR})
set(MLIR_INCLUDE_DIR ${MLIR_SOURCE_DIR}/include)
else()
include_directories(BEFORE
${FLANG_BINARY_DIR}/include
${FLANG_SOURCE_DIR}/include
${MLIR_BINARY_DIR}/include
)
set(MLIR_MAIN_SRC_DIR ${MLIR_BINARY_DIR})
set(MLIR_INCLUDE_DIR ${MLIR_BINARY_DIR}/include)
endif()

set(MLIR_TABLEGEN_EXE mlir-tblgen)

# Add Flang-centric modules to cmake path.
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
include(AddFlang)


if (NOT DEFAULT_SYSROOT)
set(DEFAULT_SYSROOT "" CACHE PATH
"The <path> to use for the system root for all compiler invocations (--sysroot=<path>).")
Expand Down Expand Up @@ -322,6 +326,9 @@ if (FLANG_ENABLE_WERROR)
append("-Werror" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
append("-Wno-error" CMAKE_REQUIRED_FLAGS)
endif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
if (NOT LLVM_ENABLE_WERROR)
message(WARNING "FLANG_ENABLE_WERROR setting is different from LLVM_ENABLE_WERROR.")
endif()
endif()

# Builtin check_cxx_compiler_flag doesn't seem to work correctly
Expand Down Expand Up @@ -358,6 +365,10 @@ if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUGF18")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -DCHECK=\"(void)\"")

if (GCC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --gcc-toolchain=${GCC}")
endif()

# Building shared libraries is bad for performance with GCC by default
# due to the need to preserve the right to override external entry points
if (BUILD_SHARED_LIBS AND NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
Expand Down Expand Up @@ -403,12 +414,18 @@ endif()
add_subdirectory(runtime)

if (FLANG_INCLUDE_TESTS)
enable_testing()
add_subdirectory(test)
if (FLANG_GTEST_AVAIL)
add_subdirectory(unittests)
endif ()
endif()

option(FLANG_INCLUDE_TESTS
"Generate build targets for the Flang unit tests."
ON)
enable_testing()

option(FLANG_INCLUDE_DOCS "Generate build targets for the Flang docs."
${LLVM_INCLUDE_DOCS})
if (FLANG_INCLUDE_DOCS)
Expand Down Expand Up @@ -447,7 +464,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
PATTERN "*.td"
PATTERN "config.h" EXCLUDE
PATTERN ".git" EXCLUDE
PATTERN "CMakeFiles" EXCLUDE)
PATTERN "CMakeFiles" EXCLUDE
PATTERN "*")

install(DIRECTORY ${FLANG_INCLUDE_DIR}/flang
DESTINATION include
Expand Down
Loading