reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2473 data = (struct isl_compute_flow_data *)user; 2474 df = data->flow; 2478 data->accesses = NULL; 2479 data->sink_info = NULL; 2480 data->source_info = NULL; 2481 data->count = 0; 2482 data->dim = isl_space_range(isl_map_get_space(map)); 2484 if (isl_union_map_foreach_map(data->must_source, 2485 &count_matching_array, data) < 0) 2487 if (isl_union_map_foreach_map(data->may_source, 2488 &count_matching_array, data) < 0) 2491 data->sink_info = sched_info_alloc(map); 2492 data->source_info = isl_calloc_array(ctx, struct isl_sched_info *, 2493 data->count); 2495 data->accesses = isl_access_info_alloc(isl_map_copy(map), 2496 data->sink_info, &before, data->count); 2496 data->sink_info, &before, data->count); 2497 if (!data->sink_info || (data->count && !data->source_info) || 2497 if (!data->sink_info || (data->count && !data->source_info) || 2497 if (!data->sink_info || (data->count && !data->source_info) || 2498 !data->accesses) 2500 data->accesses->coscheduled = &coscheduled; 2501 data->count = 0; 2502 data->must = 1; 2503 if (isl_union_map_foreach_map(data->must_source, 2504 &collect_matching_array, data) < 0) 2506 data->must = 0; 2507 if (isl_union_map_foreach_map(data->may_source, 2508 &collect_matching_array, data) < 0) 2511 flow = access_info_compute_flow_core(data->accesses); 2512 data->accesses = NULL; 2533 sched_info_free(data->sink_info); 2534 if (data->source_info) { 2535 for (i = 0; i < data->count; ++i) 2536 sched_info_free(data->source_info[i]); 2537 free(data->source_info); 2539 isl_space_free(data->dim); 2544 isl_access_info_free(data->accesses); 2545 sched_info_free(data->sink_info); 2546 if (data->source_info) { 2547 for (i = 0; i < data->count; ++i) 2548 sched_info_free(data->source_info[i]); 2549 free(data->source_info); 2551 isl_space_free(data->dim);