Jerry DeLisle [Thu, 26 Nov 2009 21:52:52 +0000 (21:52 +0000)]
re PR fortran/41807 (data statement with nested type constructors)
2009-11-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41807
* trans-const.c (gfc_conv_const): Set se->expr to a constant on error.
From-SVN: r154690
Bernd Schmidt [Thu, 26 Nov 2009 21:46:45 +0000 (21:46 +0000)]
cfgexpand (n_stack_vars_conflict): New static variable.
* cfgexpand (n_stack_vars_conflict): New static variable.
(triangular_index): Reduce likelyhood of overflow by performing
the division before the multiplication.
(resize_stack_vars_conflict): Call fatal_error if overflow
occurred in triangular_index. Update n_stack_vars_conflict.
From-SVN: r154689
Bernd Schmidt [Thu, 26 Nov 2009 21:41:42 +0000 (21:41 +0000)]
re PR rtl-optimization/38582 (excessive time in rename registers)
PR rtl-opt/38582
* regrename.c (struct du_head): New members id, conflicts,
hard_conflicts and cannot_rename.
(enum scan_actions): Remove terminate_all_read and
terminate_overlapping_read; add mark_all_read.
(scan_actions_name): Likewise.
(du_head_p): New typedef. Define a vector type for it.
(id_to_chain): New static variable.
(note_sets, clear_dead_regs): Delete functions.
(free_chain_data): New function.
(merge_overlapping_regs): Simply walk the conflicts bitmap.
Remove argument B, all callers changed.
(regrename_optimize): Allocate id_to_chain. Ignore chains that have
the cannot_rename bit set. Update regno and nregs of a renamed chain.
Call free_chain_data when done.
(do_replace): Remove death notes when the renamed reg is set in the
last insn; add them if not.
(mark_conflict, note_sets_clobbers): New static function.
(fail_current_block, current_id, open_chains_set, live_hard_regs): New
static variables.
(scan_rtx_reg): Keep track of conflicts between chains, and between
chains and hard regs. Don't terminate chains when we find a read we
can't handle, mark it unrenameable instead. For terminate_write,
terminate chains that are written with an exact match or a superset
of registers. Set fail_current_block if multi-word lifetimes are too
complex to handle.
(scan_rtx_address): Use mark_all_read instead of terminate_all_read.
(build_def_use): Initialize current_id, live_chains and live_hard_regs;
free memory for them when done.
Rearrange the steps so that earlyclobbers are noted before reads
are processed. Add new steps to keep track of hard register lifetimes
outside insn operands.
From-SVN: r154688
Bernd Schmidt [Thu, 26 Nov 2009 21:35:35 +0000 (21:35 +0000)]
re PR rtl-optimization/38582 (excessive time in rename registers)
PR rtl-opt/38582
* regrename.c (struct du_chain): Remove member earlyclobber.
(scan_rtx_reg): Don't set it. Remove argument earlyclobber,
all callers changed.
(scan_rtx): Remove argument earlyclobber, all callers changed.
(hide_operands, restore_operands, record_out_operands): New functions,
broken out of build_def_use.
(build_def_use): Call them as necessary.
From-SVN: r154687
Jason Merrill [Thu, 26 Nov 2009 20:58:47 +0000 (15:58 -0500)]
PR c++/42026, DR 239
PR c++/42026, DR 239
* parser.c (cp_parser_postfix_expression): A local extern also
prevents arg-dependent lookup.
From-SVN: r154686
Jason Merrill [Thu, 26 Nov 2009 20:58:41 +0000 (15:58 -0500)]
add missing testsuite/ChangeLog entry
From-SVN: r154685
Gabriel Dos Reis [Thu, 26 Nov 2009 20:00:43 +0000 (20:00 +0000)]
* decl.c (grokdeclarator): Remove period at end of diagnosic message.
From-SVN: r154684
Jerry DeLisle [Thu, 26 Nov 2009 19:10:29 +0000 (19:10 +0000)]
re PR fortran/41278 (internal compiler error related to matmul and transpose)
2009-11-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41278
* gfortran.dg/array_function_5.f90: New test.
From-SVN: r154681
Jerry DeLisle [Thu, 26 Nov 2009 19:05:37 +0000 (19:05 +0000)]
re PR fortran/41278 (internal compiler error related to matmul and transpose)
2009-11-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41278
* trans-array.c (gfc_conv_array_transpose): Delete unnecessary assert.
From-SVN: r154680
Janus Weil [Thu, 26 Nov 2009 19:01:02 +0000 (20:01 +0100)]
re PR fortran/42048 ([F03] Erroneous syntax error message on TBP call)
2009-11-26 Janus Weil <janus@gcc.gnu.org>
PR fortran/42048
PR fortran/42167
* gfortran.h (gfc_is_function_return_value): New prototype.
* match.c (gfc_match_call): Use new function
'gfc_is_function_return_value'.
* primary.c (gfc_is_function_return_value): New function to check if a
symbol is the return value of an encompassing function.
(match_actual_arg,gfc_match_rvalue,match_variable): Use new function
'gfc_is_function_return_value'.
* resolve.c (resolve_common_blocks,resolve_actual_arglist): Ditto.
2009-11-26 Janus Weil <janus@gcc.gnu.org>
PR fortran/42048
PR fortran/42167
* gfortran.dg/select_type_10.f03: New test case.
* gfortran.dg/typebound_call_11.f03: Extended test case.
From-SVN: r154679
Eric Botcazou [Thu, 26 Nov 2009 17:47:48 +0000 (17:47 +0000)]
utils.c (copy_type): Unshare the language-specific data and the contents of the language-specific...
* gcc-interface/utils.c (copy_type): Unshare the language-specific data
and the contents of the language-specific slot if needed.
From-SVN: r154678
Eric Botcazou [Thu, 26 Nov 2009 17:46:16 +0000 (17:46 +0000)]
trans.c (gnat_to_gnu): Set the source location of the operator on both branches of the test in the...
* gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
of the operator on both branches of the test in the generic case.
From-SVN: r154677
Richard Guenther [Thu, 26 Nov 2009 17:00:19 +0000 (17:00 +0000)]
tree-ssa-dce.c (nr_walks): New variable.
2009-11-26 Richard Guenther <rguenther@suse.de>
* tree-ssa-dce.c (nr_walks): New variable.
(mark_aliased_reaching_defs_necessary): Adjust oracle cut-off.
(perform_tree_ssa_dce): Init nr_walks.
From-SVN: r154676
Jason Merrill [Thu, 26 Nov 2009 15:59:52 +0000 (10:59 -0500)]
re PR c++/10690 ([DR 115] Even when used within typeid(), a template-id generating an overload set with only one function should silently decay to a pointer to function)
PR c++/10690
* rtti.c (get_tinfo_decl_dynamic): Call resolve_nondeduced_context.
From-SVN: r154675
Michael Matz [Thu, 26 Nov 2009 15:54:07 +0000 (15:54 +0000)]
tree-eh.c (lower_eh_constructs_2): Don't add assignments below statements that can't fall thru.
* tree-eh.c (lower_eh_constructs_2): Don't add assignments
below statements that can't fall thru.
testsuite/
* g++.dg/tree-ssa/pr41905.C: New testcase.
From-SVN: r154674
Michael Matz [Thu, 26 Nov 2009 13:49:35 +0000 (13:49 +0000)]
builtins.c (expand_builtin_printf, [...]): Remove.
* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
expand_builtin_sprintf): Remove.
(expand_builtin): Don't call them.
From-SVN: r154673
Richard Guenther [Thu, 26 Nov 2009 13:09:02 +0000 (13:09 +0000)]
tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.
2009-11-26 Richard Guenther <rguenther@suse.de>
* tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.
From-SVN: r154672
Nick Clifton [Thu, 26 Nov 2009 10:44:28 +0000 (10:44 +0000)]
rx.c (rx_expand_epilogue): Add checks for sibcalls being used incorrectly.
* config/rx/rx.c (rx_expand_epilogue): Add checks for sibcalls
being used incorrectly.
(rx_function_ok_for_sibcall): New function. Do not allow indirect
sibcalls, or sibcalls from interrupt functions.
(TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
* config/rx/rx.md (sibcall): Convert to a define_expand. Check
for a MEM inside a MEM.
(sibcall_value): Likewise.
(sibcall_internal): New pattern containing old sibcall pattern.
(sibcall_value_internal): Likewise.
From-SVN: r154671
Ben Elliston [Thu, 26 Nov 2009 10:06:35 +0000 (10:06 +0000)]
posix-threads.cc (ParkHelper::unpark): Do not initialise result, but assign it instead.
* posix-threads.cc (ParkHelper::unpark): Do not initialise result,
but assign it instead. Eliminates an unused variable warning when
the result == 0 assertion is disabled.
From-SVN: r154670
Richard Henderson [Thu, 26 Nov 2009 02:39:42 +0000 (18:39 -0800)]
i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an optional 3rd argument to define the mode.
* config/i386/i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an
optional 3rd argument to define the mode.
* config/i386/i386-builtin-types.def (UQI, UHI, USI, UDI): New.
(V2UDI, V4USI, V8UHI, V16UQI): New.
(V4SF_FTYPE_V4SF_V4SF_V4SI, V2UDI_FTYPE_V2UDI_V2UDI_V2UDI,
V4USI_FTYPE_V4USI_V4USI_V4USI, V8UHI_FTYPE_V8UHI_V8UHI_V8UHI,
V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): New.
* config/i386/i386-modes.def: Rearrange for double-wide AVX.
* config/i386/i386-protos.h (ix86_expand_vec_extract_even_odd): New.
* config/i386/i386.c (IX86_BUILTIN_VEC_PERM_*): New.
(bdesc_args): Add the builtin definitions to match.
(ix86_expand_builtin): Expand them.
(ix86_builtin_vectorization_cost): Rename from
x86_builtin_vectorization_cost.
(ix86_vectorize_builtin_vec_perm, struct expand_vec_perm_d,
doublesize_vector_mode, expand_vselect, expand_vselect_vconcat,
expand_vec_perm_blend, expand_vec_perm_vpermil,
expand_vec_perm_pshufb, expand_vec_perm_1,
expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr,
expand_vec_perm_interleave2, expand_vec_perm_pshufb2,
expand_vec_perm_even_odd_1, expand_vec_perm_even_odd,
ix86_expand_vec_perm_builtin_1, extract_vec_perm_cst,
ix86_expand_vec_perm_builtin, ix86_vectorize_builtin_vec_perm_ok,
ix86_expand_vec_extract_even_odd, TARGET_VECTORIZE_BUILTIN_VEC_PERM,
TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
* sse.md (SSEMODE_EO): New.
(vec_extract_even<mode>): Use SSEMODE_EO and
ix86_expand_vec_extract_even_odd.
(vec_extract_odd<mode>): Likewise.
(mulv16qi3, vec_pack_trunc_v8hi, vec_pack_trunc_v4si,
vec_pack_trunc_v2di): Use ix86_expand_vec_extract_even_odd.
testsuite/
* gcc.dg/vect/slp-21.c: Succeed with vect_extract_even_odd too.
* lib/target-supports.exp
(check_effective_target_vect_extract_even_odd): Add x86.
* gcc.target/i386/isa-check.h: New.
* gcc.target/i386/vperm-2-2.inc, gcc.target/i386/vperm-4-1.inc,
gcc.target/i386/vperm-4-2.inc, gcc.target/i386/vperm-v2df.c,
gcc.target/i386/vperm-v2di.c, gcc.target/i386/vperm-v4sf-1.c,
gcc.target/i386/vperm-v4sf-2.c, gcc.target/i386/vperm-v4si-1.c,
gcc.target/i386/vperm-v4si-2.c, gcc.target/i386/vperm-v4si-2x.c,
gcc.target/i386/vperm.pl: New files.
From-SVN: r154667
Richard Henderson [Thu, 26 Nov 2009 02:03:50 +0000 (18:03 -0800)]
pr36493.c: Call check_vect.
* gcc.dg/vect/pr36493.c: Call check_vect.
* gcc.dg/vect/pr37539.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-3.c: Call check_vect earlier.
* tree-vect.h (check_vect): Use cpuid for x86.
From-SVN: r154666
Richard Henderson [Thu, 26 Nov 2009 01:52:19 +0000 (17:52 -0800)]
target.h (targetm.vectorize.builtin_vec_perm_ok): New.
* target.h (targetm.vectorize.builtin_vec_perm_ok): New.
* target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
* hooks.h, hooks.c (hook_bool_tree_tree_true): New.
* tree-vect-slp.c (vect_create_mask_and_perm): Don't create
the vector constant here...
(vect_transform_slp_perm_load): ... do it here instead. Validate
that the permutation vector is implementable by the target.
From-SVN: r154665
GCC Administrator [Thu, 26 Nov 2009 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r154664
Ben Elliston [Wed, 25 Nov 2009 22:40:19 +0000 (22:40 +0000)]
configure.ac (AC_CHECK_FUNCS): Sort into alphabetical order.
* configure.ac (AC_CHECK_FUNCS): Sort into alphabetical order.
* configure: Regenerate.
From-SVN: r154660
Eric Botcazou [Wed, 25 Nov 2009 21:57:02 +0000 (21:57 +0000)]
trans.c (unchecked_conversion_lhs_nop): Rename into...
* gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
(unchecked_conversion_nop): ...this. Handle actual parameters.
(gnat_to_gnu): Adjust for above renaming.
From-SVN: r154659
Eric Botcazou [Wed, 25 Nov 2009 21:28:00 +0000 (21:28 +0000)]
decl.c (gnat_to_gnu_entity): Translate regular boolean types into BOOLEAN_TYPEs.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
Translate regular boolean types into BOOLEAN_TYPEs.
From-SVN: r154658
Jakub Jelinek [Wed, 25 Nov 2009 20:28:56 +0000 (21:28 +0100)]
re PR fortran/42162 (OpenMP: ICE: tree check in omp_add_variable, at gimplify.c:5282)
PR fortran/42162
* trans-openmp.c (gfc_trans_omp_do): When dovar isn't a VAR_DECL,
don't use simple loop and handle clauses properly.
* testsuite/libgomp.fortran/pr42162.f90: New test.
From-SVN: r154654
Jakub Jelinek [Wed, 25 Nov 2009 20:23:20 +0000 (21:23 +0100)]
sysv4.opt (mregnames): Change Var to rs6000_regnames.
* config/rs6000/sysv4.opt (mregnames): Change Var to rs6000_regnames.
* config/rs6000/sysv4.h (TARGET_REGNAMES): Define.
* gcc.target/powerpc/regnames-1.c: New test.
From-SVN: r154653
Jakub Jelinek [Wed, 25 Nov 2009 20:20:40 +0000 (21:20 +0100)]
re PR target/42165 (-masm=intel doesn't know how to print AVX instructions)
PR target/42165
* config/i386/i386.c (print_operand): For 32-byte memory use
YMMWORD in -masm=intel mode. Use TBYTE instead of XWORD.
* config/i386/i386.md (crc32modesuffix): Expand to nothing
in -masm=intel mode.
(sse4_2_crc32di): Print just crc32 instead of crc32q in
-masm=intel mode.
* config/i386/mmx.md (*mmx_pinsrw): Print correct size of
memory operand in -masm=intel mode.
* config/i386/sse.md (*avx_pinsr<ssevecsize>, *sse4_1_pinsrb,
*sse2_pinsrw): Likewise.
(sse_cvtss2siq, sse_cvtss2siq_2, sse_cvttss2siq): Don't print
q suffix in -masm=intel mode.
From-SVN: r154652
Jakub Jelinek [Wed, 25 Nov 2009 20:18:37 +0000 (21:18 +0100)]
print-rtl.c (print_rtx): When printing newline, append print_rtx_head and indentation after the newline.
* print-rtl.c (print_rtx): When printing newline, append
print_rtx_head and indentation after the newline.
From-SVN: r154651
Eric Botcazou [Wed, 25 Nov 2009 19:55:11 +0000 (19:55 +0000)]
re PR target/10127 (-fstack-check let's program crash)
PR target/10127
PR ada/20548
PR middle-end/42004
* dwarf2out.c (dwarf2out_args_size_adjust): Rename to...
(dwarf2out_stack_adjust): ...this. Do not adjust the arg size for
ACCUMULATE_OUTGOING_ARGS targets. Rename former version to...
(dwarf2out_notice_stack_adjust): ...this. Adjust for above renaming.
(dwarf2out_frame_debug_expr): Revert previous change and adjust for
above renaming.
(dwarf2out_frame_debug): Add ??? comment. Adjust for above renaming.
From-SVN: r154650
Uros Bizjak [Wed, 25 Nov 2009 19:32:37 +0000 (20:32 +0100)]
predicates.md (emms_operation): New predicate.
* config/i386/predicates.md (emms_operation): New predicate.
(vzeroupper_operation): Ditto.
(vzeroall_operation): Improve pattern recognition.
* config/i386/sse.md (avx_vzeroupper_rex64): Remove insn pattern.
(avx_vzeroupper): Change insn pattern to expander.
(*avx_vzeroupper): New insn pattern. Use vzeroupper_operation
predicate.
(*avx_vzeroall): Remove operands 1 and 2.
* config/i386/mmx.md (mmx_emms): Change insn pattern to expander.
(mmx_femms): Ditto.
(*mmx_emms): New insn pattern. Use emms_operation predicate.
(*mmx_femms): Ditto.
* config/i386/i386.c (enum ix86_builtins)
<IX86_BUILTIN_VZEROUPPER_REX64>: Remove.
(struct builtin_description) <CODE_FOR_avx_vzeroupper_rex64>:
Remove initailization.
<CODE_FOR_avx_vzeroupper>: Unconditionally initialize here.
From-SVN: r154649
Paul Brook [Wed, 25 Nov 2009 13:58:51 +0000 (13:58 +0000)]
arm.md (consttable_4): Handle (high ...).
2009-11-25 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.md (consttable_4): Handle (high ...).
From-SVN: r154648
Robert Nelson [Wed, 25 Nov 2009 11:23:07 +0000 (11:23 +0000)]
arm.h (enum vfp_reg_type): Add VFP_NONE.
2009-11-25 Robert Nelson <robert.nelson@digikey.com>
Richard Earnshaw <rearnsha@arm.com>
* arm.h (enum vfp_reg_type): Add VFP_NONE.
* arm.c (all_fpus): Use it for floating point units that aren't based
on the VFP architecture.
(aapcs_vfp_is_call_or_return_candidate): Make base_mode a pointer to
enum machine_mode.
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r154647
Eric Botcazou [Wed, 25 Nov 2009 11:01:26 +0000 (11:01 +0000)]
re PR ada/42170 (Ada testsuite regressions caused by 8MB stack limit)
PR ada/42170
* ada/acats/run_acats: Bump stack limit to 16MB.
Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r154646
H.J. Lu [Wed, 25 Nov 2009 10:55:54 +0000 (10:55 +0000)]
Remove trailing white spaces.
2009-11-25 H.J. Lu <hongjiu.lu@intel.com>
* alias.c: Remove trailing white spaces.
* alloc-pool.c: Likewise.
* alloc-pool.h: Likewise.
* attribs.c: Likewise.
* auto-inc-dec.c: Likewise.
* basic-block.h: Likewise.
* bb-reorder.c: Likewise.
* bt-load.c: Likewise.
* builtins.c: Likewise.
* builtins.def: Likewise.
* c-common.c: Likewise.
* c-common.h: Likewise.
* c-cppbuiltin.c: Likewise.
* c-decl.c: Likewise.
* c-format.c: Likewise.
* c-lex.c: Likewise.
* c-omp.c: Likewise.
* c-opts.c: Likewise.
* c-parser.c: Likewise.
* c-pretty-print.c: Likewise.
* c-tree.h: Likewise.
* c-typeck.c: Likewise.
* caller-save.c: Likewise.
* calls.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgexpand.c: Likewise.
* cfghooks.c: Likewise.
* cfghooks.h: Likewise.
* cfglayout.c: Likewise.
* cfgloop.c: Likewise.
* cfgloop.h: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraph.h: Likewise.
* cgraphbuild.c: Likewise.
* cgraphunit.c: Likewise.
* cif-code.def: Likewise.
* collect2.c: Likewise.
* combine.c: Likewise.
* convert.c: Likewise.
* coverage.c: Likewise.
* crtstuff.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* dbgcnt.c: Likewise.
* dbgcnt.def: Likewise.
* dbgcnt.h: Likewise.
* dbxout.c: Likewise.
* dce.c: Likewise.
* ddg.c: Likewise.
* ddg.h: Likewise.
* defaults.h: Likewise.
* df-byte-scan.c: Likewise.
* df-core.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* df.h: Likewise.
* dfp.c: Likewise.
* diagnostic.c: Likewise.
* diagnostic.h: Likewise.
* dominance.c: Likewise.
* domwalk.c: Likewise.
* double-int.c: Likewise.
* double-int.h: Likewise.
* dse.c: Likewise.
* dwarf2asm.c: Likewise.
* dwarf2asm.h: Likewise.
* dwarf2out.c: Likewise.
* ebitmap.c: Likewise.
* ebitmap.h: Likewise.
* emit-rtl.c: Likewise.
* et-forest.c: Likewise.
* except.c: Likewise.
* except.h: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* expr.h: Likewise.
* final.c: Likewise.
* flags.h: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* function.h: Likewise.
* fwprop.c: Likewise.
* gcc.c: Likewise.
* gcov-dump.c: Likewise.
* gcov-io.c: Likewise.
* gcov-io.h: Likewise.
* gcov.c: Likewise.
* gcse.c: Likewise.
* genattr.c: Likewise.
* genattrtab.c: Likewise.
* genautomata.c: Likewise.
* genchecksum.c: Likewise.
* genconfig.c: Likewise.
* genflags.c: Likewise.
* gengtype-parse.c: Likewise.
* gengtype.c: Likewise.
* gengtype.h: Likewise.
* genmddeps.c: Likewise.
* genmodes.c: Likewise.
* genopinit.c: Likewise.
* genpreds.c: Likewise.
* gensupport.c: Likewise.
* ggc-common.c: Likewise.
* ggc-page.c: Likewise.
* ggc-zone.c: Likewise.
* ggc.h: Likewise.
* gimple-iterator.c: Likewise.
* gimple-low.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple.c: Likewise.
* gimple.def: Likewise.
* gimple.h: Likewise.
* gimplify.c: Likewise.
* graphds.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* gthr-nks.h: Likewise.
* gthr-posix.c: Likewise.
* gthr-posix.h: Likewise.
* gthr-posix95.h: Likewise.
* gthr-single.h: Likewise.
* gthr-tpf.h: Likewise.
* gthr-vxworks.h: Likewise.
* gthr.h: Likewise.
* haifa-sched.c: Likewise.
* hard-reg-set.h: Likewise.
* hooks.c: Likewise.
* hooks.h: Likewise.
* hosthooks.h: Likewise.
* hwint.h: Likewise.
* ifcvt.c: Likewise.
* incpath.c: Likewise.
* init-regs.c: Likewise.
* integrate.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-struct-reorg.c: Likewise.
* ipa-struct-reorg.h: Likewise.
* ipa-type-escape.c: Likewise.
* ipa-type-escape.h: Likewise.
* ipa-utils.c: Likewise.
* ipa-utils.h: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-emit.c: Likewise.
* ira-int.h: Likewise.
* ira-lives.c: Likewise.
* ira.c: Likewise.
* jump.c: Likewise.
* lambda-code.c: Likewise.
* lambda-mat.c: Likewise.
* lambda-trans.c: Likewise.
* lambda.h: Likewise.
* langhooks.c: Likewise.
* lcm.c: Likewise.
* libgcov.c: Likewise.
* lists.c: Likewise.
* loop-doloop.c: Likewise.
* loop-init.c: Likewise.
* loop-invariant.c: Likewise.
* loop-iv.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-compress.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-in.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* lto-streamer.h: Likewise.
* lto-symtab.c: Likewise.
* lto-wpa-fixup.c: Likewise.
* matrix-reorg.c: Likewise.
* mcf.c: Likewise.
* mode-switching.c: Likewise.
* modulo-sched.c: Likewise.
* omega.c: Likewise.
* omega.h: Likewise.
* omp-low.c: Likewise.
* optabs.c: Likewise.
* optabs.h: Likewise.
* opts-common.c: Likewise.
* opts.c: Likewise.
* params.def: Likewise.
* params.h: Likewise.
* passes.c: Likewise.
* plugin.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* predict.def: Likewise.
* pretty-print.c: Likewise.
* pretty-print.h: Likewise.
* print-rtl.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* read-rtl.c: Likewise.
* real.c: Likewise.
* recog.c: Likewise.
* reg-stack.c: Likewise.
* regcprop.c: Likewise.
* reginfo.c: Likewise.
* regmove.c: Likewise.
* regrename.c: Likewise.
* regs.h: Likewise.
* regstat.c: Likewise.
* reload.c: Likewise.
* reload1.c: Likewise.
* resource.c: Likewise.
* rtl.c: Likewise.
* rtl.def: Likewise.
* rtl.h: Likewise.
* rtlanal.c: Likewise.
* sbitmap.c: Likewise.
* sched-deps.c: Likewise.
* sched-ebb.c: Likewise.
* sched-int.h: Likewise.
* sched-rgn.c: Likewise.
* sched-vis.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-dump.h: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched-ir.h: Likewise.
* sel-sched.c: Likewise.
* sel-sched.h: Likewise.
* sese.c: Likewise.
* sese.h: Likewise.
* simplify-rtx.c: Likewise.
* stack-ptr-mod.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* stringpool.c: Likewise.
* stub-objc.c: Likewise.
* sync-builtins.def: Likewise.
* target-def.h: Likewise.
* target.h: Likewise.
* targhooks.c: Likewise.
* targhooks.h: Likewise.
* timevar.c: Likewise.
* tlink.c: Likewise.
* toplev.c: Likewise.
* toplev.h: Likewise.
* tracer.c: Likewise.
* tree-affine.c: Likewise.
* tree-affine.h: Likewise.
* tree-browser.def: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-chrec.h: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-data-ref.h: Likewise.
* tree-dfa.c: Likewise.
* tree-dump.c: Likewise.
* tree-dump.h: Likewise.
* tree-eh.c: Likewise.
* tree-flow-inline.h: Likewise.
* tree-flow.h: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-loop-linear.c: Likewise.
* tree-mudflap.c: Likewise.
* tree-nested.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-nrv.c: Likewise.
* tree-object-size.c: Likewise.
* tree-optimize.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-pass.h: Likewise.
* tree-phinodes.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-live.h: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-operands.c: Likewise.
* tree-ssa-operands.h: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vectorizer.h: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tree.def: Likewise.
* tree.h: Likewise.
* treestruct.def: Likewise.
* unwind-compat.c: Likewise.
* unwind-dw2-fde-glibc.c: Likewise.
* unwind-dw2.c: Likewise.
* value-prof.c: Likewise.
* value-prof.h: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* vec.c: Likewise.
* vec.h: Likewise.
* vmsdbgout.c: Likewise.
* web.c: Likewise.
* xcoffout.c: Likewise.
From-SVN: r154645
Richard Earnshaw [Wed, 25 Nov 2009 10:33:40 +0000 (10:33 +0000)]
pr40835.c: Require a thumb1 target, do not force -march=armv5e.
* gcc.target/arm/pr40835.c: Require a thumb1 target, do not force
-march=armv5e.
From-SVN: r154644
Sebastian Pop [Wed, 25 Nov 2009 05:36:57 +0000 (05:36 +0000)]
Empty patch as it is a revert patch already applied.
From-SVN: r154643
Sebastian Pop [Wed, 25 Nov 2009 05:36:29 +0000 (05:36 +0000)]
Empty patch as it should not be applied to trunk.
From-SVN: r154642
Sebastian Pop [Wed, 25 Nov 2009 05:35:58 +0000 (05:35 +0000)]
re PR middle-end/40281 (-fprefetch-loop-arrays: ICE: in initialize_matrix_A, at tree-data-ref.c:1887)
2009-11-18 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/40281
* testsuite/gcc.dg/graphite/pr40281.c: New.
* tree-scalar-evolution.c (instantiate_scev_poly): Base and stride
evolutions should not variate in inner loops.
From-SVN: r154641
Sebastian Pop [Wed, 25 Nov 2009 05:32:03 +0000 (05:32 +0000)]
re PR middle-end/42050 (ice in graphite-clast-to-gimple.c:165)
2009-11-18 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/42050
* testsuite/gfortran.dg/graphite/pr42050.f90: New.
From-SVN: r154640
Sebastian Pop [Wed, 25 Nov 2009 05:31:36 +0000 (05:31 +0000)]
graphite-interchange.c (memory_strides_in_loop_depth): New.
2009-11-18 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (memory_strides_in_loop_depth): New.
(pbb_interchange_profitable_p): Call memory_strides_in_loop_depth.
From-SVN: r154639
Sebastian Pop [Wed, 25 Nov 2009 05:31:07 +0000 (05:31 +0000)]
graphite-blocking.c (scop_do_block): New.
2009-11-18 Sebastian Pop <sebastian.pop@amd.com>
* graphite-blocking.c (scop_do_block): New.
* graphite-poly.c (apply_poly_transforms): Call scop_do_block.
* graphite-poly.h (scop_do_block): Declared.
From-SVN: r154638
Sebastian Pop [Wed, 25 Nov 2009 05:30:35 +0000 (05:30 +0000)]
graphite-blocking.c (pbb_strip_mine_profitable_p): The parameter depth is the loop nesting depth in the LST.
2009-11-18 Sebastian Pop <sebastian.pop@amd.com>
* graphite-blocking.c (pbb_strip_mine_profitable_p): The parameter
depth is the loop nesting depth in the LST. Call psct_dynamic_dim
to transform depth into the time_depth before calling
pbb_number_of_iterations_at_time.
(lst_do_strip_mine): Use a scalar variable instead of recomputing
lst_depth.
From-SVN: r154637
Sebastian Pop [Wed, 25 Nov 2009 05:30:05 +0000 (05:30 +0000)]
Empty patch, revert of another patch in the Graphite branch.
From-SVN: r154636
Sebastian Pop [Wed, 25 Nov 2009 05:29:37 +0000 (05:29 +0000)]
configure.ac: Check for version 0.15.5 or later revision of CLooG.
2009-11-21 Sebastian Pop <sebpop@gmail.com>
* configure.ac: Check for version 0.15.5 or later revision of CLooG.
* configure: Regenerated.
From-SVN: r154635
Konrad Trifunovic [Wed, 25 Nov 2009 05:29:01 +0000 (06:29 +0100)]
graphite-interchange.c (build_partial_difference): New.
2009-11-04 Konrad Trifunovic <konrad.trifunovic@inria.fr>
* graphite-interchange.c (build_partial_difference): New.
(memory_stride_in_loop): Refactored the computation of
equality constraints into build_partial_difference function.
Added support for debugging stride computations.
From-SVN: r154634
Sebastian Pop [Wed, 25 Nov 2009 05:28:32 +0000 (05:28 +0000)]
graphite-clast-to-gimple.c (gloog): Free if_region, if_region->true_region, and if_region->region.
2009-11-03 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (gloog): Free if_region,
if_region->true_region, and if_region->region.
* sese.c (if_region_set_false_region): Free if_region->false_region.
(create_if_region_on_edge): Do not use GGC_NEW.
(move_sese_in_condition): Remove useless initialization.
From-SVN: r154633
Sebastian Pop [Wed, 25 Nov 2009 05:28:05 +0000 (05:28 +0000)]
graphite-interchange.c (lst_perfect_nestify): Pass 3 parameters for the loops created by the loop distribution.
2009-11-03 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (lst_perfect_nestify): Pass 3 parameters
for the loops created by the loop distribution. Do not modify the
input LSTs.
(lst_try_interchange_loops): Same. Use a temporary LST for the
transformed schedule. Call lst_update_scattering before data
dependence analysis.
(lst_try_interchange): Pass an extra parameter INDEX.
(lst_do_interchange_1): New.
(lst_do_interchange): Call lst_do_interchange_1.
(scop_do_interchange): Call lst_update_scattering.
* graphite-poly.c (apply_poly_transforms): Do not call
lst_update_scattering.
* graphite-poly.h (lst_pred): New.
(lst_succ): New.
(lst_find_first_pbb): Return NULL when not found.
(lst_empty_p): New.
(lst_insert_in_sequence): Allow LST1 to be NULL.
(lst_replace): New.
(lst_substitute_3): New.
* gcc.dg/graphite/interchange-1.c: XFail.
* gcc.dg/graphite/interchange-8.c: XFail.
* gcc.dg/graphite/interchange-11.c: XFail.
From-SVN: r154632
Sebastian Pop [Wed, 25 Nov 2009 05:27:36 +0000 (05:27 +0000)]
graphite-interchange.c (lst_perfectly_nested_p): New.
2009-10-30 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (lst_perfectly_nested_p): New.
(lst_perfect_nestify): New.
(lst_try_interchange_loops): Call store_lst_schedule,
lst_perfectly_nested_p, lst_perfect_nestify and restore_lst_schedule.
(scop_do_interchange): Avoid redundant legality test.
Call lst_do_interchange on a copy of SCOP_TRANSFORMED_SCHEDULE.
* graphite-poly.c (apply_poly_transforms): Call lst_update_scattering.
* graphite-poly.h (psct_static_dim): New.
(lst_dewey_number_at_depth): New.
(lst_find_pbb): Restructured.
(lst_find_first_pbb): Restructured.
(lst_find_last_pbb): New.
(lst_contains_p): New.
(lst_contains_pbb): New.
(lst_create_nest): New.
(lst_remove_from_sequence): New.
(pbb_update_scattering): New.
(lst_update_scattering_under): New.
(lst_update_scattering_seq): New.
(lst_update_scattering): New.
(lst_insert_in_sequence): New.
(lst_distribute_lst): New.
(lst_remove_all_before_including_pbb): New.
(lst_remove_all_before_excluding_pbb): New.
From-SVN: r154631
Sebastian Pop [Wed, 25 Nov 2009 05:27:08 +0000 (05:27 +0000)]
tree-ssa-loop-niter.c (finite_loop_p): Do not call twice get_loop_exit_edges.
2009-10-30 Sebastian Pop <sebastian.pop@amd.com>
* tree-ssa-loop-niter.c (finite_loop_p): Do not call twice
get_loop_exit_edges.
From-SVN: r154630
Sebastian Pop [Wed, 25 Nov 2009 05:26:40 +0000 (05:26 +0000)]
graphite-poly.c (pbb_remove_duplicate_pdrs): Free collapsed.
2009-10-30 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (pbb_remove_duplicate_pdrs): Free collapsed.
From-SVN: r154629
Sebastian Pop [Wed, 25 Nov 2009 05:26:10 +0000 (05:26 +0000)]
Empty patch as it has been later reverted from the graphite branch.
From-SVN: r154628
Sebastian Pop [Wed, 25 Nov 2009 05:25:43 +0000 (05:25 +0000)]
graphite-clast-to-gimple.c (gloog): Do not call sese_reset_aux_in_loops.
2009-10-26 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (gloog): Do not call
sese_reset_aux_in_loops.
* graphite-sese-to-poly.c (build_loop_iteration_domains): Pass an
extra argument for domains. Do not use loop->aux.
(build_scop_iteration_domain): Initialize and free domains, pass it
to build_loop_iteration_domains and extract the information from
domains. Do not use loop->aux.
* sese.c (sese_reset_aux_in_loops): Removed.
* sese.h (sese_reset_aux_in_loops): Removed.
From-SVN: r154627
Sebastian Pop [Wed, 25 Nov 2009 05:25:11 +0000 (05:25 +0000)]
graphite-clast-to-gimple.c (find_pbb_via_hash): Moved up.
2009-10-26 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (find_pbb_via_hash): Moved up.
(dependency_in_loop_p): Same.
(translate_clast): Do not use loop->aux. Initialize
loop->can_be_parallel.
(mark_loops_parallel): Removed.
* graphite-clast-to-gimple.h (mark_loops_parallel): Removed.
* graphite.c (free_aux_in_new_loops): Removed.
(graphite_finalize): Do not call free_aux_in_new_loops.
(graphite_transform_loops): Do not call mark_loops_parallel.
From-SVN: r154626
Li Feng [Wed, 25 Nov 2009 05:24:43 +0000 (05:24 +0000)]
graphite-clast-to-gimple.c (get_stmtfor_depth): Removed.
2009-10-20 Li Feng <nemokingdom@gmail.com>
* graphite-clast-to-gimple.c (get_stmtfor_depth): Removed.
(translate_clast): Pass an extra parameter LEVEL.
Call get_scattering_level.
* graphite-clast-to-gimple.h (get_scattering_level): New.
From-SVN: r154625
Sebastian Pop [Wed, 25 Nov 2009 05:24:14 +0000 (05:24 +0000)]
cfgloop.c (alloc_loop): Initialize loop->single_iv.
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* cfgloop.c (alloc_loop): Initialize loop->single_iv.
* cfgloop.h (struct loop): New field single_iv.
* graphite-clast-to-gimple.c (pbb_to_depth_to_oldiv): Do not use
loop->aux anymore: use loop->single_iv.
(graphite_loop_normal_form): Moved...
(build_graphite_loop_normal_form): Removed.
(gloog): Do not call build_graphite_loop_normal_form.
(free_aux_in_new_loops): Moved...
(mark_loops_parallel): Restructure.
* graphite-clast-to-gimple.h (free_aux_in_new_loops): Do not declare.
* graphite-sese-to-poly.c (graphite_loop_normal_form): ...here.
(scop_canonicalize_loops): New.
(build_poly_scop): Call scop_canonicalize_loops.
* graphite.c (free_aux_in_new_loops): ...here.
From-SVN: r154624
Sebastian Pop [Wed, 25 Nov 2009 05:23:45 +0000 (05:23 +0000)]
graphite.exp: Add the same rules as in gcc.dg/graphite/graphite.exp.
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* g++.dg/graphite/graphite.exp: Add the same rules as in
gcc.dg/graphite/graphite.exp.
From-SVN: r154623
Sebastian Pop [Wed, 25 Nov 2009 05:23:16 +0000 (05:23 +0000)]
id-1.C: New.
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* g++.dg/graphite/id-1.C: New.
From-SVN: r154622
Sebastian Pop [Wed, 25 Nov 2009 05:22:49 +0000 (05:22 +0000)]
graphite-sese-to-poly.c (create_zero_dim_array): Pass an extra argument base_name.
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (create_zero_dim_array): Pass an extra
argument base_name.
(rewrite_close_phi_out_of_ssa): Update use of create_zero_dim_array.
(rewrite_phi_out_of_ssa): Same.
(rewrite_cross_bb_scalar_deps): Same.
(translate_scalar_reduction_to_array): Same.
From-SVN: r154621
Sebastian Pop [Wed, 25 Nov 2009 05:22:21 +0000 (05:22 +0000)]
Empty patch as already applied to trunk.
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (build_scop_drs): Disable call to
dump_alias_graphs.
From-SVN: r154620
Sebastian Pop [Wed, 25 Nov 2009 05:21:54 +0000 (05:21 +0000)]
graphite-sese-to-poly.c (dump_alias_graphs): New.
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (dump_alias_graphs): New.
(build_scop_drs): Call dump_alias_graphs.
From-SVN: r154619
Sebastian Pop [Wed, 25 Nov 2009 05:21:26 +0000 (05:21 +0000)]
graphite-poly.c (new_scop): Initialize SCOP_ORIGINAL_SCHEDULE...
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (new_scop): Initialize SCOP_ORIGINAL_SCHEDULE,
SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
(free_scop): Call free_lst on SCOP_ORIGINAL_SCHEDULE,
SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
* graphite-poly.h (free_lst): New.
(store_lst_schedule): Free SCOP_SAVED_SCHEDULE.
(restore_lst_schedule): Free SCOP_TRANSFORMED_SCHEDULE.
From-SVN: r154618
Sebastian Pop [Wed, 25 Nov 2009 05:20:58 +0000 (05:20 +0000)]
graphite-poly.h (struct scop): Add a field saved_schedule.
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.h (struct scop): Add a field saved_schedule.
(SCOP_SAVED_SCHEDULE): New.
(store_lst_schedule): New.
(restore_lst_schedule): New.
(store_scattering): Call store_lst_schedule.
(restore_scattering): Call restore_lst_schedule.
From-SVN: r154617
Sebastian Pop [Wed, 25 Nov 2009 05:20:31 +0000 (05:20 +0000)]
graphite-sese-to-poly.c (free_data_refs_aux): Fix formatting.
2009-10-20 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (free_data_refs_aux): Fix formatting.
(pdr_add_alias_set): Same.
(build_poly_dr): Same.
(build_alias_set_optimal_p): Same.
(build_base_obj_set_for_drs): Same. Do not store the result of
graphds_dfs.
From-SVN: r154616
Sebastian Pop [Wed, 25 Nov 2009 05:20:01 +0000 (05:20 +0000)]
graphite-sese-to-poly.c (build_alias_set_optimal_p): Initialize all_components_are_cliques to 1.
2009-10-20 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (build_alias_set_optimal_p): Initialize
all_components_are_cliques to 1.
From-SVN: r154615
Li Feng [Wed, 25 Nov 2009 05:19:32 +0000 (05:19 +0000)]
graphite-sese-to-poly.c (free_data_refs_aux): Update to free the new structure.
2009-10-20 Li Feng <nemokingdom@gmail.com>
* graphite-sese-to-poly.c (free_data_refs_aux): Update to free
the new structure.
(pdr_add_alias_set): Update retrieving alias_set_num.
(build_poly_dr): Update retrieving dr_base_object_set.
(partition_drs_to_sets): Remove.
(build_alias_set_optimal_p): New.
(build_alias_set_for_drs): Rename.
(build_scop_drs): Update.
* graphite-sese-to-poly.h (struct base_alias_pair): New.
(ALIAS_SET_INDEX): Remove.
(BASE_OBJECT_SET_INDEX): Remove.
From-SVN: r154614
Sebastian Pop [Wed, 25 Nov 2009 05:19:05 +0000 (05:19 +0000)]
sese.c (get_vdef_before_sese): Handle GIMPLE_ASSIGN and GIMPLE_CALL.
2009-10-20 Sebastian Pop <sebastian.pop@amd.com>
* sese.c (get_vdef_before_sese): Handle GIMPLE_ASSIGN and GIMPLE_CALL.
From-SVN: r154613
Sebastian Pop [Wed, 25 Nov 2009 05:18:35 +0000 (05:18 +0000)]
graphite-sese-to-poly.c (pdr_add_data_dimensions): Do not infer loop upper bounds for 1-element arrays at end of structures.
2009-10-20 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (pdr_add_data_dimensions): Do not infer
loop upper bounds for 1-element arrays at end of structures.
* tree-flow.h (array_at_struct_end_p): Declared.
* tree-ssa-loop-niter.c (array_at_struct_end_p): Not static anymore.
From-SVN: r154612
Sebastian Pop [Wed, 25 Nov 2009 05:18:06 +0000 (05:18 +0000)]
pr41305.C: New.
2009-10-20 Sebastian Pop <sebastian.pop@amd.com>
* g++.dg/graphite/pr41305.C: New.
From-SVN: r154611
Alexander Monakov [Wed, 25 Nov 2009 05:17:38 +0000 (08:17 +0300)]
graphite-sese-to-poly.c (build_loop_iteration_domains): Generalize construction of parameter constraints from loop iteration analysis.
2009-10-20 Alexander Monakov <amonakov@ispras.ru>
* graphite-sese-to-poly.c (build_loop_iteration_domains): Generalize
construction of parameter constraints from loop iteration analysis.
* gcc.dg/graphite/run-id-2.c: New test.
From-SVN: r154610
Sebastian Pop [Wed, 25 Nov 2009 05:17:09 +0000 (05:17 +0000)]
graphite-interchange.c (memory_stride_in_loop): Delete p1, lma and new_cstr.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (memory_stride_in_loop): Delete p1, lma
and new_cstr.
From-SVN: r154609
Sebastian Pop [Wed, 25 Nov 2009 05:16:42 +0000 (05:16 +0000)]
graphite-dependences.c (dependence_polyhedron_1): Remove unused gdim dimensions from the DDR polyhedron.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (dependence_polyhedron_1): Remove
unused gdim dimensions from the DDR polyhedron.
From-SVN: r154608
Sebastian Pop [Wed, 25 Nov 2009 05:16:14 +0000 (05:16 +0000)]
graphite-dependences.c (pddr_transformed_scattering): New.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (pddr_transformed_scattering): New.
(dot_original_deps_stmt_1): New.
(dot_transformed_deps_stmt_1): New.
(dot_deps_stmt_1): Call dot_original_deps_stmt_1 and
dot_transformed_deps_stmt_1.
(dot_original_deps): New.
(dot_transformed_deps): New.
(dot_deps_1): Call dot_original_deps and dot_transformed_deps.
From-SVN: r154607
Sebastian Pop [Wed, 25 Nov 2009 05:15:47 +0000 (05:15 +0000)]
graphite-dependences.c (reduction_dr_1): Remove wrong assert: reduction BBs can have multiple reduction writes to memory.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (reduction_dr_1): Remove wrong
assert: reduction BBs can have multiple reduction writes
to memory.
From-SVN: r154606
Sebastian Pop [Wed, 25 Nov 2009 05:15:18 +0000 (05:15 +0000)]
interchange-3.f90: New.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* gfortran.dg/graphite/interchange-3.f90: New.
From-SVN: r154605
Sebastian Pop [Wed, 25 Nov 2009 05:14:51 +0000 (05:14 +0000)]
interchange-1.c: Un-XFAILed.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/graphite/interchange-1.c: Un-XFAILed.
From-SVN: r154604
Sebastian Pop [Wed, 25 Nov 2009 05:14:24 +0000 (05:14 +0000)]
graphite-dependences.c (dependence_polyhedron_1): Add the context to the dependence polyhedron.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (dependence_polyhedron_1): Add the
context to the dependence polyhedron.
From-SVN: r154603
Sebastian Pop [Wed, 25 Nov 2009 05:13:57 +0000 (05:13 +0000)]
graphite-poly.c (pbb_remove_duplicate_pdrs): Initialize PBB_PDR_DUPLICATES_REMOVED.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (pbb_remove_duplicate_pdrs): Initialize
PBB_PDR_DUPLICATES_REMOVED.
(new_poly_bb): Same.
From-SVN: r154602
Sebastian Pop [Wed, 25 Nov 2009 05:13:30 +0000 (05:13 +0000)]
graphite-sese-to-poly.c (find_scop_parameters): Initialize SCOP_CONTEXT.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (find_scop_parameters): Initialize
SCOP_CONTEXT.
(build_loop_iteration_domains): Extract bounds on parameters
based on the data size.
(build_scop_context): Do not initialize SCOP_CONTEXT;
add new constraints.
From-SVN: r154601
Sebastian Pop [Wed, 25 Nov 2009 05:13:03 +0000 (05:13 +0000)]
graphite-ppl.c (ppl_min_for_le_polyhedron): New.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-ppl.c (ppl_min_for_le_polyhedron): New.
* graphite-ppl.h (graphite-ppl.h): Declared.
From-SVN: r154600
Sebastian Pop [Wed, 25 Nov 2009 05:12:35 +0000 (05:12 +0000)]
graphite-ppl.c (ppl_print_linear_expr): New.
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-ppl.c (ppl_print_linear_expr): New.
(debug_ppl_linear_expr): New.
* graphite-ppl.h (ppl_print_linear_expr): Declared.
(debug_ppl_linear_expr): Declared.
From-SVN: r154599
Sebastian Pop [Wed, 25 Nov 2009 05:12:07 +0000 (05:12 +0000)]
graphite-interchange.c: Fix comments.
2009-10-16 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c: Fix comments.
* gcc.dg/graphite/block-1.c: Fix comments.
From-SVN: r154598
Sebastian Pop [Wed, 25 Nov 2009 05:11:38 +0000 (05:11 +0000)]
interchange-7.c: Un-XFAILed.
2009-10-16 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/graphite/interchange-7.c: Un-XFAILed.
* gcc.dg/graphite/interchange-9.c: Un-XFAILed.
From-SVN: r154597
Sebastian Pop [Wed, 25 Nov 2009 05:11:10 +0000 (05:11 +0000)]
Empty patch, as it already is applied to trunk.
From-SVN: r154596
Sebastian Pop [Wed, 25 Nov 2009 05:10:43 +0000 (05:10 +0000)]
graphite-interchange.c (memory_stride_in_loop): The depth argument corresponds to a dynamic time dimension...
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (memory_stride_in_loop): The depth
argument corresponds to a dynamic time dimension, so use
psct_dynamic_dim to refer to the transformed scattering dimension.
From-SVN: r154595
Sebastian Pop [Wed, 25 Nov 2009 05:10:14 +0000 (05:10 +0000)]
graphite-interchange.c (memory_stride_in_loop): Fix comments.
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (memory_stride_in_loop): Fix comments.
From-SVN: r154594
Sebastian Pop [Wed, 25 Nov 2009 05:09:36 +0000 (05:09 +0000)]
graphite-blocking.c (lst_do_strip_mine): Avoid strip mining the root of the LST.
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-blocking.c (lst_do_strip_mine): Avoid strip mining the
root of the LST.
* graphite-interchange.c (lst_do_interchange): Avoid interchanging
the root of the LST.
* graphite-poly.c (scop_to_lst): Fix LST sequence in an outermost
fake loop.
(print_lst): Print the root of LST in a different format.
* graphite-poly.h (lst_depth): Adjust to include the root of the LST.
From-SVN: r154593
Sebastian Pop [Wed, 25 Nov 2009 05:09:07 +0000 (05:09 +0000)]
graphite-poly.c (print_scop): Fix pretty printing of a SCoP.
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (print_scop): Fix pretty printing of a SCoP.
From-SVN: r154592
Sebastian Pop [Wed, 25 Nov 2009 05:08:37 +0000 (05:08 +0000)]
passes.texi: Document the Graphite infrastructure.
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* doc/passes.texi: Document the Graphite infrastructure.
From-SVN: r154591
Sebastian Pop [Wed, 25 Nov 2009 05:08:09 +0000 (05:08 +0000)]
re PR middle-end/41193 (slow compilation with graphite / ice with graphite)
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (insert_copyin): Use gsi_insert_seq_on_edge.
(rewrite_commutative_reductions_out_of_ssa): Call gsi_commit_edge_inserts,
and check the SSA representation.
* gfortran.dg/graphite/id-18.f90: New, reduced from PR41193.
From-SVN: r154590
Sebastian Pop [Wed, 25 Nov 2009 05:07:43 +0000 (05:07 +0000)]
pr40157.c: Use -floop-block as reported in the PR.
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/graphite/pr40157.c: Use -floop-block as reported in the PR.
From-SVN: r154589
Sebastian Pop [Wed, 25 Nov 2009 05:07:16 +0000 (05:07 +0000)]
interchange-11.c: New.
2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/graphite/interchange-11.c: New.
From-SVN: r154588
Sebastian Pop [Wed, 25 Nov 2009 05:06:49 +0000 (05:06 +0000)]
interchange-8.c: Enable loop interchange.
2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/graphite/interchange-8.c: Enable loop interchange.
From-SVN: r154587
Sebastian Pop [Wed, 25 Nov 2009 05:06:21 +0000 (05:06 +0000)]
graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK): Add -fno-loop-strip-mine and -fno-loop-interchange.
2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK):
Add -fno-loop-strip-mine and -fno-loop-interchange.
(DEFAULT_FLAGS_GRAPHITE_INTERCHANGE): Add -fno-loop-block and
-fno-loop-strip-mine.
* gfortran.dg/graphite/graphite.exp: Same.
From-SVN: r154586
Sebastian Pop [Wed, 25 Nov 2009 05:05:53 +0000 (05:05 +0000)]
graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK): Renamed DEFAULT_FLAGS_GRAPHITE_BLOCK.
2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK):
Renamed DEFAULT_FLAGS_GRAPHITE_BLOCK.
(DEFAULT_CFLAGS_GRAPHITE_IDENTITY): Renamed
DEFAULT_FLAGS_GRAPHITE_IDENTITY.
(DEFAULT_CFLAGS_GRAPHITE_INTERCHANGE): Renamed
DEFAULT_FLAGS_GRAPHITE_INTERCHANGE.
(DEFAULT_CFLAGS_GRAPHITE_SCOP): Renamed
DEFAULT_FLAGS_GRAPHITE_SCOP.
(DEFAULT_CFLAGS_RUN_ID): Renamed DEFAULT_FLAGS_RUN_ID.
(DEFAULT_CFLAGS_GRAPHITE): Renamed DEFAULT_FLAGS_GRAPHITE.
From-SVN: r154585
Sebastian Pop [Wed, 25 Nov 2009 05:05:22 +0000 (05:05 +0000)]
graphite-poly.c (pbb_number_of_iterations_at_time): Cleanup comments.
2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (pbb_number_of_iterations_at_time): Cleanup comments.
From-SVN: r154584
Konrad Trifunovic [Wed, 25 Nov 2009 05:04:53 +0000 (05:04 +0000)]
graphite-interchange.c (build_linearized_memory_access): Pass an offset as parameter.
2009-10-14 Konrad Trifunovic <konrad.trifunovic@gmail.com>
Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (build_linearized_memory_access): Pass an
offset as parameter.
(memory_stride_in_loop): Include transform scattering in the
access functions to be able to querry the strides in the
transformed loops.
(pbb_interchange_loop_depths): Interchange the psct_dynamic_dim,
not the psct_iterator_dim.
Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r154583
Sebastian Pop [Wed, 25 Nov 2009 05:04:26 +0000 (05:04 +0000)]
graphite-blocking.c (pbb_do_strip_mine): Removed.
2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
* graphite-blocking.c (pbb_do_strip_mine): Removed.
(lst_do_strip_mine_loop): New.
(lst_do_strip_mine): New.
(scop_do_strip_mine): Call lst_do_strip_mine.
* graphite-poly.h (lst_add_loop_under_loop): New.
(lst_find_first_pbb): New.
From-SVN: r154582
Sebastian Pop [Wed, 25 Nov 2009 05:03:58 +0000 (05:03 +0000)]
graphite-poly.c (loop_to_lst): Fix LST creation.
2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (loop_to_lst): Fix LST creation.
From-SVN: r154581