diff options
author | Richard Biener <rguenther@suse.de> | 2017-09-25 09:48:31 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-09-25 09:48:31 +0000 |
commit | 871a0725ddee3c9ef8cf827cb85ce08e150fec44 (patch) | |
tree | 03aab835117a5662f821e9bed7cfa704fbe66ed6 /gcc/graphite-sese-to-poly.c | |
parent | d449ed7517e34dc3b24c60f2d374a94f46b220d5 (diff) | |
download | gcc-871a0725ddee3c9ef8cf827cb85ce08e150fec44.zip gcc-871a0725ddee3c9ef8cf827cb85ce08e150fec44.tar.gz gcc-871a0725ddee3c9ef8cf827cb85ce08e150fec44.tar.bz2 |
graphite-optimize-isl.c (optimize_isl): Fail and dump if ISL errors other than isl_error_quota happen.
2017-09-25 Richard Biener <rguenther@suse.de>
* graphite-optimize-isl.c (optimize_isl): Fail and dump if
ISL errors other than isl_error_quota happen. Dump if the
schedule is the same.
* graphite-sese-to-poly.c (build_poly_scop): Fail on ISL
errors instead of aborting inside ISL.
From-SVN: r253142
Diffstat (limited to 'gcc/graphite-sese-to-poly.c')
-rw-r--r-- | gcc/graphite-sese-to-poly.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index 5d6ba67..fc8cd89 100644 --- a/gcc/graphite-sese-to-poly.c +++ b/gcc/graphite-sese-to-poly.c @@ -1244,6 +1244,9 @@ build_original_schedule (scop_p scop) bool build_poly_scop (scop_p scop) { + int old_err = isl_options_get_on_error (scop->isl_context); + isl_options_set_on_error (scop->isl_context, ISL_ON_ERROR_CONTINUE); + build_scop_context (scop); unsigned i = 0; @@ -1253,6 +1256,14 @@ build_poly_scop (scop_p scop) build_scop_drs (scop); build_original_schedule (scop); - return true; + + enum isl_error err = isl_ctx_last_error (scop->isl_context); + isl_ctx_reset_error (scop->isl_context); + isl_options_set_on_error (scop->isl_context, old_err); + if (err != isl_error_none) + dump_printf (MSG_MISSED_OPTIMIZATION, + "ISL error while building poly scop\n"); + + return err == isl_error_none; } #endif /* HAVE_isl */ |