gcc.git
13 years agodr1189.cc: Move to...
Paolo Carlini [Fri, 13 Aug 2010 13:08:09 +0000 (13:08 +0000)]
dr1189.cc: Move to...

2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/unordered_map/dr1189.cc: Move to...
* testsuite/23_containers/unordered_map/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_set/dr1189.cc: Move to...
* testsuite/23_containers/unordered_set/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_multimap/dr1189.cc: Move to...
* testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_multiset/dr1189.cc: Move to...
* testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc:
... here.

* testsuite/23_containers/unordered_set/hash_policy/26132.cc: New.

From-SVN: r163224

13 years agoios_init.cc (ios_base::Init::~Init): Add back semicolon at the end of the _GLIBCXX_SY...
Paolo Carlini [Fri, 13 Aug 2010 11:48:34 +0000 (11:48 +0000)]
ios_init.cc (ios_base::Init::~Init): Add back semicolon at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros...

2010-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

* src/ios_init.cc (ios_base::Init::~Init): Add back semicolon
at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros,
removed by mistake.
* include/tr1_impl/boost_sp_counted_base.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/bits/locale_classes.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/ios_base.h: Likewise.
* include/bits/c++config: Adjust comment.

From-SVN: r163223

13 years agoargv.c (expandargv): Limit the number of times that response files are opened in...
Nick Clifton [Fri, 13 Aug 2010 11:36:38 +0000 (11:36 +0000)]
argv.c (expandargv): Limit the number of times that response files are opened in order to prevent...

        * argv.c (expandargv): Limit the number of times that response
        files are opened in order to prevent infinite recursion.

From-SVN: r163222

13 years agogfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.
Daniel Kraft [Fri, 13 Aug 2010 07:26:05 +0000 (09:26 +0200)]
gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.

2010-08-13  Daniel Kraft  <d@domob.eu>

* gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.
* array.c (gfc_match_array_spec): Match implied-shape specification and
handle AS_IMPLIED_SHAPE correctly otherwise.
* decl.c (add_init_expr_to_sym): Set upper bounds for implied-shape.
(variable_decl): Some checks for implied-shape declaration.
* resolve.c (resolve_symbol): Assert that array-spec is no longer
AS_IMPLIED_SHAPE in any case.

2010-08-13  Daniel Kraft  <d@domob.eu>

* gfortran.dg/implied_shape_1.f08: New test.
* gfortran.dg/implied_shape_2.f90: New test.
* gfortran.dg/implied_shape_3.f08: New test.

From-SVN: r163221

13 years agore PR fortran/42526 (bogus truncation warning for default-initialized character compo...
Jerry DeLisle [Fri, 13 Aug 2010 05:14:18 +0000 (05:14 +0000)]
re PR fortran/42526 (bogus truncation warning for default-initialized character components)

2010-08-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/42526
* gfortran.dg/char_component_initializer_1.f90: New test.

From-SVN: r163220

13 years agoarm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
Jie Zhang [Fri, 13 Aug 2010 01:43:43 +0000 (01:43 +0000)]
arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.

* config/arm/arm.md (cstoredf4): Only valid when
!TARGET_VFP_SINGLE.

From-SVN: r163219

13 years agoDaily bump.
GCC Administrator [Fri, 13 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r163218

13 years agoc++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE, [...]): Add.
Kostya Serebryany [Thu, 12 Aug 2010 22:56:59 +0000 (22:56 +0000)]
c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE, [...]): Add.

2010-08-12  Kostya Serebryany <kcc@google.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE,
_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER): Add.
* src/ios_init.cc (ios_base::Init::~Init): Decorate with the
latter.
* include/tr1_impl/boost_sp_counted_base.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/bits/locale_classes.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/ios_base.h: Likewise.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
line number.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* testsuite/ext/profile/mutex_extensions.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r163210

13 years agogcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and -MMD.
Joseph Myers [Thu, 12 Aug 2010 22:52:49 +0000 (23:52 +0100)]
gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and -MMD.

* gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
-MMD.

c-family:
* c.opt (MD, MMD): Change to MDX and MMDX.
* c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.

fortran:
* lang.opt (MD, MMD): Change to MDX and MMDX.
* cpp.c (gfc_cpp_handle_option): Use OPT_MMD and OPT_MMDX.

From-SVN: r163209

13 years agopr45241 give up dot_prod pattern searching if stmt is outside the loop.
Changpeng Fang [Thu, 12 Aug 2010 22:18:32 +0000 (22:18 +0000)]
pr45241 give up dot_prod pattern searching if stmt is outside the loop.

* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
up dot_prod pattern searching if a stmt is outside the loop.

* gcc.dg/vect/no-tree-pre-pr45241.c: New.

From-SVN: r163207

13 years ago* gnu/java/security/jce/prng/natVMSecureRandomWin32.cc
Tom Tromey [Thu, 12 Aug 2010 18:23:32 +0000 (18:23 +0000)]
* gnu/java/security/jce/prng/natVMSecureRandomWin32.cc
(natGenerateSeed): Add missing "::".

From-SVN: r163199

13 years agopr40906-1.c: Add -fno-asynchronous-unwind-tables to dg-options.
Uros Bizjak [Thu, 12 Aug 2010 18:20:44 +0000 (20:20 +0200)]
pr40906-1.c: Add -fno-asynchronous-unwind-tables to dg-options.

* gcc.target/i386/pr40906-1.c: Add -fno-asynchronous-unwind-tables
to dg-options.
* gcc.target/i386/pr40906-2.c: Ditto.
* gcc.target/i386/pr40906-3.c: Ditto.

From-SVN: r163198

13 years agoTurn on -fomit-frame-pointer by default for 32bit Linux/x86.
H.J. Lu [Thu, 12 Aug 2010 16:39:37 +0000 (16:39 +0000)]
Turn on -fomit-frame-pointer by default for 32bit Linux/x86.

2010-08-12  H.J. Lu  <hongjiu.lu@intel.com>
    Uros Bizjak  <ubizjak@gmail.com>

* config.gcc: Handle --enable-frame-pointer.

* configure.ac: Add --enable-frame-pointer.
* configure: Regenerated.

* config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
(override_options): If not configured with --enable-frame-pointer,
enable -fomit-frame-pointer (but not for TARGET_MACHO or when
optimizing for size), -fasynchronous-unwind-tables and
-maccumulate-outgoing-args by default.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r163196

