Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 406571 | Differences between
and this patch

Collapse All | Expand All

(-)a/gcc/Makefile.in (-15 / +22 lines)
Lines 984-989 Link Here
984
PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
984
PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
985
PLUGIN_VERSION_H = plugin-version.h configargs.h
985
PLUGIN_VERSION_H = plugin-version.h configargs.h
986
LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
986
LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
987
GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
988
GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
987
989
988
#
990
#
989
# Now figure out from those variables how to compile and link.
991
# Now figure out from those variables how to compile and link.
Lines 1037-1043 Link Here
1037
# and the system's installed libraries.
1039
# and the system's installed libraries.
1038
LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
1040
LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
1039
	$(HOST_LIBS)
1041
	$(HOST_LIBS)
1040
BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
1042
BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
1041
	$(ZLIB)
1043
	$(ZLIB)
1042
# Any system libraries needed just for GNAT.
1044
# Any system libraries needed just for GNAT.
1043
SYSLIBS = @GNAT_LIBEXC@
1045
SYSLIBS = @GNAT_LIBEXC@
Lines 2668-2707 Link Here
2668
   $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
2670
   $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
2669
graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
2671
graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
2670
   $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
2672
   $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
2671
   $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
2673
   $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
2672
   graphite-clast-to-gimple.h graphite-sese-to-poly.h
2674
   graphite-clast-to-gimple.h graphite-sese-to-poly.h
2673
graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
2675
graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
2674
   coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
2676
   coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
2675
   sese.h graphite-ppl.h graphite-poly.h
2677
   sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
2676
graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
2678
graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
2677
   $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
2679
   $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
2678
   $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
2680
   $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
2679
   graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
2681
   graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
2680
   graphite-dependences.h graphite-cloog-compat.h
2682
   graphite-dependences.h graphite-cloog-compat.h
2681
graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
2683
graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
2682
   coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
2684
   coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
2683
graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
2685
graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
2684
   coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
2686
   coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
2685
   sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
2687
   sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
2686
   graphite-cloog-util.h
2688
   $(GRAPHITE_CLOOG_UTIL_H)
2687
graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H)	\
2689
graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H)	\
2688
   coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
2690
   coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
2689
   sese.h graphite-ppl.h graphite-poly.h
2691
   sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
2690
graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
2692
graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
2691
   coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
2693
   coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
2692
   sese.h graphite-ppl.h graphite-poly.h
2694
   sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
2693
graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
2695
graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
2694
   $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
2696
   $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
2695
   $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
2697
   $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
2696
   graphite-dependences.h graphite-cloog-util.h
2698
   graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
2697
graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
2699
graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
2698
   graphite-cloog-util.h graphite-ppl.h
2700
   $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
2699
graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
2701
graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
2700
   coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
2702
   coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
2701
   sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
2703
   sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
2702
graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
2704
graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
2703
   $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
2705
   $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
2704
   $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
2706
   $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
2705
   graphite-sese-to-poly.h
2707
   graphite-sese-to-poly.h
2706
tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
2708
tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
2707
   $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
2709
   $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
Lines 3483-3488 Link Here
3483
	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
3485
	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
3484
		$(out_file) $(OUTPUT_OPTION)
3486
		$(out_file) $(OUTPUT_OPTION)
3485
3487
3488
graphite%.o : \
3489
  ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
3490
graphite.o : \
3491
  ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
3492
3486
# Build auxiliary files that support ecoff format.
3493
# Build auxiliary files that support ecoff format.
3487
mips-tfile: mips-tfile.o version.o $(LIBDEPS)
3494
mips-tfile: mips-tfile.o version.o $(LIBDEPS)
3488
	$(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
3495
	$(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
(-)a/gcc/configure (-2 / +6 lines)
Lines 602-607 Link Here
602
LIBOBJS
602
LIBOBJS
603
enable_plugin
603
enable_plugin
604
pluginlibs
604
pluginlibs
605
DL_LIB
605
CLOOGINC
606
CLOOGINC
606
CLOOGLIBS
607
CLOOGLIBS
607
PPLINC
608
PPLINC
Lines 17495-17501 Link Here
17495
  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
17496
  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
17496
  lt_status=$lt_dlunknown
17497
  lt_status=$lt_dlunknown
17497
  cat > conftest.$ac_ext <<_LT_EOF
17498
  cat > conftest.$ac_ext <<_LT_EOF
17498
#line 17498 "configure"
17499
#line 17499 "configure"
17499
#include "confdefs.h"
17500
#include "confdefs.h"
17500
17501
17501
#if HAVE_DLFCN_H
17502
#if HAVE_DLFCN_H
Lines 17601-17607 Link Here
17601
  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
17602
  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
17602
  lt_status=$lt_dlunknown
17603
  lt_status=$lt_dlunknown
17603
  cat > conftest.$ac_ext <<_LT_EOF
17604
  cat > conftest.$ac_ext <<_LT_EOF
17604
#line 17604 "configure"
17605
#line 17605 "configure"
17605
#include "confdefs.h"
17606
#include "confdefs.h"
17606
17607
17607
#if HAVE_DLFCN_H
17608
#if HAVE_DLFCN_H
Lines 26282-26287 Link Here
26282
  fi
26283
  fi
26283
26284
26284
  # Check -ldl
26285
  # Check -ldl
26286
  DL_LIB=
26285
  saved_LIBS="$LIBS"
26287
  saved_LIBS="$LIBS"
26286
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
26288
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
26287
$as_echo_n "checking for library containing dlopen... " >&6; }
26289
$as_echo_n "checking for library containing dlopen... " >&6; }
Lines 26341-26347 Link Here
26341
26343
26342
  if test x"$ac_cv_search_dlopen" = x"-ldl"; then
