File tree 1 file changed +8
-0
lines changed
flang/lib/Optimizer/Builder
1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -1343,6 +1343,12 @@ static bool isIntrinsicModuleProcedure(llvm::StringRef name) {
1343
1343
name.startswith (" ieee_" ) || name.startswith (" __ppc_" );
1344
1344
}
1345
1345
1346
+ static bool isCoarrayIntrinsic (llvm::StringRef name) {
1347
+ return name.startswith (" atomic_" ) || name.startswith (" co_" ) ||
1348
+ name.contains (" image" ) || name.endswith (" cobound" ) ||
1349
+ name.equals (" team_number" );
1350
+ }
1351
+
1346
1352
// / Return the generic name of an intrinsic module procedure specific name.
1347
1353
// / Remove any "__builtin_" prefix, and any specific suffix of the form
1348
1354
// / {_[ail]?[0-9]+}*, such as _1 or _a4.
@@ -1363,6 +1369,8 @@ llvm::StringRef genericName(llvm::StringRef specificName) {
1363
1369
void crashOnMissingIntrinsic (mlir::Location loc, llvm::StringRef name) {
1364
1370
if (isIntrinsicModuleProcedure (name))
1365
1371
TODO (loc, " intrinsic module procedure: " + llvm::Twine (name));
1372
+ else if (isCoarrayIntrinsic (name))
1373
+ TODO (loc, " coarray: intrinsic " + llvm::Twine (name));
1366
1374
else
1367
1375
TODO (loc, " intrinsic: " + llvm::Twine (name));
1368
1376
}
You can’t perform that action at this time.
0 commit comments