13 years agore PR middle-end/45262 (Optimization results in wrong result on expression x>>31...
Jakub Jelinek [Thu, 12 Aug 2010 15:21:34 +0000 (17:21 +0200)]
re PR middle-end/45262 (Optimization results in wrong result on expression x>>31||(-x)>>31)

PR middle-end/45262
* fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
-a overflows.  Normalize the range.

* gcc.c-torture/execute/pr45262.c: New test.

From-SVN: r163193

13 years agobuiltins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
Jakub Jelinek [Thu, 12 Aug 2010 14:32:25 +0000 (16:32 +0200)]
builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.

* builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare
warning.

From-SVN: r163192

13 years agoprofile-generate-3.c: Call dg-require-profiling with empty argument.
Uros Bizjak [Thu, 12 Aug 2010 10:42:59 +0000 (12:42 +0200)]
profile-generate-3.c: Call dg-require-profiling with empty argument.

* gcc.dg/profile-generate-3.c: Call dg-require-profiling with
empty argument.
* g++.dg/other/profile1.C: Ditto.

From-SVN: r163191

13 years agore PR tree-optimization/45232 (tree reassociation introduces undefined overflow)
Richard Guenther [Thu, 12 Aug 2010 10:38:05 +0000 (10:38 +0000)]
re PR tree-optimization/45232 (tree reassociation introduces undefined overflow)

2010-08-12  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45232
* tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
for types with undefined overflow.
(reassociate_bb): Allow re-associating of bit and min/max
operations for types with undefined overflow.
* tree-ssa-forwprop.c (associate_plusminus): New function.
(tree_ssa_forward_propagate_single_use_vars): Call it.

* gcc.dg/tree-ssa/pr44133.c: Adjust warning location.
* gcc.dg/tree-ssa/loop-7.c: Adjust.
* gcc.dg/tree-ssa/reassoc-1.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-20.c: Add reassoc-1.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-14.c: Use unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-15.c: Likewise.
* gcc.dg/tree-ssa/reassoc-18.c: Likewise.
* gcc.dg/tree-ssa/reassoc-2.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-21.c: Add reassoc-2.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-6.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-22.c: Add reassoc-6.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-7.c: Use unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-9.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-23.c: Add reassoc-9.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/ssa-pre-2.c: Adjust.
* gcc.dg/tree-ssa/negate.c: Adjust.
* gcc.dg/vect/vect-1.c: Adjust.
* gfortran.dg/reassoc_6.f: XFAIL.

From-SVN: r163190

13 years agotree-flow.h (struct ptr_info_def): Add align and misalign fields.
Richard Guenther [Thu, 12 Aug 2010 10:36:08 +0000 (10:36 +0000)]
tree-flow.h (struct ptr_info_def): Add align and misalign fields.

2010-08-12  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (struct ptr_info_def): Add align and misalign fields.
* tree-ssa-alias.c (get_ptr_info): Move ...
* tree-ssanames.c (get_ptr_info): ... here.  Initialize
align and misalign fields conservatively.
* tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
derive alignment information.
(evaluate_stmt): Derive alignment information from memory
allocation functions.
* tree.h (get_pointer_alignment): Make unsigned.
* builtins.c (get_object_alignment): Use alignment information we
have computed for pointers.
(get_pointer_alignment): Likewise.  Make conservative, return
and unsigned value.
(expand_builtin_strlen): Adjust.
(expand_builtin_memcmp): Likewise.
(expand_builtin_strcmp): Likewise.
(expand_builtin_strncmp): Likewise.
(get_builtin_sync_mem): Use at least mode alignment.
(fold_builtin_memset): Adjust.
(fold_builtin_memory_op): Likewise.
* gimple-pretty-print.c (dump_gimple_phi): Alongside alias
information also dump pointer alignment knowledge.
(dump_gimple_stmt): Likewise.

From-SVN: r163189

13 years agoi386.c (LONG_TYPE_SIZE): Remove.
Uros Bizjak [Thu, 12 Aug 2010 10:12:32 +0000 (12:12 +0200)]
i386.c (LONG_TYPE_SIZE): Remove.

* config/i386/i386.c (LONG_TYPE_SIZE): Remove.
(EMPTY_FIELD_BOUNDARY): Remove.
* config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove.

From-SVN: r163188

13 years agore PR debug/45259 (ICE in save_call_clobbered_regs)
Jakub Jelinek [Thu, 12 Aug 2010 09:04:48 +0000 (11:04 +0200)]
re PR debug/45259 (ICE in save_call_clobbered_regs)

PR debug/45259
* caller-save.c (save_call_clobbered_regs): Only swap notes with
DEBUG_INSNs if n_regs_saved.

* gcc.dg/pr45259.c: New test.

From-SVN: r163185

13 years agoarm.md (andsi3): Change to zero extension if possible.
Wei Guozhi [Thu, 12 Aug 2010 02:03:59 +0000 (02:03 +0000)]
arm.md (andsi3): Change to zero extension if possible.

* config/arm/arm.md (andsi3): Change to zero extension if possible.

* config/arm/thumb2.md (thumb2_zero_extendqisi2_v6): Change the name.

* gcc.target/arm/pr44999.c: New testcase.

From-SVN: r163184

13 years agoDaily bump.
GCC Administrator [Thu, 12 Aug 2010 00:18:50 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r163182

13 years agohashtable.h (_Hashtable<>::erase(const key_type&)): Use std::__addressof.
Paolo Carlini [Wed, 11 Aug 2010 23:59:35 +0000 (23:59 +0000)]
hashtable.h (_Hashtable<>::erase(const key_type&)): Use std::__addressof.

2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/hashtable.h (_Hashtable<>::erase(const key_type&)):
Use std::__addressof.

* include/bits/forward_list.tcc (forward_list<>::remove): Deal
correctly with &__tmp->_M_value == &__val.
* testsuite/23_containers/forward_list/operations/remove_freed.cc:
New.

From-SVN: r163178

13 years agointerchange-9.c (M): Define to be 111.
Jie Zhang [Wed, 11 Aug 2010 23:38:53 +0000 (23:38 +0000)]
interchange-9.c (M): Define to be 111.

* gcc.dg/graphite/interchange-9.c (M): Define to be 111.
(N): Likewise.
(main): Adjust accordingly.

From-SVN: r163177

13 years agoira-int.h (ira_remove_allocno_copy_from_list): Remove.
Vladimir Makarov [Wed, 11 Aug 2010 22:09:53 +0000 (22:09 +0000)]
ira-int.h (ira_remove_allocno_copy_from_list): Remove.

2010-08-11  Vladimir Makarov  <vmakarov@redhat.com>

* ira-int.h (ira_remove_allocno_copy_from_list): Remove.

* ira-build.c (ira_remove_allocno_copy_from_list): Remove.

From-SVN: r163175

13 years agoFix Changelog entries.
Sebastian Pop [Wed, 11 Aug 2010 20:31:32 +0000 (20:31 +0000)]
Fix Changelog entries.

From-SVN: r163170

13 years agoFix miscompile of 416.gamess.
Sebastian Pop [Wed, 11 Aug 2010 20:31:24 +0000 (20:31 +0000)]
Fix miscompile of 416.gamess.

2010-07-29  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
the case removed in the previous patch, when the only phi argument
is defined in the same loop as the phi node itself.  Handle it
separately from the invariant case by both propagating it outside
the region and replacing the phi node with an assign.

From-SVN: r163169

13 years agoFix gamess: the only constant phi nodes with one argument are is_gimple_min_invariant...
Sebastian Pop [Wed, 11 Aug 2010 20:31:14 +0000 (20:31 +0000)]
Fix gamess: the only constant phi nodes with one argument are is_gimple_min_invariant and SSA_NAME_IS_DEFAULT_DEF.

2010-07-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
constant phi nodes with one argument are is_gimple_min_invariant
and SSA_NAME_IS_DEFAULT_DEF.

* gfortran.dg/graphite/id-22.f: New.

From-SVN: r163168

13 years agoFix typos.
Sebastian Pop [Wed, 11 Aug 2010 20:31:04 +0000 (20:31 +0000)]
Fix typos.

From-SVN: r163167

13 years agoRemove cloog_initialize and cloog_finalize when using official CLooG releases.
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:56 +0000 (20:30 +0000)]
Remove cloog_initialize and cloog_finalize when using official CLooG releases.

This requires to initialize the Parma Polyhedra Library by graphite,
as newer CLooG versions are not bound to a PPL backend.

2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* graphite.c (graphite_initialize): Do not initialize
CLooG and initialize the Parma Polyhedra Library
manually when using CLOOG_ORG.
(graphite_finalize): Do not finalize CLooG and finalize
the Parma Polyhedra Library manually when using CLOOG_ORG.
* graphite-cloog-compat.h (cloog_initialize): Hide function
when using CLOOG_ORG.
(cloog_finalize): Same.

From-SVN: r163166

13 years agoAdapt to new CloogScattering abstraction, introduced in official CLooG versions ...
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:49 +0000 (20:30 +0000)]
Adapt to new CloogScattering abstraction, introduced in official CLooG versions (CLOOG_ORG).

