@@ -1250,94 +1250,6 @@ verifyReductionVarList(Operation *op, std::optional<ArrayAttr> reductionSyms,
12501250 return success ();
12511251}
12521252
1253- // ===----------------------------------------------------------------------===//
1254- // Parser, printer and verifier for Allocator (Section 8.4 in OpenMP 6.0)
1255- // ===----------------------------------------------------------------------===//
1256-
1257- // / Parses a allocator clause. The value of allocator handle is an integer
1258- // / which is a combination of different allocator handles from
1259- // / `omp_allocator_handle_t`.
1260- // /
1261- // / allocator-clause = `allocator` `(` allocator-value `)`
1262- static ParseResult parseAllocatorHandle (OpAsmParser &parser,
1263- IntegerAttr &allocatorHandleAttr) {
1264- StringRef allocatorKeyword;
1265- int64_t allocator = 0 ;
1266- if (succeeded (parser.parseOptionalKeyword (" none" ))) {
1267- allocatorHandleAttr = IntegerAttr::get (parser.getBuilder ().getI64Type (), 0 );
1268- return success ();
1269- }
1270- OptionalParseResult parsedInteger = parser.parseOptionalInteger (allocator);
1271- if (parsedInteger.has_value ()) {
1272- allocatorHandleAttr =
1273- IntegerAttr::get (parser.getBuilder ().getI64Type (), allocator);
1274- return success ();
1275- }
1276- if (failed (parser.parseKeyword (&allocatorKeyword)))
1277- return failure ();
1278- if (allocatorKeyword == " omp_null_allocator" )
1279- allocator = 0 ;
1280- else if (allocatorKeyword == " omp_default_mem_alloc" )
1281- allocator = 1 ;
1282- else if (allocatorKeyword == " omp_large_cap_mem_alloc" )
1283- allocator = 2 ;
1284- else if (allocatorKeyword == " omp_const_mem_alloc" )
1285- allocator = 3 ;
1286- else if (allocatorKeyword == " omp_high_bw_mem_alloc" )
1287- allocator = 4 ;
1288- else if (allocatorKeyword == " omp_low_lat_mem_alloc" )
1289- allocator = 5 ;
1290- else if (allocatorKeyword == " omp_cgroup_mem_alloc" )
1291- allocator = 6 ;
1292- else if (allocatorKeyword == " omp_pteam_mem_alloc" )
1293- allocator = 7 ;
1294- else if (allocatorKeyword == " omp_thread_mem_alloc" )
1295- allocator = 8 ;
1296- allocatorHandleAttr =
1297- IntegerAttr::get (parser.getBuilder ().getI64Type (), allocator);
1298- return success ();
1299- }
1300-
1301- // / Prints a allocator clause
1302- static void printAllocatorHandle (OpAsmPrinter &p, Operation *op,
1303- IntegerAttr allocatorHandleAttr) {
1304- int64_t allocator = allocatorHandleAttr.getInt ();
1305- StringRef allocatorHandle;
1306- switch (allocator) {
1307- case 0 :
1308- allocatorHandle = " omp_null_allocator" ;
1309- break ;
1310- case 1 :
1311- allocatorHandle = " omp_default_mem_alloc" ;
1312- break ;
1313- case 2 :
1314- allocatorHandle = " omp_large_cap_mem_alloc" ;
1315- break ;
1316- case 3 :
1317- allocatorHandle = " omp_const_mem_alloc" ;
1318- break ;
1319- case 4 :
1320- allocatorHandle = " omp_high_bw_mem_alloc" ;
1321- break ;
1322- case 5 :
1323- allocatorHandle = " omp_low_lat_mem_alloc" ;
1324- break ;
1325- case 6 :
1326- allocatorHandle = " omp_cgroup_mem_alloc" ;
1327- break ;
1328- case 7 :
1329- allocatorHandle = " omp_pteam_mem_alloc" ;
1330- break ;
1331- case 8 :
1332- allocatorHandle = " omp_thread_mem_alloc" ;
1333- break ;
1334- default :
1335- p << Twine (allocator).str ();
1336- return ;
1337- }
1338- p << allocatorHandle;
1339- }
1340-
13411253// ===----------------------------------------------------------------------===//
13421254// Parser, printer and verifier for Copyprivate
13431255// ===----------------------------------------------------------------------===//
0 commit comments