diff mbox series

[GRAPHITE] Make --param loop-block-tile-size=0 disable tiling

Message ID alpine.LSU.2.20.1709271419590.26836@zhemvz.fhfr.qr
State New
Headers show
Series [GRAPHITE] Make --param loop-block-tile-size=0 disable tiling | expand

Commit Message

Richard Biener Sept. 27, 2017, 12:20 p.m. UTC
Currently ISL aborts on this special value and for debugging (and 
tuning?) it's nice to avoid all the clutter introduced by tiling.

Committed as obvious.

Richard.

2017-09-27  Richard Biener  <rguenther@suse.de>

	* graphite-optimize-isl.c (get_schedule_for_node_st): Allow
	--param loop-block-tile-size=0 to disable tiling.

Comments

Sebastian Pop Sept. 28, 2017, 8:44 p.m. UTC | #1
On Wed, Sep 27, 2017 at 7:20 AM, Richard Biener <rguenther@suse.de> wrote:
>
> Currently ISL aborts on this special value and for debugging (and
> tuning?) it's nice to avoid all the clutter introduced by tiling.
>
> Committed as obvious.
>
> Richard.
>
> 2017-09-27  Richard Biener  <rguenther@suse.de>
>
>         * graphite-optimize-isl.c (get_schedule_for_node_st): Allow
>         --param loop-block-tile-size=0 to disable tiling.

Looks good.
diff mbox series

Patch

Index: gcc/graphite-optimize-isl.c
===================================================================
--- gcc/graphite-optimize-isl.c	(revision 253226)
+++ gcc/graphite-optimize-isl.c	(working copy)
@@ -64,7 +64,10 @@  get_schedule_for_node_st (__isl_take isl
   if (type != isl_schedule_node_leaf)
     return node;
 
-  if (dims <= 1 || !isl_schedule_node_band_get_permutable (node))
+  long tile_size = PARAM_VALUE (PARAM_LOOP_BLOCK_TILE_SIZE);
+  if (dims <= 1
+      || tile_size == 0
+      || !isl_schedule_node_band_get_permutable (node))
     {
       if (dump_file && dump_flags)
 	fprintf (dump_file, "not tiled\n");
@@ -74,7 +77,6 @@  get_schedule_for_node_st (__isl_take isl
   /* Tile loops.  */
   space = isl_schedule_node_band_get_space (node);
   isl_multi_val *sizes = isl_multi_val_zero (space);
-  long tile_size = PARAM_VALUE (PARAM_LOOP_BLOCK_TILE_SIZE);
   isl_ctx *ctx = isl_schedule_node_get_ctx (node);
 
   for (unsigned i = 0; i < dims; i++)