2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* graphite-clast-to-gimple.c (free_scattering): Change
CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering
(CLOOG_ORG).
(build_cloog_prog): Same.
* graphite-cloog-compat.h (cloog_domain): Removed.
(cloog_scattering): New.
(cloog_set_domain): Removed.
(cloog_set_scattering): New.
(cloog_next_domain): Removed.
(cloog_next_scattering): New.
(cloog_set_next_domain): Removed.
(cloog_set_next_scattering): New.
(CloogScatteringList): New.
(CloogScattering): New.
(cloog_scattering_free): New.
(new_Cloog_Scattering_from_ppl_Polyhedron): New.
* graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron):
New.

From-SVN: r163165

13 years agoIntroduce compatibility to newer CLooG's CloogState and mask the use with macros...
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:41 +0000 (20:30 +0000)]
Introduce compatibility to newer CLooG's CloogState and mask the use with macros where possible.

2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* graphite-clast-to-gimple.c (build_cloog_prog): Extend with
CloogState.
(set_cloog_options): Same.
(print_clast_stmt): Same.
(scop_to_clast): Same.
(print_generated_program): Same.
(gloog): Same.
* graphite-clast-to-gimple.h: Include graphite-cloog-util.h.
(scop_to_clast): Extend with CloogState.
* graphite-cloog-util.c: Include graphite-cloog-compat.h
(new_Cloog_Domain_from_ppl_Polyhedron):
Extend with CloogState.  Use cloog_domain_from_cloog_matrix (CLOOG_ORG).
(new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState.
(new_Cloog_Domain_from_ppl_Polyhedron): Same.
* graphite-cloog-util.h (build_cloog_prog): Same.
* graphite-cloog-copat.h (build_cloog_prog): New.
(CloogState): New.
(cloog_state_malloc): New.
(cloog_state_free): New.
(cloog_loop_malloc): New.
(cloog_options_malloc): New.
(cloog_statement_alloc): New.
(cloog_domain_from_cloog_matrix): New.
(new_Cloog_Domain_from_ppl_Pointset_Powerset): New.
(new_Cloog_Domain_from_ppl_Polyhedron): New.

From-SVN: r163164

13 years agoAdapt to new CLAST structure within upstream CLooG version and retain compatibility...
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:34 +0000 (20:30 +0000)]
Adapt to new CLAST structure within upstream CLooG version and retain compatibility to CLooG Legacy.

2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter
type of NAME now depends on used CLooG version.
(clast_to_gcc_expression): Replace expr_* with clast_expr_*.
(gcc_type_for_clast_expr): Same.
(print_clast_stmt): Replace pprint with clast_pprint.
* graphite-cloog-compat.h: Provide compatibility macros for
CLooG Legacy.
(clast_name_p): New.
(clast_expr_term): New.
(clast_expr_red): New.
(clast_expr_bin): New.
(clast_pprint): New.

From-SVN: r163163

13 years agoMake CLooG options compatible to newer CLooG releases and pass options to build_cloog...
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:26 +0000 (20:30 +0000)]
Make CLooG options compatible to newer CLooG releases and pass options to build_cloog_prog (CLOOG_ORG).

2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
compatible to newer CLooG releases (CLOOG_ORG).
(build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
(scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG).
* graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy.
(build_cloog_prog) : New.
(cloog_program_extract_scalars): New.
(cloog_program_scatter): New.

From-SVN: r163162

13 years agoReintroduce necessary CLooG accessors to graphite. Masked by CLOOG_ORG.
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:18 +0000 (20:30 +0000)]
Reintroduce necessary CLooG accessors to graphite. Masked by CLOOG_ORG.

2010-07-27  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* graphite-clast-to-gimple.c: Include graphite-cloog-compat.h
conditionally (CLOOG_ORG).
* graphite-cloog-compat.h: New.  Include graphite-cloog-compat.h.
(cloog_statement_usr): New.
(cloog_domain): Same.
(cloog_set_domain): Same.
(cloog_next_domain): Same.
(cloog_set_next_domain): Same.
(cloog_program_nb_scattdims): Same.
(cloog_program_set_nb_scattdims): Same.
(cloog_program_names): Same.
(cloog_program_set_names): Same.
(cloog_program_set_context): Same.
(cloog_program_set_loop): Same.
(cloog_program_blocklist): Same.
(cloog_program_set_blocklist): Same.
(cloog_program_scaldims): Same.
(cloog_program_set_scaldims): Same.
(cloog_names_nb_parameters): Same.
(cloog_names_set_nb_parameters): Same.
(cloog_names_parameters): Same.
(cloog_names_set_parameters): Same.
(cloog_names_set_nb_iterators): Same.
(cloog_names_set_iterators): Same.
(cloog_names_set_nb_scattering): Same.
(cloog_names_set_scattering): Same.
(cloog_statement_set_usr): Same.
(cloog_loop_set_next): Same.
(cloog_loop_set_domain): Same.
(cloog_loop_set_block): Same.
(cloog_block_list_next): Same.
(cloog_block_list_set_next):
(cloog_block_list_set_block): Same.

From-SVN: r163161

13 years agoCall scev_reset_htab when Graphite out-of-SSA has changed something.
Sebastian Pop [Wed, 11 Aug 2010 20:30:09 +0000 (20:30 +0000)]
Call scev_reset_htab when Graphite out-of-SSA has changed something.