26344
  if test x"$ac_cv_search_dlopen" = x"-ldl"; then
26343
    pluginlibs="$pluginlibs -ldl"
26345
    pluginlibs="$pluginlibs -ldl"
26346
       DL_LIB=$ac_cv_search_dlopen
26344
  fi
26347
  fi
26348
26345
  LIBS="$saved_LIBS"
26349
  LIBS="$saved_LIBS"
26346
26350
26347
  # Check that we can build shared objects with -fPIC -shared
26351
  # Check that we can build shared objects with -fPIC -shared
(-)a/gcc/configure.ac (+3 lines)
Lines 4839-4849 Link Here
4839
  fi
4839
  fi
4840
4840
4841
  # Check -ldl
4841
  # Check -ldl
4842
  DL_LIB=
4842
  saved_LIBS="$LIBS"
4843
  saved_LIBS="$LIBS"
4843
  AC_SEARCH_LIBS([dlopen], [dl])
4844
  AC_SEARCH_LIBS([dlopen], [dl])
4844
  if test x"$ac_cv_search_dlopen" = x"-ldl"; then
4845
  if test x"$ac_cv_search_dlopen" = x"-ldl"; then
4845
    pluginlibs="$pluginlibs -ldl"
4846
    pluginlibs="$pluginlibs -ldl"
4847
       DL_LIB=$ac_cv_search_dlopen
4846
  fi
4848
  fi
4849
  AC_SUBST(DL_LIB)
4847
  LIBS="$saved_LIBS"
4850
  LIBS="$saved_LIBS"
4848
4851
4849
  # Check that we can build shared objects with -fPIC -shared
4852
  # Check that we can build shared objects with -fPIC -shared
(-)a/gcc/graphite-cloog-compat.h (+265 lines)
Lines 272-275 Link Here
272
   return m->NbRows;
272
   return m->NbRows;
273
}
273
}
274
#endif /* CLOOG_ORG  */
274
#endif /* CLOOG_ORG  */
275
276
#include <dlfcn.h>
277
#define DYNSYMS \
278
  DYNSYM (cloog_block_alloc); \
279
  DYNSYM (cloog_block_list_free); \
280
  DYNSYM (cloog_block_list_malloc); \
281
  DYNSYM (cloog_clast_create); \
282
  DYNSYM (cloog_clast_free); \
283
  DYNSYM (cloog_domain_free); \
284
  DYNSYM (cloog_domain_matrix2domain); \
285
  DYNSYM (cloog_initialize); \
286
  DYNSYM (cloog_loop_malloc); \
287
  DYNSYM (cloog_matrix_alloc); \
288
  DYNSYM (cloog_matrix_copy); \
289
  DYNSYM (cloog_matrix_free); \
290
  DYNSYM (cloog_matrix_print); \
291
  DYNSYM (cloog_names_malloc); \
292
  DYNSYM (cloog_names_scalarize); \
293
  DYNSYM (cloog_options_free); \
294
  DYNSYM (cloog_options_malloc); \
295
  DYNSYM (cloog_program_dump_cloog); \
296
  DYNSYM (cloog_program_extract_scalars); \
297
  DYNSYM (cloog_program_free); \
298
  DYNSYM (cloog_program_generate); \
299
  DYNSYM (cloog_program_malloc); \
300
  DYNSYM (cloog_program_print); \
301
  DYNSYM (cloog_program_scatter); \
302
  DYNSYM (cloog_statement_alloc); \
303
  DYNSYM (cloog_domain_union); \
304
  DYNSYM (cloog_matrix_read); \
