diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-04-23 15:30:32 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-04-23 15:30:32 +0000 |
commit | 8451c889a23218ee63219e17e9280e23c6067453 (patch) | |
tree | 681ee1f63a96f9a71fcd1752ffff4f50e5cbf602 | |
parent | fix typo in patch header (diff) | |
download | gcc-patches-8451c889a23218ee63219e17e9280e23c6067453.tar.gz gcc-patches-8451c889a23218ee63219e17e9280e23c6067453.tar.bz2 gcc-patches-8451c889a23218ee63219e17e9280e23c6067453.zip |
drop graphite-specific dlopen patch in gcc-4.[67] since we dropped support for graphite entirely in these versions (the eclass will always disable it) #448024
-rw-r--r-- | 4.6.0/gentoo/74_all_gcc46_cloog-dl.patch | 532 | ||||
-rw-r--r-- | 4.6.0/gentoo/README.history | 1 | ||||
-rw-r--r-- | 4.6.1/gentoo/74_all_gcc46_cloog-dl.patch | 532 | ||||
-rw-r--r-- | 4.6.1/gentoo/README.history | 1 | ||||
-rw-r--r-- | 4.6.2/gentoo/74_all_gcc46_cloog-dl.patch | 532 | ||||
-rw-r--r-- | 4.6.2/gentoo/README.history | 1 | ||||
-rw-r--r-- | 4.6.3/gentoo/74_all_gcc46_cloog-dl.patch | 520 | ||||
-rw-r--r-- | 4.6.3/gentoo/README.history | 3 | ||||
-rw-r--r-- | 4.6.4/gentoo/74_all_gcc46_cloog-dl.patch | 511 | ||||
-rw-r--r-- | 4.6.4/gentoo/README.history | 3 | ||||
-rw-r--r-- | 4.7.0/gentoo/74_all_gcc47_cloog-dl.patch | 524 | ||||
-rw-r--r-- | 4.7.0/gentoo/README.history | 1 | ||||
-rw-r--r-- | 4.7.1/gentoo/74_all_gcc47_cloog-dl.patch | 524 | ||||
-rw-r--r-- | 4.7.1/gentoo/README.history | 1 | ||||
-rw-r--r-- | 4.7.2/gentoo/74_all_gcc47_cloog-dl.patch | 524 | ||||
-rw-r--r-- | 4.7.2/gentoo/README.history | 1 | ||||
-rw-r--r-- | 4.7.3/gentoo/74_all_gcc47_cloog-dl.patch | 524 | ||||
-rw-r--r-- | 4.7.3/gentoo/README.history | 1 | ||||
-rw-r--r-- | 4.7.4/gentoo/74_all_gcc47_cloog-dl.patch | 524 | ||||
-rw-r--r-- | 4.7.4/gentoo/README.history | 1 |
20 files changed, 14 insertions, 5247 deletions
diff --git a/4.6.0/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.0/gentoo/74_all_gcc46_cloog-dl.patch deleted file mode 100644 index 21ceb25..0000000 --- a/4.6.0/gentoo/74_all_gcc46_cloog-dl.patch +++ /dev/null @@ -1,532 +0,0 @@ -When graphite support is enabled, C++ libraries (libppl, libcloog, libgmpxx, -libstdc++-v3) are linked into cc1. Because of libstdc++ symbol versioning -this has the unfortunate side effect of making it difficult to switch to a -previous version of GCC using gcc-config once these libraries have be built -with the newer version. (http://bugs.gentoo.org/315377#c3) - -Instead, dlopen libcloog as necessary. This patch originated in Fedora and -was modified to work on FreeBSD (http://bugs.gentoo.org/317211). - -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2011-04-02 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - * graphite-cloog-compat.h: Add missing symbols. - - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \ - $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $(out_file) $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o version.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -17505,7 +17506,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17508 "configure" -+#line 17509 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -17611,7 +17612,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17614 "configure" -+#line 17615 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -26284,6 +26285,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -26343,7 +26345,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level, -+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level, - tree lb_type, tree ub_type) - { -- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for; -+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora; - struct clast_user_stmt *body = clast_get_body_of_loop (stmt); - CloogStatement *cs = body->statement; - poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+extern struct -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.6.0/gentoo/README.history b/4.6.0/gentoo/README.history index 747b28a..ce96a26 100644 --- a/4.6.0/gentoo/README.history +++ b/4.6.0/gentoo/README.history @@ -3,6 +3,7 @@ + 39_all_cond-store-pr452445.patch + 40_all_superh-mieee-default-fix-pr33135.patch + 56_all_gcc-ppc-vector-pr48226.patch + - 74_all_gcc46_cloog-dl.patch 1.3 27 Sep 2012 + 05_all_gcc-4.6.x-siginfo.patch diff --git a/4.6.1/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.1/gentoo/74_all_gcc46_cloog-dl.patch deleted file mode 100644 index 21ceb25..0000000 --- a/4.6.1/gentoo/74_all_gcc46_cloog-dl.patch +++ /dev/null @@ -1,532 +0,0 @@ -When graphite support is enabled, C++ libraries (libppl, libcloog, libgmpxx, -libstdc++-v3) are linked into cc1. Because of libstdc++ symbol versioning -this has the unfortunate side effect of making it difficult to switch to a -previous version of GCC using gcc-config once these libraries have be built -with the newer version. (http://bugs.gentoo.org/315377#c3) - -Instead, dlopen libcloog as necessary. This patch originated in Fedora and -was modified to work on FreeBSD (http://bugs.gentoo.org/317211). - -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2011-04-02 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - * graphite-cloog-compat.h: Add missing symbols. - - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \ - $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $(out_file) $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o version.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -17505,7 +17506,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17508 "configure" -+#line 17509 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -17611,7 +17612,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17614 "configure" -+#line 17615 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -26284,6 +26285,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -26343,7 +26345,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level, -+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level, - tree lb_type, tree ub_type) - { -- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for; -+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora; - struct clast_user_stmt *body = clast_get_body_of_loop (stmt); - CloogStatement *cs = body->statement; - poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+extern struct -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.6.1/gentoo/README.history b/4.6.1/gentoo/README.history index 7718ea6..086cf5d 100644 --- a/4.6.1/gentoo/README.history +++ b/4.6.1/gentoo/README.history @@ -3,6 +3,7 @@ + 39_all_cond-store-pr452445.patch + 40_all_superh-mieee-default-fix-pr33135.patch + 56_all_gcc-ppc-vector-pr48226.patch + - 74_all_gcc46_cloog-dl.patch 1.1 27 Sep 2012 + 05_all_gcc-4.6.x-siginfo.patch diff --git a/4.6.2/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.2/gentoo/74_all_gcc46_cloog-dl.patch deleted file mode 100644 index 21ceb25..0000000 --- a/4.6.2/gentoo/74_all_gcc46_cloog-dl.patch +++ /dev/null @@ -1,532 +0,0 @@ -When graphite support is enabled, C++ libraries (libppl, libcloog, libgmpxx, -libstdc++-v3) are linked into cc1. Because of libstdc++ symbol versioning -this has the unfortunate side effect of making it difficult to switch to a -previous version of GCC using gcc-config once these libraries have be built -with the newer version. (http://bugs.gentoo.org/315377#c3) - -Instead, dlopen libcloog as necessary. This patch originated in Fedora and -was modified to work on FreeBSD (http://bugs.gentoo.org/317211). - -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2011-04-02 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - * graphite-cloog-compat.h: Add missing symbols. - - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \ - $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $(out_file) $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o version.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -17505,7 +17506,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17508 "configure" -+#line 17509 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -17611,7 +17612,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17614 "configure" -+#line 17615 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -26284,6 +26285,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -26343,7 +26345,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level, -+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level, - tree lb_type, tree ub_type) - { -- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for; -+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora; - struct clast_user_stmt *body = clast_get_body_of_loop (stmt); - CloogStatement *cs = body->statement; - poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+extern struct -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.6.2/gentoo/README.history b/4.6.2/gentoo/README.history index 9997306..89315dc 100644 --- a/4.6.2/gentoo/README.history +++ b/4.6.2/gentoo/README.history @@ -3,6 +3,7 @@ + 39_all_cond-store-pr452445.patch + 40_all_superh-mieee-default-fix-pr33135.patch + 56_all_gcc-ppc-vector-pr48226.patch + - 74_all_gcc46_cloog-dl.patch 1.5 27 Sep 2012 + 05_all_gcc-4.6.x-siginfo.patch diff --git a/4.6.3/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.3/gentoo/74_all_gcc46_cloog-dl.patch deleted file mode 100644 index 36c40df..0000000 --- a/4.6.3/gentoo/74_all_gcc46_cloog-dl.patch +++ /dev/null @@ -1,520 +0,0 @@ -When graphite support is enabled several extra libraries (libppl, libcloog, -libgmpxx, libstdc++-v3) get linked into cc1. When these libs bump their soname we get -a completely broken compiler. - -Instead, dlopen libcloog as necessary. This patch originated in Fedora and -was modified to work on FreeBSD (http://bugs.gentoo.org/317211). - -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2011-04-02 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - * graphite-cloog-compat.h: Add missing symbols. - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \ - $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3483,6 +3485,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $(out_file) $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o version.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -4842,7 +4843,7 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supports_ada" >&5 - $as_echo "$acx_cv_cc_gcc_supports_ada" >&6; } - --if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then -+if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then - have_gnat=yes - else - have_gnat=no -@@ -26282,6 +26283,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -26341,7 +26343,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4839,11 +4839,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level, -+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level, - tree lb_type, tree ub_type) - { -- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for; -+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora; - struct clast_user_stmt *body = clast_get_body_of_loop (stmt); - CloogStatement *cs = body->statement; - poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+extern struct -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.6.3/gentoo/README.history b/4.6.3/gentoo/README.history index 857fc35..bbaddfb 100644 --- a/4.6.3/gentoo/README.history +++ b/4.6.3/gentoo/README.history @@ -1,3 +1,6 @@ +1.14 [pending] + - 74_all_gcc46_cloog-dl.patch + 1.13 19 Apr 2013 + 30_all_arm_armv4-no-thumb-fix-link.patch diff --git a/4.6.4/gentoo/74_all_gcc46_cloog-dl.patch b/4.6.4/gentoo/74_all_gcc46_cloog-dl.patch deleted file mode 100644 index 6703999..0000000 --- a/4.6.4/gentoo/74_all_gcc46_cloog-dl.patch +++ /dev/null @@ -1,511 +0,0 @@ -When graphite support is enabled several extra libraries (libppl, libcloog, -libgmpxx, libstdc++-v3) get linked into cc1. When these libs bump their soname we get -a completely broken compiler. - -Instead, dlopen libcloog as necessary. This patch originated in Fedora and -was modified to work on FreeBSD (http://bugs.gentoo.org/317211). - -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2011-04-02 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - * graphite-cloog-compat.h: Add missing symbols. - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -999,6 +999,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1052,7 +1054,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \ - $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2684,40 +2686,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3499,6 +3501,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $(out_file) $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o version.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -26318,6 +26319,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -26377,7 +26379,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4865,11 +4865,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level, -+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level, - tree lb_type, tree ub_type) - { -- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for; -+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora; - struct clast_user_stmt *body = clast_get_body_of_loop (stmt); - CloogStatement *cs = body->statement; - poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+extern struct -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.6.4/gentoo/README.history b/4.6.4/gentoo/README.history index 7292e0b..572600d 100644 --- a/4.6.4/gentoo/README.history +++ b/4.6.4/gentoo/README.history @@ -1,3 +1,6 @@ +1.3 [pending] + - 74_all_gcc46_cloog-dl.patch + 1.2 29 Mar 2014 + 85_all_fma-instruction-typo.patch diff --git a/4.7.0/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.0/gentoo/74_all_gcc47_cloog-dl.patch deleted file mode 100644 index ee108e3..0000000 --- a/4.7.0/gentoo/74_all_gcc47_cloog-dl.patch +++ /dev/null @@ -1,524 +0,0 @@ -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2012-05-19 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \ - $(LIBDECNUMBER) $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $< $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite%.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+graphite.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -27236,6 +27237,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -27295,7 +27297,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) -+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip) - { - mpz_t bound_one, bound_two; - tree lb_type, ub_type; -@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) - mpz_init (bound_one); - mpz_init (bound_two); - -- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two); -- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two); -+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two); -+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two); - - mpz_clear (bound_one); - mpz_clear (bound_two); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11 -+#define DYNSYMS_PPL11 -+#else -+#define DYNSYMS_PPL11 \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+#endif -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (stmt_ass); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYMS_PPL11 -+extern struct cloog_pointers_s__ -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define stmt_ass (*cloog_pointers__.p_stmt_ass) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+#endif -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.7.0/gentoo/README.history b/4.7.0/gentoo/README.history index bc414d6..408e5af 100644 --- a/4.7.0/gentoo/README.history +++ b/4.7.0/gentoo/README.history @@ -1,6 +1,7 @@ 1.3 [pending] - 03_all_java-nomulti.patch + 40_all_superh-mieee-default-fix-pr33135.patch + - 74_all_gcc46_cloog-dl.patch - 80_all_gcc-4.7-x32-ILP32.patch - 90_all_gcc-4.7-x32.patch diff --git a/4.7.1/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.1/gentoo/74_all_gcc47_cloog-dl.patch deleted file mode 100644 index ee108e3..0000000 --- a/4.7.1/gentoo/74_all_gcc47_cloog-dl.patch +++ /dev/null @@ -1,524 +0,0 @@ -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2012-05-19 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \ - $(LIBDECNUMBER) $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $< $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite%.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+graphite.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -27236,6 +27237,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -27295,7 +27297,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) -+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip) - { - mpz_t bound_one, bound_two; - tree lb_type, ub_type; -@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) - mpz_init (bound_one); - mpz_init (bound_two); - -- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two); -- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two); -+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two); -+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two); - - mpz_clear (bound_one); - mpz_clear (bound_two); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11 -+#define DYNSYMS_PPL11 -+#else -+#define DYNSYMS_PPL11 \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+#endif -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (stmt_ass); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYMS_PPL11 -+extern struct cloog_pointers_s__ -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define stmt_ass (*cloog_pointers__.p_stmt_ass) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+#endif -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.7.1/gentoo/README.history b/4.7.1/gentoo/README.history index b4a4be8..dbbc797 100644 --- a/4.7.1/gentoo/README.history +++ b/4.7.1/gentoo/README.history @@ -2,6 +2,7 @@ - 03_all_java-nomulti.patch + 40_all_superh-mieee-default-fix-pr33135.patch U 67_all_gcc-poison-system-directories.patch + - 74_all_gcc46_cloog-dl.patch - 90_all_gcc-4.7-x32.patch 1.5 21 Oct 2012 diff --git a/4.7.2/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.2/gentoo/74_all_gcc47_cloog-dl.patch deleted file mode 100644 index ee108e3..0000000 --- a/4.7.2/gentoo/74_all_gcc47_cloog-dl.patch +++ /dev/null @@ -1,524 +0,0 @@ -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2012-05-19 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \ - $(LIBDECNUMBER) $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $< $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite%.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+graphite.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -27236,6 +27237,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -27295,7 +27297,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) -+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip) - { - mpz_t bound_one, bound_two; - tree lb_type, ub_type; -@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) - mpz_init (bound_one); - mpz_init (bound_two); - -- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two); -- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two); -+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two); -+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two); - - mpz_clear (bound_one); - mpz_clear (bound_two); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11 -+#define DYNSYMS_PPL11 -+#else -+#define DYNSYMS_PPL11 \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+#endif -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (stmt_ass); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYMS_PPL11 -+extern struct cloog_pointers_s__ -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define stmt_ass (*cloog_pointers__.p_stmt_ass) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+#endif -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.7.2/gentoo/README.history b/4.7.2/gentoo/README.history index e392d17..c569db2 100644 --- a/4.7.2/gentoo/README.history +++ b/4.7.2/gentoo/README.history @@ -1,6 +1,7 @@ 1.7 [pending] + 18_all_libgcc-cross-canadian.patch U 67_all_gcc-poison-system-directories.patch + - 74_all_gcc46_cloog-dl.patch - 90_all_gcc-4.7-x32.patch 1.6 19 Apr 2013 diff --git a/4.7.3/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.3/gentoo/74_all_gcc47_cloog-dl.patch deleted file mode 100644 index ee108e3..0000000 --- a/4.7.3/gentoo/74_all_gcc47_cloog-dl.patch +++ /dev/null @@ -1,524 +0,0 @@ -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2012-05-19 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \ - $(LIBDECNUMBER) $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $< $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite%.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+graphite.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -27236,6 +27237,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -27295,7 +27297,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) -+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip) - { - mpz_t bound_one, bound_two; - tree lb_type, ub_type; -@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) - mpz_init (bound_one); - mpz_init (bound_two); - -- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two); -- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two); -+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two); -+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two); - - mpz_clear (bound_one); - mpz_clear (bound_two); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11 -+#define DYNSYMS_PPL11 -+#else -+#define DYNSYMS_PPL11 \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+#endif -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (stmt_ass); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYMS_PPL11 -+extern struct cloog_pointers_s__ -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define stmt_ass (*cloog_pointers__.p_stmt_ass) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+#endif -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.7.3/gentoo/README.history b/4.7.3/gentoo/README.history index 4670d77..a2bc195 100644 --- a/4.7.3/gentoo/README.history +++ b/4.7.3/gentoo/README.history @@ -1,4 +1,5 @@ 1.6 [pending] + - 74_all_gcc46_cloog-dl.patch - 90_all_gcc-4.7-x32.patch 1.5 01 Oct 2014 diff --git a/4.7.4/gentoo/74_all_gcc47_cloog-dl.patch b/4.7.4/gentoo/74_all_gcc47_cloog-dl.patch deleted file mode 100644 index ee108e3..0000000 --- a/4.7.4/gentoo/74_all_gcc47_cloog-dl.patch +++ /dev/null @@ -1,524 +0,0 @@ -2011-01-04 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (BACKENDLIBS): Link against -ldl instead of - -lcloog -lppl. - (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. - (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. - (graphite*.o): Adjust dependencies. - * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and - libppl symbols through pointers in cloog_pointers__ variable. - * graphite.c (init_cloog_pointers): New function. - (graphite_transform_loops): Call init_cloog_pointers. - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename - stmt_for argument to stmt_fora. - * graphite-poly.h: Include graphite-cloog-util.h. - -2012-05-19 Ryan Hill <dirtyepic@gentoo.org> - - * configure.ac (DL_LIB): Check how to dlopen. - * configure: Regenerate. - * Makefile.in (BACKENDLIBS): Use DL_LIB. - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -963,6 +963,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ - PLUGIN_H = plugin.h $(GCC_PLUGIN_H) - PLUGIN_VERSION_H = plugin-version.h configargs.h - LIBFUNCS_H = libfuncs.h $(HASHTAB_H) -+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h -+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) - - # - # Now figure out from those variables how to compile and link. -@@ -1017,7 +1019,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) - # and the system's installed libraries. - LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \ - $(LIBDECNUMBER) $(HOST_LIBS) --BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ - $(ZLIB) - # Any system libraries needed just for GNAT. - SYSLIBS = @GNAT_LIBEXC@ -@@ -2603,40 +2605,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ - $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h - graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ - $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ -- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ -+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ - graphite-clast-to-gimple.h graphite-sese-to-poly.h - graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ -- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ -+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ - graphite-dependences.h graphite-cloog-compat.h - graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ -- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h -+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h - graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ -- graphite-cloog-util.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ -+ $(GRAPHITE_CLOOG_UTIL_H) - graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ -- sese.h graphite-ppl.h graphite-poly.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) - graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ -- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ -- graphite-dependences.h graphite-cloog-util.h -+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ -+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) - graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- graphite-cloog-util.h graphite-ppl.h -+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h - graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ -- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h -+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h - graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ - $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ -- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ -+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ - graphite-sese-to-poly.h - tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ -@@ -3455,6 +3457,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \ - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - $< $(OUTPUT_OPTION) - -+graphite%.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite.o : \ -+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) -+graphite%.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+graphite.o : \ -+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) -+ - # Build auxiliary files that support ecoff format. - mips-tfile: mips-tfile.o $(LIBDEPS) - $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - PPLINC -@@ -27236,6 +27237,7 @@ $as_echo "unable to check" >&6; } - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -27295,7 +27297,9 @@ fi - - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5109,11 +5109,14 @@ if test x"$enable_plugin" = x"yes"; then - fi - - # Check -ldl -+ DL_LIB= - saved_LIBS="$LIBS" - AC_SEARCH_LIBS([dlopen], [dl]) - if test x"$ac_cv_search_dlopen" = x"-ldl"; then - pluginlibs="$pluginlibs -ldl" -+ DL_LIB=$ac_cv_search_dlopen - fi -+ AC_SUBST(DL_LIB) - LIBS="$saved_LIBS" - - # Check that we can build shared objects with -fPIC -shared ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stmt *stmt) - from STMT_FOR. */ - - static tree --type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) -+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip) - { - mpz_t bound_one, bound_two; - tree lb_type, ub_type; -@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) - mpz_init (bound_one); - mpz_init (bound_two); - -- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two); -- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two); -+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two); -+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two); - - mpz_clear (bound_one); - mpz_clear (bound_two); ---- a/gcc/graphite-cloog-compat.h -+++ b/gcc/graphite-cloog-compat.h -@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) - return m->NbRows; - } - #endif /* CLOOG_ORG */ -+ -+#include <dlfcn.h> -+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11 -+#define DYNSYMS_PPL11 -+#else -+#define DYNSYMS_PPL11 \ -+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ -+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ -+ DYNSYM (ppl_delete_PIP_Problem); -+#endif -+#define DYNSYMS \ -+ DYNSYM (cloog_block_alloc); \ -+ DYNSYM (cloog_block_list_free); \ -+ DYNSYM (cloog_block_list_malloc); \ -+ DYNSYM (cloog_clast_create); \ -+ DYNSYM (cloog_clast_free); \ -+ DYNSYM (cloog_domain_free); \ -+ DYNSYM (cloog_domain_matrix2domain); \ -+ DYNSYM (cloog_initialize); \ -+ DYNSYM (cloog_loop_malloc); \ -+ DYNSYM (cloog_matrix_alloc); \ -+ DYNSYM (cloog_matrix_copy); \ -+ DYNSYM (cloog_matrix_free); \ -+ DYNSYM (cloog_matrix_print); \ -+ DYNSYM (cloog_names_malloc); \ -+ DYNSYM (cloog_names_scalarize); \ -+ DYNSYM (cloog_options_free); \ -+ DYNSYM (cloog_options_malloc); \ -+ DYNSYM (cloog_program_dump_cloog); \ -+ DYNSYM (cloog_program_extract_scalars); \ -+ DYNSYM (cloog_program_free); \ -+ DYNSYM (cloog_program_generate); \ -+ DYNSYM (cloog_program_malloc); \ -+ DYNSYM (cloog_program_print); \ -+ DYNSYM (cloog_program_scatter); \ -+ DYNSYM (cloog_statement_alloc); \ -+ DYNSYM (cloog_domain_union); \ -+ DYNSYM (cloog_matrix_read); \ -+ DYNSYM (cloog_new_pol); \ -+ DYNSYM (cloog_vector_gcd); \ -+ DYNSYM (ppl_finalize); \ -+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_Coefficient_to_mpz_t); \ -+ DYNSYM (ppl_Constraint_coefficient); \ -+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ -+ DYNSYM (ppl_Constraint_space_dimension); \ -+ DYNSYM (ppl_Constraint_System_begin); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ -+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ -+ DYNSYM (ppl_Constraint_System_end); \ -+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ -+ DYNSYM (ppl_Constraint_System_space_dimension); \ -+ DYNSYM (ppl_Constraint_type); \ -+ DYNSYM (ppl_delete_Coefficient); \ -+ DYNSYM (ppl_delete_Constraint); \ -+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_delete_Linear_Expression); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_delete_Polyhedron); \ -+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ -+ DYNSYM (ppl_Linear_Expression_coefficient); \ -+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ -+ DYNSYM (ppl_Linear_Expression_space_dimension); \ -+ DYNSYM (ppl_new_Coefficient); \ -+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ -+ DYNSYM (ppl_new_Constraint); \ -+ DYNSYM (ppl_new_Constraint_System); \ -+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ -+ DYNSYM (ppl_new_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ -+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ -+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ -+ DYNSYM (ppl_Polyhedron_add_constraint); \ -+ DYNSYM (ppl_Polyhedron_add_constraints); \ -+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ -+ DYNSYM (ppl_Polyhedron_get_constraints); \ -+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ -+ DYNSYM (ppl_Polyhedron_space_dimension); \ -+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ -+ DYNSYM (pprint); \ -+ DYNSYM (stmt_block); \ -+ DYNSYM (stmt_for); \ -+ DYNSYM (stmt_guard); \ -+ DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); \ -+ DYNSYM (stmt_ass); \ -+ DYNSYM (ppl_delete_Constraint_System); \ -+ DYNSYM (ppl_initialize); \ -+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ -+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ -+ DYNSYM (ppl_Polyhedron_affine_image); \ -+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ -+ DYNSYMS_PPL11 -+extern struct cloog_pointers_s__ -+{ -+ bool inited; -+ void *h; -+#define DYNSYM(x) __typeof (x) *p_##x -+ DYNSYMS -+#undef DYNSYM -+} cloog_pointers__; -+ -+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) -+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) -+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) -+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) -+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) -+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) -+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) -+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) -+#ifndef CLOOG_ORG -+#undef cloog_loop_malloc -+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () -+#else -+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) -+#endif -+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) -+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) -+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) -+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) -+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) -+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) -+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) -+#ifndef CLOOG_ORG -+#undef cloog_options_malloc -+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () -+#undef cloog_program_dump_cloog -+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ -+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) -+#undef cloog_program_extract_scalars -+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) -+#else -+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) -+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) -+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) -+#endif -+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) -+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) -+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) -+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) -+#ifndef CLOOG_ORG -+#undef cloog_program_scatter -+#define cloog_program_scatter(PROG, SCATT, OPT) \ -+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) -+#undef cloog_statement_alloc -+#define cloog_statement_alloc(STATE, INDEX) \ -+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) -+#else -+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) -+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) -+#endif -+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) -+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) -+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) -+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) -+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) -+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) -+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) -+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) -+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) -+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) -+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) -+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) -+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) -+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) -+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) -+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) -+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) -+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) -+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) -+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) -+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) -+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) -+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) -+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) -+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) -+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) -+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) -+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) -+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) -+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) -+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) -+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) -+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) -+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) -+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) -+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) -+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) -+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) -+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) -+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) -+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) -+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) -+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) -+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) -+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) -+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) -+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) -+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) -+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) -+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) -+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) -+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) -+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) -+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) -+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) -+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) -+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) -+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) -+#define pprint (*cloog_pointers__.p_pprint) -+#define stmt_block (*cloog_pointers__.p_stmt_block) -+#define stmt_for (*cloog_pointers__.p_stmt_for) -+#define stmt_guard (*cloog_pointers__.p_stmt_guard) -+#define stmt_root (*cloog_pointers__.p_stmt_root) -+#define stmt_user (*cloog_pointers__.p_stmt_user) -+#define stmt_ass (*cloog_pointers__.p_stmt_ass) -+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) -+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) -+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) -+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) -+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) -+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) -+#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11) -+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) -+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) -+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) -+#endif -+ -+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) -+ -+ - #endif /* GRAPHITE_CLOOG_COMPAT_H */ ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see - #ifndef GCC_GRAPHITE_POLY_H - #define GCC_GRAPHITE_POLY_H - -+#include "graphite-cloog-util.h" -+ - typedef struct poly_dr *poly_dr_p; - DEF_VEC_P(poly_dr_p); - DEF_VEC_ALLOC_P (poly_dr_p, heap); ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see - - CloogState *cloog_state; - -+__typeof (cloog_pointers__) cloog_pointers__; -+ -+static bool -+init_cloog_pointers (void) -+{ -+ void *h; -+ -+ if (cloog_pointers__.inited) -+ return cloog_pointers__.h != NULL; -+ h = dlopen ("libcloog.so.0", RTLD_LAZY); -+ cloog_pointers__.h = h; -+ if (h == NULL) -+ return false; -+#define DYNSYM(x) \ -+ do \ -+ { \ -+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ -+ u.q = dlsym (h, #x); \ -+ if (u.q == NULL) \ -+ return false; \ -+ cloog_pointers__.p_##x = u.p; \ -+ } \ -+ while (0) -+ DYNSYMS -+#undef DYNSYM -+ return true; -+} -+ -+ - /* Print global statistics to FILE. */ - - static void -@@ -201,6 +230,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } -+ - scev_reset (); - recompute_all_dominators (); - initialize_original_copy_tables (); diff --git a/4.7.4/gentoo/README.history b/4.7.4/gentoo/README.history index 02888bd..1825f89 100644 --- a/4.7.4/gentoo/README.history +++ b/4.7.4/gentoo/README.history @@ -1,4 +1,5 @@ 1.3 [pending] + - 74_all_gcc46_cloog-dl.patch - 90_all_gcc-4.7-x32.patch 1.2 29 Sep 2014 |