2010-07-27  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Returns
a bool.
(rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
(rewrite_commutative_reductions_out_of_ssa_loop): Same.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Call scev_reset_htab
when something has been changed.
(rewrite_commutative_reductions_out_of_ssa): Same.

* gcc.dg/graphite/id-26.c: New.

From-SVN: r163160

13 years agoFix tonto: call propagate_expr_outside_region.
Sebastian Pop [Wed, 11 Aug 2010 20:29:59 +0000 (20:29 +0000)]
Fix tonto: call propagate_expr_outside_region.

2010-07-26  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (propagate_expr_outside_region): Also
handle the case when def is in the sese region.
(rewrite_close_phi_out_of_ssa): Call propagate_expr_outside_region
for invariant expressions.
(rewrite_cross_bb_phi_deps): Removed.
(rewrite_cross_bb_scalar_deps): Also handle GIMPLE_PHI nodes.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Do not call
rewrite_cross_bb_phi_deps.

From-SVN: r163159

13 years agoCall scev_analyzable_p only on is_gimple_reg.
Sebastian Pop [Wed, 11 Aug 2010 20:29:51 +0000 (20:29 +0000)]
Call scev_analyzable_p only on is_gimple_reg.

2010-07-26  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c
(rewrite_commutative_reductions_out_of_ssa_loop): Call
scev_analyzable_p only on is_gimple_reg

* gcc.dg/graphite/id-25.c: New.

From-SVN: r163158

13 years agoPropagate constant values or parametric expressions outside the scop region.
Sebastian Pop [Wed, 11 Aug 2010 20:29:43 +0000 (20:29 +0000)]
Propagate constant values or parametric expressions outside the scop region.

2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (propagate_expr_outside_region): New.
(rewrite_close_phi_out_of_ssa): Propagate constant values or
parametric expressions outside the scop region.
(rewrite_cross_bb_scalar_deps): Same.
* sese.c (rename_uses): Use NULL_TREE instead of NULL for trees.

* gcc.dg/graphite/run-id-5.c: New.
* gcc.dg/graphite/run-id-6.c: New.
* gfortran.dg/graphite/id-21.f: New.

From-SVN: r163157

13 years agoUse SSA_NAME_DEF_STMT only on SSA_NAMEs.
Sebastian Pop [Wed, 11 Aug 2010 20:29:35 +0000 (20:29 +0000)]
Use SSA_NAME_DEF_STMT only on SSA_NAMEs.

2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
SSA_NAME_DEF_STMT only on SSA_NAMEs.

* gcc.dg/graphite/id-24.c: New.

From-SVN: r163156

13 years agoDo not instantiate default definitions in instantiate_scev_name.
Sebastian Pop [Wed, 11 Aug 2010 20:29:25 +0000 (20:29 +0000)]
Do not instantiate default definitions in instantiate_scev_name.

2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>

* tree-scalar-evolution.c (instantiate_scev_name): Do not
instantiate default definitions.

From-SVN: r163155

13 years agoEnhance region checks.
Vladimir Kargov [Wed, 11 Aug 2010 20:29:17 +0000 (20:29 +0000)]
Enhance region checks.

2010-07-20  Vladimir Kargov  <kargov@gmail.com>

* graphite-scop-detection.c (is_valid_stmt_p): New.
(is_valid_bb_p): New.

From-SVN: r163154

13 years agoAdd loop_exits_from_bb_p.
Vladimir Kargov [Wed, 11 Aug 2010 20:29:10 +0000 (20:29 +0000)]
Add loop_exits_from_bb_p.

2010-07-20  Vladimir Kargov  <kargov@gmail.com>
    Sebastian Pop  <sebastian.pop@amd.com>

* cfgloop.c (is_loop_exit): Renamed loop_exits_to_bb_p.
(loop_exits_from_bb_p): New.
* cfgloop.h (is_loop_exit): Renamed loop_exits_to_bb_p.
(loop_exits_from_bb_p): Declared.
* graphite-scop-detection.c (scopdet_basic_block_info): Call
loop_exits_to_bb_p.

Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r163153

13 years agoDot refined regions.
Vladimir Kargov [Wed, 11 Aug 2010 20:29:02 +0000 (20:29 +0000)]
Dot refined regions.

2010-07-20  Vladimir Kargov  <kargov@gmail.com>

* refined-regions.c: Include tree-pass.h, cfgloop.h, gimple.h, and
tree-data-ref.h.
(dot_regions_1): New.
(dot_regions): New.
* refined-regions.h (dot_regions): Declared.
* Makefile.in (refined-regions.o): Update dependences.

From-SVN: r163152

13 years agoDo not translate out-of-SSA close phi nodes that can be analyzed with scev.
Sebastian Pop [Wed, 11 Aug 2010 20:28:54 +0000 (20:28 +0000)]
Do not translate out-of-SSA close phi nodes that can be analyzed with scev.

2010-07-20  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an
extra parameter for the region.  Call scev_analyzable_p.
(rewrite_reductions_out_of_ssa): Update call to
rewrite_close_phi_out_of_ssa.
(rewrite_cross_bb_phi_deps): Same.
(rewrite_commutative_reductions_out_of_ssa_loop): Add an extra
parameter for the region.  Call scev_analyzable_p.
(rewrite_commutative_reductions_out_of_ssa): Update call to
rewrite_commutative_reductions_out_of_ssa_loop.

From-SVN: r163151

13 years agoAdd testcase for PR20742.
Sebastian Pop [Wed, 11 Aug 2010 20:28:47 +0000 (20:28 +0000)]
Add testcase for PR20742.

2010-07-20  Sebastian Pop  <sebastian.pop@amd.com>

* gcc.dg/tree-ssa/pr20742.c: New.

From-SVN: r163150

13 years agoUnshare the scev before code generating it.
Sebastian Pop [Wed, 11 Aug 2010 20:28:38 +0000 (20:28 +0000)]
Unshare the scev before code generating it.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* sese.c (rename_uses): Call unshare_expr before force_gimple_operand.

* gcc.dg/graphite/id-23.c: New.

From-SVN: r163149

13 years agoDo not rewrite out of SSA scalar phi nodes that can be scev_analyzable_p.
Sebastian Pop [Wed, 11 Aug 2010 20:28:31 +0000 (20:28 +0000)]
Do not rewrite out of SSA scalar phi nodes that can be scev_analyzable_p.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
SSA scalar phi nodes that can be scev_analyzable_p.

* gfortran.dg/graphite/id-20.f: Adjust testcase.

From-SVN: r163148

13 years agoCorrectly handle SSA_NAME_IS_DEFAULT_DEF in rewrite_close_phi_out_of_ssa.
Sebastian Pop [Wed, 11 Aug 2010 20:28:23 +0000 (20:28 +0000)]
Correctly handle SSA_NAME_IS_DEFAULT_DEF in rewrite_close_phi_out_of_ssa.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Correctly
handle SSA_NAME_IS_DEFAULT_DEF.

From-SVN: r163147

13 years agoAdd testcase for PR42729 and fix handling of gimple_debug info.
Sebastian Pop [Wed, 11 Aug 2010 20:28:15 +0000 (20:28 +0000)]
Add testcase for PR42729 and fix handling of gimple_debug info.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* sese.c (rename_uses): Handl unconditionally gimple_debug statements.

* gcc.dg/graphite/pr42729.c: New.

From-SVN: r163146

13 years agoSpecial case non close-phi nodes with one argument in rewrite_close_phi_out_of_ssa.
Sebastian Pop [Wed, 11 Aug 2010 20:28:07 +0000 (20:28 +0000)]
Special case non close-phi nodes with one argument in rewrite_close_phi_out_of_ssa.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special
case non close-phi nodes with one argument.

From-SVN: r163145

13 years agoScevs could be expressions without chrecs and still be scev_analyzable_p.
Sebastian Pop [Wed, 11 Aug 2010 20:27:59 +0000 (20:27 +0000)]
Scevs could be expressions without chrecs and still be scev_analyzable_p.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* sese.h (scev_analyzable_p): Scevs could be expressions without
chrecs and still be scev_analyzable_p.

From-SVN: r163144

13 years agoBump the size of scevs.
Sebastian Pop [Wed, 11 Aug 2010 20:27:51 +0000 (20:27 +0000)]
Bump the size of scevs.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.

From-SVN: r163143

13 years agoRemove uses of loop->single_iv.
Sebastian Pop [Wed, 11 Aug 2010 20:27:43 +0000 (20:27 +0000)]
Remove uses of loop->single_iv.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* cfgloop.c (alloc_loop): Remove initialization of loop->single_iv.
* cfgloop.h (struct loop): Remove single_iv field.
* graphite-sese-to-poly.c (graphite_loop_normal_form): Removed.
(scop_canonicalize_loops): Removed.
(scop_ivs_can_be_represented): Do not use loop->single_iv.  Iterate
over all the loop phi nodes in loop->header.
(build_poly_scop): Remove use of scop_canonicalize_loops.

From-SVN: r163142

13 years agoAlso handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps.
Sebastian Pop [Wed, 11 Aug 2010 20:27:35 +0000 (20:27 +0000)]
Also handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
handle GIMPLE_CALL.

From-SVN: r163141

13 years agochrec_apply should only apply to the specified variable.
Sebastian Pop [Wed, 11 Aug 2010 20:27:27 +0000 (20:27 +0000)]
chrec_apply should only apply to the specified variable.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* tree-chrec.c (chrec_apply): Should only apply to the specified
variable.  Also handle multivariate chains of recurrences that
satisfy evolution_function_is_affine_p.  Also handle CASE_CONVERT.

From-SVN: r163140

13 years agoRemove expand_scalar_variables_ hack.
Sebastian Pop [Wed, 11 Aug 2010 20:27:19 +0000 (20:27 +0000)]
Remove expand_scalar_variables_ hack.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (debug_clast_name_index): Removed.
(debug_clast_name_indexes_1): Removed.
(debug_clast_name_indexes): Removed.
(pbb_to_depth_to_oldiv): Removed.
(build_iv_mapping): Replace the use of rename_map with iv_map.
(translate_clast_user): Remove uses of rename_map.  Allocate and
free iv_map.
(translate_clast_for_loop): Remove uses of rename_map.
(translate_clast_for): Same.
(translate_clast_guard): Same.
(translate_clast): Same.
(gloog): Same.
* graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed.
* graphite-sese-to-poly.c (scev_analyzable_p): Moved...
* sese.c (set_rename): Now static.
(rename_variables_in_stmt): Removed.
(rename_uses): New.
(is_parameter): Removed.
(is_iv): Removed.
(expand_scalar_variables_call): Removed.
(expand_scalar_variables_ssa_name): Removed.
(expand_scalar_variables_expr): Removed.
(expand_scalar_variables_stmt): Removed.
(expand_scalar_variables): Removed.
(rename_variables): Removed.
(remove_condition): Removed.
(get_true_edge_from_guard_bb): Removed.
(get_false_edge_from_guard_bb): Removed.
(struct igp): Removed.
(default_before_guard): Removed.
(convert_for_phi_arg): Removed.
(add_guard_exit_phis): Removed.
(insert_guard_phis): Removed.
(graphite_copy_stmts_from_block): Now also uses iv_map and a
region.  Do not copy conditions.  Do not copy induction variables.
Call rename_uses.
(copy_bb_and_scalar_dependences): Allocate a local rename_map for
the translated statement.  Use the iv_map for the induction
variable renaming.
* sese.h (copy_bb_and_scalar_dependences): Update declaration.
(set_rename): Removed declaration.
(scev_analyzable_p): ...here.
* tree-chrec.c (chrec_apply_map): New.
* tree-chrec.h (chrec_apply_map): Declared.

From-SVN: r163139

13 years agoRemove insert_loop_close_phis.
Sebastian Pop [Wed, 11 Aug 2010 20:27:10 +0000 (20:27 +0000)]
Remove insert_loop_close_phis.

2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call
insert_loop_close_phis.
* sese.c (name_defined_in_loop_p): Removed.
(expr_defined_in_loop_p): Removed.
(alive_after_loop): Removed.
(close_phi_not_yet_inserted_p): Removed.
(struct alep): Removed.
(add_loop_exit_phis): Removed.
(insert_loop_close_phis): Removed.

From-SVN: r163138

13 years agoFix flipped condition using mpz_sgn.
Andreas Simbuerger [Wed, 11 Aug 2010 20:27:02 +0000 (20:27 +0000)]
Fix flipped condition using mpz_sgn.

2010-07-15  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* graphite-cloog-util.c
(cloog_matrix_to_ppl_constraint): Fix flipped condition.
* graphite-poly.c
(psct_scattering_dim_for_loop_depth): Same.

From-SVN: r163137

13 years agoAdd testcase for miscompile in gamess.
Sebastian Pop [Wed, 11 Aug 2010 20:26:55 +0000 (20:26 +0000)]
Add testcase for miscompile in gamess.

2010-07-07  Sebastian Pop  <sebastian.pop@amd.com>

* gfortran.dg/graphite/id-20.f: New.

From-SVN: r163136

13 years agoPartially removing cloog.h and graphite-clast-to-gimple.h where possible. Removing...
Andreas Simbuerger [Wed, 11 Aug 2010 20:26:46 +0000 (20:26 +0000)]
Partially removing cloog.h and graphite-clast-to-gimple.h where possible. Removing unused function check_poly_representation.

2010-07-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* graphite-cloog-util.h: Added cloog.h.
* graphite-blocking.c: Removed cloog.h.
* graphite-dependences.c: Same.
* graphite-interchange.c: Same.
* graphite-poly.c: Same.
* graphite-ppl.c: Same.
* graphite-scop-detection.c: Same.
* graphite-sese-to-poly.c:
Removed cloog.h.
Removed graphite-clast-to-gimple.h.
(check_poly_representation): Removed (unused).
* graphite-sese-to-poly.h
(check_poly_representation): Removed (unused).

From-SVN: r163135

13 years agoMove cloog-related functions from graphite-ppl.{c,h} to new graphite-cloog-util....
Andreas Simbuerger [Wed, 11 Aug 2010 20:26:38 +0000 (20:26 +0000)]
Move cloog-related functions from graphite-ppl.{c,h} to new graphite-cloog-util.{c,h}.

2010-07-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* Makefile.in
(OBJS-common): Added graphite-cloog-util.o.
(graphite-clast-to-gimple.o): Added graphite-cloog-util.h.
(graphite-cloog-util.o): New.
(graphite-ppl.o): Added graphite-cloog-util.h.
* graphite-clast-to-gimple.c:
Added graphite-cloog-util.h to include statements.
* graphite-cloog-util.c: New.
(new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c.
(new_Cloog_Domain_from_ppl_Polyhedron): Same.
(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
(new_C_Polyhedron_from_Cloog_Matrix): Same.
(insert_constraint_into_matrix): Same.
(ppl_Constrain_System_number_of_constraints): Same.
(new_Cloog_Matrix_from_ppl_Constraint_System): Same.
(oppose_constraint): Same.
(cloog_matrix_to_ppl_constraint): Same.
(new_Constraint_System_from_Cloog_Matrix): Same.
* graphite-cloog-util.h: New.
(new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h.
(new_Cloog_Domain_from_ppl_Polyhedron): Same.
(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
(new_C_Polyhedron_from_Cloog_Matrix): Same.
(insert_constraint_into_matrix): Same.
* graphite-ppl.c:
Added graphite-cloog-util.h to include statements.
(new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c.
(new_Cloog_Domain_from_ppl_Polyhedron): Same.
(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
(new_C_Polyhedron_from_Cloog_Matrix): Same.
(insert_constraint_into_matrix): Same.
(ppl_Constrain_System_number_of_constraints): Same.
(new_Cloog_Matrix_from_ppl_Constraint_System): Same.
(oppose_constraint): Same.
(cloog_matrix_to_ppl_constraint): Same.
(new_Constraint_System_from_Cloog_Matrix): Same.
* graphite-ppl.h:
(new_Cloog_Matrix_from_ppl_Polyhedron): Moved to
graphite-cloog-util.h.
(new_Cloog_Domain_from_ppl_Polyhedron): Same.
(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
(new_C_Polyhedron_from_Cloog_Matrix): Same.
(insert_constraint_into_matrix): Same.

From-SVN: r163134

13 years agoResolve CLooG's value_* macros to their respective mpz_* counterparts.
Andreas Simbuerger [Wed, 11 Aug 2010 20:26:29 +0000 (20:26 +0000)]
Resolve CLooG's value_* macros to their respective mpz_* counterparts.

2010-07-04  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

* graphite-clast-to-gimple.c
(precision_for_value): Resolve value_* calls to matching mpz_* calls.
(precision_for_interval): Same.
(gcc_type_for_interval): Same.
(compute_type_for_level): Same.
* graphite-interchange.c
(lst_interchange_profitable_p): Same.
* graphite-poly.c
(psct_scattering_dim_for_loop_depth): Same.
* graphite-ppl.c
(ppl_max_for_le_pointset): Same.
(ppl_min_for_le_pointset): Same.

From-SVN: r163133

13 years agoPrint bbs in refined region tree.
Vladimir Kargov [Wed, 11 Aug 2010 20:26:22 +0000 (20:26 +0000)]
Print bbs in refined region tree.

2010-06-25  Vladimir Kargov  <kargov@gmail.com>

* refined-regions.c (bb_index_compare): New.
(get_bbs_in_region): New.
(print_bbs_in_region): New.
(print_refined_region): Add an argument that allows to print
all basic blocks contained in regions.
(debug_refined_region): Update call to print_refined_region.
* refined-regions.h (print_refined_region): Update declaration.
(get_bbs_in_region): Declared.
* graphite-scop-detection.c (build_scops_new): Print the refined
region tree into the Grahite dump file.

From-SVN: r163132

13 years agoFix 416.gamess miscompile: special case the rewrite of degenerate phi nodes.
Sebastian Pop [Wed, 11 Aug 2010 20:26:15 +0000 (20:26 +0000)]
Fix 416.gamess miscompile: special case the rewrite of degenerate phi nodes.

2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_degenerate_phi): New.
(rewrite_reductions_out_of_ssa): Call it for degenerate_phi_result.

From-SVN: r163131

13 years agoFix 435.gromacs miscompile: call rewrite_close_phi_out_of_ssa from rewrite_cross_bb_p...
Sebastian Pop [Wed, 11 Aug 2010 20:26:07 +0000 (20:26 +0000)]
Fix 435.gromacs miscompile: call rewrite_close_phi_out_of_ssa from rewrite_cross_bb_phi_deps.

2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Call
rewrite_close_phi_out_of_ssa.

* gcc.dg/graphite/id-22.c: New.

From-SVN: r163130

13 years agoRemove dead code.
Sebastian Pop [Wed, 11 Aug 2010 20:25:57 +0000 (20:25 +0000)]
Remove dead code.

2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Remove dead code.

From-SVN: r163129

13 years agoReplace map with rename_map.
Sebastian Pop [Wed, 11 Aug 2010 20:25:50 +0000 (20:25 +0000)]
Replace map with rename_map.

2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (build_iv_mapping): Rename map with
rename_map.
* sese.c (debug_rename_map): Same.
(get_rename): Same.
(set_rename): Same.
(rename_variables_in_stmt): Same.
(expand_scalar_variables_call): Same.
(expand_scalar_variables_ssa_name): Same.
(expand_scalar_variables_expr): Same.
(expand_scalar_variables_stmt): Same.
(expand_scalar_variables): Same.
(rename_variables): Same.
(graphite_copy_stmts_from_block): Same.
(copy_bb_and_scalar_dependences): Same.

From-SVN: r163128

13 years agoRemove copy_renames.
Sebastian Pop [Wed, 11 Aug 2010 20:25:42 +0000 (20:25 +0000)]
Remove copy_renames.

2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (copy_renames): Removed.
(translate_clast_for): Do not call copy_renames.
(translate_clast_guard): Same.

From-SVN: r163127

13 years agoRun rewrite_cross_bb_phi_deps before rewrite_cross_bb_scalar_deps.
Sebastian Pop [Wed, 11 Aug 2010 20:25:34 +0000 (20:25 +0000)]
Run rewrite_cross_bb_phi_deps before rewrite_cross_bb_scalar_deps.

2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Moved up.
(rewrite_cross_bb_phi_deps): Split out of rewrite_cross_bb_scalar_deps.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Run rewrite_cross_bb_phi_deps
before rewrite_cross_bb_scalar_deps.

From-SVN: r163126

13 years agoEarly return in rewrite_commutative_reductions_out_of_ssa when flag_associative_math...
Sebastian Pop [Wed, 11 Aug 2010 20:25:27 +0000 (20:25 +0000)]
Early return in rewrite_commutative_reductions_out_of_ssa when flag_associative_math is not set.

2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa):
Early return in when flag_associative_math is not set.

From-SVN: r163125

13 years agoFix testcase: call abort.
Sebastian Pop [Wed, 11 Aug 2010 20:25:18 +0000 (20:25 +0000)]
Fix testcase: call abort.

2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>

* gcc.dg/graphite/run-id-2.c: Call abort.

From-SVN: r163124

13 years agoAlways insert out of SSA copies on edges except for loop->latch.
Sebastian Pop [Wed, 11 Aug 2010 20:25:11 +0000 (20:25 +0000)]
Always insert out of SSA copies on edges except for loop->latch.

2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
of SSA copies on edges except for loop->latch.

From-SVN: r163123

13 years agoSplit rewrite_cross_bb_scalar_deps_out_of_ssa out from rewrite_reductions_out_of_ssa.
Sebastian Pop [Wed, 11 Aug 2010 20:25:02 +0000 (20:25 +0000)]
Split rewrite_cross_bb_scalar_deps_out_of_ssa out from rewrite_reductions_out_of_ssa.

2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps_out_of_ssa):
Split out of rewrite_reductions_out_of_ssa.
* graphite-sese-to-poly.h (rewrite_cross_bb_scalar_deps_out_of_ssa):
Declared.
* graphite.c (graphite_transform_loops): Call it.

From-SVN: r163122

13 years agoAdd more debug counter guards.
Sebastian Pop [Wed, 11 Aug 2010 20:24:55 +0000 (20:24 +0000)]
Add more debug counter guards.

2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>

* graphite.c (graphite_transform_loops): Add two more dbg_cnt calls.

From-SVN: r163121

13 years agoSchedule a copy_prop pass before graphite.
Sebastian Pop [Wed, 11 Aug 2010 20:24:47 +0000 (20:24 +0000)]
Schedule a copy_prop pass before graphite.

2010-06-15  Sebastian Pop  <sebastian.pop@amd.com>

* passes.c (init_optimization_passes): Add pass_graphite.
Schedule a pass_copy_prop before pass_graphite_transforms.
* timevar.def (TV_GRAPHITE): Declared.
* tree-pass.h (pass_graphite): Declared.
* tree-ssa-loop.c (pass_graphite): New.

* gcc.dg/graphite/id-20.c: New.

From-SVN: r163120

13 years agoRemove rename_nb_iterations and rename_sese_parameters
Sebastian Pop [Wed, 11 Aug 2010 20:24:38 +0000 (20:24 +0000)]
Remove rename_nb_iterations and rename_sese_parameters

2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter.
Remove calls to rename_nb_iterations and rename_sese_parameters.
* graphite-clast-to-gimple.h (gloog): Update declaration.
* graphite.c (graphite_transform_loops): Update call to gloog.
* sese.c (rename_variables_in_expr): Removed.
(rename_nb_iterations): Removed.
(rename_sese_parameters): Removed.
* sese.h (rename_nb_iterations): Removed.
(rename_sese_parameters): Removed.

From-SVN: r163119

13 years agoAlso rewrite out of SSA scalar dependences going outside the SCoP region.
Sebastian Pop [Wed, 11 Aug 2010 20:24:30 +0000 (20:24 +0000)]
Also rewrite out of SSA scalar dependences going outside the SCoP region.

2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (gloog): Remove call to
sese_adjust_liveout_phis.
* graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an
SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps.
(rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call
rewrite_phi_out_of_ssa.
* sese.c (get_vdef_before_sese): Removed.
(sese_adjust_vphi): Removed.
(sese_adjust_liveout_phis): Removed.
* sese.h (sese_adjust_liveout_phis): Removed.

From-SVN: r163118

13 years agoRemove insert_copyout and insert_copyin.
Sebastian Pop [Wed, 11 Aug 2010 20:24:23 +0000 (20:24 +0000)]
Remove insert_copyout and insert_copyin.

2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (insert_out_of_ssa_copy): Pass an extra
argument for the place after which to insert the out of SSA copy.
(rewrite_close_phi_out_of_ssa): Update calls to insert_out_of_ssa_copy.
(rewrite_phi_out_of_ssa): Same.
(rewrite_cross_bb_scalar_deps): Same.
(insert_copyout): Removed.
(insert_copyin): Removed.
(translate_scalar_reduction_to_array): Call insert_out_of_ssa_copy and
insert_out_of_ssa_copy_on_edge instead of insert_copyout and
insert_copyin.

From-SVN: r163117

13 years agoDetect commutative reductions in all the scops before rewriting out of SSA all the...
Sebastian Pop [Wed, 11 Aug 2010 20:24:16 +0000 (20:24 +0000)]
Detect commutative reductions in all the scops before rewriting out of SSA all the other scalar dependences.

2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (build_scop_bbs): Not static anymore.
(rewrite_reductions_out_of_ssa): Same.
(rewrite_commutative_reductions_out_of_ssa): Same.
(build_poly_scop): Do not call these functions.
* graphite-sese-to-poly.h (build_poly_scop): Declared.
(rewrite_reductions_out_of_ssa): Declared.
(rewrite_commutative_reductions_out_of_ssa): Declared.
* graphite.c (graphite_transform_loops): Call on every scop
rewrite_commutative_reductions_out_of_ssa before calling
rewrite_reductions_out_of_ssa and build_scop_bbs.

From-SVN: r163116

13 years agoLaunch dotty in background.
Sebastian Pop [Wed, 11 Aug 2010 20:24:08 +0000 (20:24 +0000)]
Launch dotty in background.

2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (dot_deps): Make system call to dotty run
in background.
(dot_deps_stmt): Same.
* graphite-poly.c (dot_lst): Same.

From-SVN: r163115

13 years agoDon't call pbb_to_depth_to_oldiv from compute_type_for_level.
Sebastian Pop [Wed, 11 Aug 2010 20:24:00 +0000 (20:24 +0000)]
Don't call pbb_to_depth_to_oldiv from compute_type_for_level.

2010-06-11  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
old_type in parameter.
(gcc_type_for_value): Update call to gcc_type_for_interval.
(compute_type_for_level_1): Renamed compute_type_for_level.
Update call to gcc_type_for_interval.

From-SVN: r163114

13 years agoCall compute_overall_effect_of_inner_loop from instantiate_scev_name.
Sebastian Pop [Wed, 11 Aug 2010 20:23:53 +0000 (20:23 +0000)]
Call compute_overall_effect_of_inner_loop from instantiate_scev_name.

2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>

* tree-scalar-evolution.c (instantiate_scev_name): Do not fail
the scev analysis when the variable is not used outside the loop
in a close phi node: call compute_overall_effect_of_inner_loop.

From-SVN: r163113

13 years agoDo not gather loop exit conditions on the basic blocks outside the loop.
Sebastian Pop [Wed, 11 Aug 2010 20:23:46 +0000 (20:23 +0000)]
Do not gather loop exit conditions on the basic blocks outside the loop.

2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (single_pred_cond): Renamed
single_pred_cond_non_loop_exit.  Return NULL for loop exit edges.
(build_sese_conditions_before): Renamed call to single_pred_cond.
(build_sese_conditions_after): Same.

From-SVN: r163112

13 years agoFix comments and indentation.
Sebastian Pop [Wed, 11 Aug 2010 20:23:39 +0000 (20:23 +0000)]
Fix comments and indentation.

2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-poly.h: Fix comments and indentation.
* graphite-sese-to-poly.c: Same.
(build_sese_conditions_before): Compute stmt and gbb only when needed.
* tree-chrec.c: Fix comments and indentation.
(tree-ssa-loop-niter.c): Same.

From-SVN: r163111

13 years agoFix refined region tree nesting.
Tobias Grosser [Wed, 11 Aug 2010 20:23:33 +0000 (20:23 +0000)]
Fix refined region tree nesting.

2010-06-08  Tobias Grosser  <grosser@fim.uni-passau.de>

* refined-regions.c (create_region): Only initialize the region.
(find_regions_with_entry): Initialize parent relation and bbmap
correctly.
(build_regions_tree): Set outermost_region to region instead of
topmost_region.
(calculate_region_tree): Remove unneeded parameters.

From-SVN: r163110

13 years agoSkeleton for the new SCoP detection.
Tobias Grosser [Wed, 11 Aug 2010 20:23:26 +0000 (20:23 +0000)]
Skeleton for the new SCoP detection.

2010-06-02  Tobias Grosser  <grosser@fim.uni-passau.de>

* graphite-scop-detection.c (is_scop_p): New.
(build_scops_new): New. A skeleton for the new scop detection.
(build_scops_old): Renamed from build_scops.
(build_scops): New version. Call the new and the old scop
detection.

From-SVN: r163109

13 years agoAdd analysis pass to build the refined program structure tree.
Tobias Grosser [Wed, 11 Aug 2010 20:23:19 +0000 (20:23 +0000)]
Add analysis pass to build the refined program structure tree.

The hash table utility functions are copied and adapted from code
Antoniu contributed.

2010-05-27  Tobias Grosser  <grosser@fim.uni-passau.de>
    Antoniu Pop  <antoniu.pop@gmail.com>

* Makefile.in (OBJS-common): Add refined-regions.o.
(refined-regions.o): New.
(graphite-scop-detection.o): Use refined-regions.h.
* graphite-scop-detection.c: Include refined-regions.h
(build_scops): Also build the refined region tree.
* refined-regions.c: New. Adds an algorithm to detect refined
regions.
(print_refined_region): New.
(debug_refined_region): New.
(refined_region_contains_bb_p): New.
(refined_region_contains_region_p): New.
(is_common_df): New.
(struct find_regions_global_data): New.
(is_region): New.
(typedef struct bb_bb_def): New.
(new_bb_bb_def): New.
(bb_bb_map_hash): New.
(eq_bb_bb_map): New.
(find_new_bb): New.
(bb_reg_def): New.
(new_bb_reg_def): New.
(bb_reg_map_hash): New.
(eq_bb_reg_map): New.
(find_new_region): New.
(insert_new_reg): New.
(insert_new_bb): New.
(insert_shortcut): New.
(get_next_postdom): New.
(create_region): New.
(find_regions_with_entry): New.
(find_regions_adc): New.
(find_regions): New.
(get_topmost_parent): New.
(build_regions_tree): New.
(calculate_region_tree): New.
(free_region_tree): New.
* refined-regions.h: New.
(struct refined_region): New.
(calculate_region_tree): New.
(free_region_tree): New.
(refined_region_contains_bb_p): New.
(refined_region_contains_region_p): New.
(print_refined_region): New.
(debug_refined_region): New.

From-SVN: r163108

13 years agoUse size_one_node.
Sebastian Pop [Wed, 11 Aug 2010 20:23:11 +0000 (20:23 +0000)]
Use size_one_node.

2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
size_one_node.

From-SVN: r163107

13 years agoFix type of integer_one_node for fold_build of POINTER_PLUS_EXPR.
Sebastian Pop [Wed, 11 Aug 2010 20:23:04 +0000 (20:23 +0000)]
Fix type of integer_one_node for fold_build of POINTER_PLUS_EXPR.

2010-05-07  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Fix
type of integer_one_node for fold_build of POINTER_PLUS_EXPR.

From-SVN: r163106

13 years agoFix invariant phi node removal.
Sebastian Pop [Wed, 11 Aug 2010 20:22:57 +0000 (20:22 +0000)]
Fix invariant phi node removal.

2010-05-07  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed
phi_arg_in_outermost_loop.
(remove_simple_copy_phi): Call phi_arg_in_outermost_loop.
(remove_invariant_phi): Same.

From-SVN: r163105

13 years agotarget.def (output_addr_const_extra): New hook.
Anatoly Sokolov [Wed, 11 Aug 2010 19:52:46 +0000 (23:52 +0400)]
target.def (output_addr_const_extra): New hook.

* target.def (output_addr_const_extra): New hook.
* doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document.
* doc/tm.texi: Regenerate.
* targhooks.c (default_asm_output_addr_const_extra): New function.
* targhooks.h (default_asm_output_addr_const_extra): Declare.
* final.c: (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
target hook.

* config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/i386/i386-protos.h (output_addr_const_extra): Remove.
* config/i386/i386.h (output_addr_const_extra): Rename to...
(i386_asm_output_addr_const_extra): ...this. Make static.
(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.

From-SVN: r163104

13 years ago* config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.
Richard Henderson [Wed, 11 Aug 2010 18:40:45 +0000 (11:40 -0700)]
* config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.

From-SVN: r163103

13 years agostl_algo.h (shuffle): Change signature consistently with random_shuffle (US 121).
Paolo Carlini [Wed, 11 Aug 2010 17:10:04 +0000 (17:10 +0000)]
stl_algo.h (shuffle): Change signature consistently with random_shuffle (US 121).

2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_algo.h (shuffle): Change signature consistently
with random_shuffle (US 121).
* include/bits/algorithmfwd.h: Adjust.
* testsuite/25_algorithms/shuffle/requirements/
explicit_instantiation/2.cc: Likewise.
* testsuite/25_algorithms/shuffle/requirements/
explicit_instantiation/pod.cc: Likewise.

From-SVN: r163102

13 years agomove.h (forward): Reinstate the N2835 version.
Paolo Carlini [Wed, 11 Aug 2010 16:55:33 +0000 (16:55 +0000)]
move.h (forward): Reinstate the N2835 version.

2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/move.h (forward): Reinstate the N2835 version.

From-SVN: r163101

13 years agoFix up a wrong ChangeLog entry:
Jakub Jelinek [Wed, 11 Aug 2010 13:59:35 +0000 (15:59 +0200)]
Fix up a wrong ChangeLog entry:

* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.

From-SVN: r163099

13 years agostormy16-lib2.c (__cmpsi2): New function.
Nick Clifton [Wed, 11 Aug 2010 11:56:15 +0000 (11:56 +0000)]
stormy16-lib2.c (__cmpsi2): New function.

        * config/stormy16/stormy16-lib2.c (__cmpsi2): New function.
        * config/stormy16/stormy16-lib2-cmpsi2.c: New file.
        * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
        stormy16-lib2-cmpsi.c.

        * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Change to
        -O2.

From-SVN: r163097

13 years agore PR fortran/44595 (INTENT of arguments to intrinsic procedures not checked)
Janus Weil [Wed, 11 Aug 2010 10:49:56 +0000 (12:49 +0200)]
re PR fortran/44595 (INTENT of arguments to intrinsic procedures not checked)

2010-08-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44595
* intrinsic.c (gfc_current_intrinsic_arg): Change type from 'char' to
'gfc_intrinsic_arg'.
(check_arglist,check_specific): Add reference to 'name' field.
(init_arglist): Remove reference to 'name' field.
* intrinsic.h (gfc_current_intrinsic_arg): Modify prototype.
* check.c (variable_check): Reverse order of checks. Respect intent of
formal arg.
(int_or_proc_check): New function.
(coarray_check): New function.
(allocatable_check): New function.
(gfc_check_allocated,gfc_check_move_alloc): Use 'allocatable_check'.
(gfc_check_complex): Use 'int_or_real_check'.
(gfc_check_lcobound,gfc_check_image_index,gfc_check_this_image,
gfc_check_ucobound): Use 'coarray_check'.
(gfc_check_pack): Use 'real_or_complex_check'.
(gfc_check_alarm_sub,gfc_check_signal,gfc_check_signal_sub): Use
'int_or_proc_check'.
(scalar_check,type_check,numeric_check,int_or_real_check,
real_or_complex_check,kind_check,double_check,logical_array_check,
array_check,same_type_check,rank_check,nonoptional_check,
kind_value_check,gfc_check_a_p,gfc_check_associated,gfc_check_cmplx,
gfc_check_cshift,gfc_check_dcmplx,gfc_check_dot_product,gfc_check_dprod,
gfc_check_eoshift,gfc_check_fn_rc2008,gfc_check_index,gfc_check_kind,
gfc_check_matmul,gfc_check_minloc_maxloc,check_reduction,gfc_check_null,
gfc_check_present,gfc_check_reshape,gfc_check_same_type_as,
gfc_check_spread,gfc_check_unpack,gfc_check_random_seed,
gfc_check_getarg,gfc_check_and,gfc_check_storage_size): Add reference
to 'name' field.

2010-08-11  Janus Weil  <janus@gcc.gnu.org>
    Steve Kargl <kargl@gcc.gnu.org>

PR fortran/44595
* gfortran.dg/move_alloc_3.f90: New.
* gfortran.dg/random_seed_2.f90: New.

Co-Authored-By: Steve Kargl <kargl@gcc.gnu.org>
From-SVN: r163096

13 years agoopts.h (struct cl_option_handler_func): Make handler take cl_decoded_option structure...
Joseph Myers [Wed, 11 Aug 2010 10:04:43 +0000 (11:04 +0100)]
opts.h (struct cl_option_handler_func): Make handler take cl_decoded_option structure as parameter, not individual elements.

* opts.h (struct cl_option_handler_func): Make handler take
cl_decoded_option structure as parameter, not individual elements.
(struct cl_option_handlers): Make callbacks take cl_decoded_option
structure as parameter, not individual elements.
(handle_option): Take cl_decoded_option structure as parameter,
not individual elements.
(handle_generated_option): Declare.
* opts-common.c (handle_option): Take cl_decoded_option structure
as parameter, not individual elements.  Update calls to callback
and handler functions.
(handle_generated_option): New.
(read_cmdline_option): Update calls to callback functions and
handle_option.
* opts.c (common_handle_option, complain_wrong_lang,
unknown_option_callback, post_handling_callback,
lang_handle_option, target_handle_option): Take cl_decoded_option
structure as parameter, not individual elements.
(lang_handle_option, target_handle_option, common_handle_option):
Assert option has at most one argument.
(enable_warning_as_error): Call handle_generated_option instead of
handle_option.  Do not pass -Werror argument as argument of
generated option.

c-family:
* c-opts.c (c_common_handle_option): Call handle_generated_option
instead of handle_option.

From-SVN: r163095

13 years agore PR libstdc++/42925 ([GB 99] Not possible to compare unique_ptr with 0)
Paolo Carlini [Wed, 11 Aug 2010 08:49:47 +0000 (08:49 +0000)]
re PR libstdc++/42925 ([GB 99] Not possible to compare unique_ptr with 0)

2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/42925
* include/bits/unique_ptr.h (operator==(const unique_ptr<>&,
nullptr_t), operator==(nullptr_t, const unique_ptr<>&),
operator!=(const unique_ptr<>&, nullptr_t),
operator!=(nullptr_t, const unique_ptr<>&)): Add.
* include/bits/shared_ptr_base.h (operator==(const __shared_ptr<>&,
nullptr_t), operator==(nullptr_t, const __shared_ptr<>&),
operator!=(const __shared_ptr<>&, nullptr_t),
operator!=(nullptr_t, const __shared_ptr<>&)): Likewise.
* include/bits/shared_ptr.h (operator==(const shared_ptr<>&,
nullptr_t), operator==(nullptr_t, const shared_ptr<>&),
operator!=(const shared_ptr<>&, nullptr_t),
operator!=(nullptr_t, const shared_ptr<>&)): Likewise.
* testsuite/20_util/unique_ptr/comparison/42925.cc: New.
* testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
dg-error line numbers.

From-SVN: r163094