305
  DYNSYM (cloog_new_pol); \
306
  DYNSYM (cloog_vector_gcd); \
307
  DYNSYM (ppl_finalize); \
308
  DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
309
  DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
310
  DYNSYM (ppl_Coefficient_to_mpz_t); \
311
  DYNSYM (ppl_Constraint_coefficient); \
312
  DYNSYM (ppl_Constraint_inhomogeneous_term); \
313
  DYNSYM (ppl_Constraint_space_dimension); \
314
  DYNSYM (ppl_Constraint_System_begin); \
315
  DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
316
  DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
317
  DYNSYM (ppl_Constraint_System_const_iterator_increment); \
318
  DYNSYM (ppl_Constraint_System_end); \
319
  DYNSYM (ppl_Constraint_System_insert_Constraint); \
320
  DYNSYM (ppl_Constraint_System_space_dimension); \
321
  DYNSYM (ppl_Constraint_type); \
322
  DYNSYM (ppl_delete_Coefficient); \
323
  DYNSYM (ppl_delete_Constraint); \
324
  DYNSYM (ppl_delete_Constraint_System_const_iterator); \
325
  DYNSYM (ppl_delete_Linear_Expression); \
326
  DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
327
  DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
328
  DYNSYM (ppl_delete_Polyhedron); \
329
  DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
330
  DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
331
  DYNSYM (ppl_Linear_Expression_coefficient); \
332
  DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
333
  DYNSYM (ppl_Linear_Expression_space_dimension); \
334
  DYNSYM (ppl_new_Coefficient); \
335
  DYNSYM (ppl_new_Coefficient_from_mpz_t); \
336
  DYNSYM (ppl_new_Constraint); \
337
  DYNSYM (ppl_new_Constraint_System); \
338
  DYNSYM (ppl_new_Constraint_System_const_iterator); \
339
  DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
340
  DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
341
  DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
342
  DYNSYM (ppl_new_Linear_Expression); \
343
  DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
344
  DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
345
  DYNSYM (ppl_new_Linear_Expression_with_dimension); \
346
  DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
347
  DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
348
  DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
349
  DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
350
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
351
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
352
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
353
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
354
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
355
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
356
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
357
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
358
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
359
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
360
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
361
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
362
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
363
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
364
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
365
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
366
  DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
367
  DYNSYM (ppl_Polyhedron_add_constraint); \
368
  DYNSYM (ppl_Polyhedron_add_constraints); \
369
  DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
370
  DYNSYM (ppl_Polyhedron_get_constraints); \
371
  DYNSYM (ppl_Polyhedron_map_space_dimensions); \
372
  DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
373
  DYNSYM (ppl_Polyhedron_space_dimension); \
374
  DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
375
  DYNSYM (pprint); \
376
  DYNSYM (stmt_block); \
377
  DYNSYM (stmt_for); \
378
  DYNSYM (stmt_guard); \
379
  DYNSYM (stmt_root); \
380
  DYNSYM (stmt_user); \
381
  DYNSYM (ppl_delete_Constraint_System); \
382
  DYNSYM (ppl_initialize); \
383
  DYNSYM (ppl_new_Constraint_System_from_Constraint); \
384
  DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
385
  DYNSYM (ppl_Polyhedron_affine_image); \
386
  DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
387
  DYNSYM (ppl_new_PIP_Problem_from_constraints); \
388
  DYNSYM (ppl_PIP_Problem_is_satisfiable); \
389
  DYNSYM (ppl_delete_PIP_Problem);
