Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 303993 Details for
Bug 406571
sys-devel/gcc-4.6.3: version bump
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
74_all_gcc46_cloog-dl.patch
74_all_gcc46_cloog-dl.patch (text/plain), 27.16 KB, created by
Andreas Sturmlechner
on 2012-03-02 15:06:47 UTC
(
hide
)
Description:
74_all_gcc46_cloog-dl.patch
Filename:
MIME Type:
Creator:
Andreas Sturmlechner
Created:
2012-03-02 15:06:47 UTC
Size:
27.16 KB
patch
obsolete
>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. > >2012-03-02 > > * ported to gcc-4.6.3 > > >--- a/gcc/Makefile.in 2011-08-20 09:51:09.000000000 +0200 >+++ b/gcc/Makefile.in 2012-03-02 00:15:01.193908120 +0100 >@@ -984,6 +984,8 @@ > 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 @@ > # 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 @@ > $(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 @@ > $(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 2012-03-01 23:46:35.178236251 +0100 >+++ b/gcc/configure 2012-03-02 00:20:36.991710070 +0100 >@@ -602,6 +602,7 @@ > LIBOBJS > enable_plugin > pluginlibs >+DL_LIB > CLOOGINC > CLOOGLIBS > PPLINC >@@ -17495,7 +17496,7 @@ > lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 > lt_status=$lt_dlunknown > cat > conftest.$ac_ext <<_LT_EOF >-#line 17498 "configure" >+#line 17499 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H >@@ -17601,7 +17602,7 @@ > lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 > lt_status=$lt_dlunknown > cat > conftest.$ac_ext <<_LT_EOF >-#line 17604 "configure" >+#line 17605 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H >@@ -26282,6 +26283,7 @@ > 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 @@ > > 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 2012-03-01 23:46:35.179236239 +0100 >+++ b/gcc/configure.ac 2012-03-02 00:22:54.920985716 +0100 >@@ -4839,11 +4839,14 @@ > 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-cloog-compat.h 2011-03-14 09:18:52.000000000 +0100 >+++ b/gcc/graphite-cloog-compat.h 2012-03-02 00:31:54.414241124 +0100 >@@ -272,4 +272,269 @@ > 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 2011-01-25 07:46:56.000000000 +0100 >+++ b/gcc/graphite-poly.h 2012-03-02 00:34:04.023620780 +0100 >@@ -22,6 +22,8 @@ > #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 2011-03-12 23:05:38.000000000 +0100 >+++ b/gcc/graphite.c 2012-03-02 00:38:16.703461849 +0100 >@@ -56,6 +56,35 @@ > > 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 @@ > return false; > } > >+ if (!init_cloog_pointers ()) >+ { >+ sorry ("Graphite loop optimizations cannot be used"); >+ return false; >+ } >+ > scev_reset (); > recompute_all_dominators (); > initialize_original_copy_tables (); >--- a/gcc/graphite-clast-to-gimple.c 2011-03-12 23:05:38.000000000 +0100 >+++ b/gcc/graphite-clast-to-gimple.c 2012-03-02 00:45:30.495038708 +0100 >@@ -738,10 +738,10 @@ > 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);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 406571
: 303993 |
303995
|
304211
|
305513