390
extern struct
391
{
392
  bool inited;
393
  void *h;
394
#define DYNSYM(x) __typeof (x) *p_##x
395
  DYNSYMS
396
#undef DYNSYM
397
} cloog_pointers__;
398
399
#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
400
#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
401
#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
402
#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
403
#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
404
#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
405
#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
406
#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
407
#ifndef CLOOG_ORG
408
#undef cloog_loop_malloc
409
#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
410
#else
411
#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
412
#endif
413
#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
414
#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
415
#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
416
#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
417
#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
418
#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
419
#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
420
#ifndef CLOOG_ORG
421
#undef cloog_options_malloc
422
#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
423
#undef cloog_program_dump_cloog
424
#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
425
  (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
426
#undef cloog_program_extract_scalars
427
#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
428
  (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
429
#else
430
#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
431
#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
432
#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
433
#endif
434
#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
435
#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
436
#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
437
#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
438
#ifndef CLOOG_ORG
439
#undef cloog_program_scatter
440
#define cloog_program_scatter(PROG, SCATT, OPT) \
441
  (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
442
#undef cloog_statement_alloc
443
#define cloog_statement_alloc(STATE, INDEX) \
444
  (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
445
#else
446
#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
447
#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
448
#endif
449
#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
450
#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
451
#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
452
#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
453
#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
454
#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
455
#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
456
#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
457
#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
458
#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
459
#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
460
#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
461
#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
462
#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
463
#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
464
#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
465
#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
466
#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
467
#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
468
#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
469
#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
470
#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
471
#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
472
#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
473
#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
474
#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
475
#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
476
#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
477
#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
478
#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
479
#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
480
#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
481
#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
482
#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
483
#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
484
#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
485
#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
486
#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
487
#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
488
#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
489
#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
490
#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
491
#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
492
#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
493
#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)
494
#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
495
#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
496
#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
497
#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
498
#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
499
#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
500
#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
501
#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
502
#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
503
#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
504
#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
505
#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
506
#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
507
#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
508
#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
509
#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
510
#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
511
#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
512
#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
513
#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
514
#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
515
#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
516
#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
517
#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
518
#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
519
#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
520
#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
521
#define pprint (*cloog_pointers__.p_pprint)
522
#define stmt_block (*cloog_pointers__.p_stmt_block)
523
#define stmt_for (*cloog_pointers__.p_stmt_for)
524
#define stmt_guard (*cloog_pointers__.p_stmt_guard)
525
#define stmt_root (*cloog_pointers__.p_stmt_root)
526
#define stmt_user (*cloog_pointers__.p_stmt_user)
527
#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
528
#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
529
#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
530
#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
531
#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
532
#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
533
#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
534
#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
535
#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
536
537
#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
538
539
275
#endif /* GRAPHITE_CLOOG_COMPAT_H  */
540
#endif /* GRAPHITE_CLOOG_COMPAT_H  */
(-)a/gcc/graphite-poly.h (+2 lines)
Lines 22-27 Link Here
22
#ifndef GCC_GRAPHITE_POLY_H
22
#ifndef GCC_GRAPHITE_POLY_H
23
#define GCC_GRAPHITE_POLY_H
23
#define GCC_GRAPHITE_POLY_H
24
24
25
#include "graphite-cloog-util.h"
26
25
typedef struct poly_dr *poly_dr_p;
27
typedef struct poly_dr *poly_dr_p;
26
DEF_VEC_P(poly_dr_p);
28
DEF_VEC_P(poly_dr_p);
27
DEF_VEC_ALLOC_P (poly_dr_p, heap);
29
DEF_VEC_ALLOC_P (poly_dr_p, heap);
(-)a/gcc/graphite.c (+35 lines)
Lines 56-61 Link Here
56
56
57
CloogState *cloog_state;
57
CloogState *cloog_state;
58
58
59
__typeof (cloog_pointers__) cloog_pointers__;
60
61
static bool
62
init_cloog_pointers (void)
63
{
64
  void *h;
65
66
  if (cloog_pointers__.inited)
67
    return cloog_pointers__.h != NULL;
68
  h = dlopen ("libcloog.so.0", RTLD_LAZY);
69
  cloog_pointers__.h = h;
70
  if (h == NULL)
71
    return false;
72
#define DYNSYM(x) \
73
  do \
74
    { \
75
      union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
76
      u.q = dlsym (h, #x); \
77
      if (u.q == NULL) \
78
	return false; \
79
      cloog_pointers__.p_##x = u.p; \
80
    } \
81
  while (0)
82
  DYNSYMS
83
#undef DYNSYM
84
  return true;
85
}
86
87
59
/* Print global statistics to FILE.  */
88
/* Print global statistics to FILE.  */
60
89
61
static void
90
static void
Lines 201-206 Link Here
201
      return false;
230
      return false;
202
    }
231
    }
203
232
233
  if (!init_cloog_pointers ())
234
    {
235
      sorry ("Graphite loop optimizations cannot be used");
236
      return false;
237
    }
238
204
  scev_reset ();
239
  scev_reset ();
205
  recompute_all_dominators ();
240
  recompute_all_dominators ();
206
  initialize_original_copy_tables ();
241
  initialize_original_copy_tables ();
(-)a/gcc/graphite-clast-to-gimple.c (-2 / +2 lines)
Lines 738-747 Link Here
738
   from STMT_FOR.  */
738
   from STMT_FOR.  */
739
739
740
static tree
740
static tree
741
gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level,
741
gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level,
742
			       tree lb_type, tree ub_type)
742
			       tree lb_type, tree ub_type)
743
{
743
{
744
  struct clast_stmt *stmt = (struct clast_stmt *) stmt_for;
744
  struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora;
745
  struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
745
  struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
746
  CloogStatement *cs = body->statement;
746
  CloogStatement *cs = body->statement;
747
  poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
747
  poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);

Return to bug 406571