aesok [Mon, 10 Oct 2011 16:39:26 +0000 (16:39 +0000)]
* config/cris/cris.c (cris_preferred_reload_class): New function.
(TARGET_PREFERRED_RELOAD_CLASS): Define.
* config/cris/cris.h (PREFERRED_RELOAD_CLASS): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179761
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Mon, 10 Oct 2011 16:31:22 +0000 (16:31 +0000)]
* config/avr/avr.md (*tablejump_rjmp): Change insn condition to
!AVR_HAVE_JMP_CALL.
(*tablejump_lib): Change insn condition to AVR_HAVE_JMP_CALL.
(*tablejump_enh, *tablejump): Remove insns.
* config/avr/libgcc.S (__tablejump__): Use RET instead of EIND +
EIJMP for indirect jump. Use LPM Z+ where available.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179760
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 10 Oct 2011 16:22:21 +0000 (16:22 +0000)]
* doc/md.texi (vec_perm_const): Fix typo in cindex.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179759
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Mon, 10 Oct 2011 16:07:15 +0000 (16:07 +0000)]
Fix a typo in x86 FMA.
gcc/
2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
* config/i386/sse.md (fma_fnmsub_<mode>): Fix a typo.
gcc/testsuite/
2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
* gcc.target/i386/fma_1.h: New file.
* gcc.target/i386/fma_2.h: Likewise.
* gcc.target/i386/fma_3.h: Likewise.
* gcc.target/i386/fma_4.h: Likewise.
* gcc.target/i386/fma_5.h: Likewise.
* gcc.target/i386/fma_6.h: Likewise.
* gcc.target/i386/fma_double_1.c: Likewise.
* gcc.target/i386/fma_double_2.c: Likewise.
* gcc.target/i386/fma_double_3.c: Likewise.
* gcc.target/i386/fma_double_4.c: Likewise.
* gcc.target/i386/fma_double_5.c: Likewise.
* gcc.target/i386/fma_double_6.c: Likewise.
* gcc.target/i386/fma_float_1.c: Likewise.
* gcc.target/i386/fma_float_2.c: Likewise.
* gcc.target/i386/fma_float_3.c: Likewise.
* gcc.target/i386/fma_float_4.c: Likewise.
* gcc.target/i386/fma_float_5.c: Likewise.
* gcc.target/i386/fma_float_6.c: Likewise.
* gcc.target/i386/fma_main.h: Likewise.
* gcc.target/i386/fma_run_double_1.c: Likewise.
* gcc.target/i386/fma_run_double_2.c: Likewise.
* gcc.target/i386/fma_run_double_3.c: Likewise.
* gcc.target/i386/fma_run_double_4.c: Likewise.
* gcc.target/i386/fma_run_double_5.c: Likewise.
* gcc.target/i386/fma_run_double_6.c: Likewise.
* gcc.target/i386/fma_run_double_results_1.h: Likewise.
* gcc.target/i386/fma_run_double_results_2.h: Likewise.
* gcc.target/i386/fma_run_double_results_3.h: Likewise.
* gcc.target/i386/fma_run_double_results_4.h: Likewise.
* gcc.target/i386/fma_run_double_results_5.h: Likewise.
* gcc.target/i386/fma_run_double_results_6.h: Likewise.
* gcc.target/i386/fma_run_float_1.c: Likewise.
* gcc.target/i386/fma_run_float_2.c: Likewise.
* gcc.target/i386/fma_run_float_3.c: Likewise.
* gcc.target/i386/fma_run_float_4.c: Likewise.
* gcc.target/i386/fma_run_float_5.c: Likewise.
* gcc.target/i386/fma_run_float_6.c: Likewise.
* gcc.target/i386/fma_run_float_results_1.h: Likewise.
* gcc.target/i386/fma_run_float_results_2.h: Likewise.
* gcc.target/i386/fma_run_float_results_3.h: Likewise.
* gcc.target/i386/fma_run_float_results_4.h: Likewise.
* gcc.target/i386/fma_run_float_results_5.h: Likewise.
* gcc.target/i386/fma_run_float_results_6.h: Likewise.
* gcc.target/i386/l_fma_1.h: Likewise.
* gcc.target/i386/l_fma_2.h: Likewise.
* gcc.target/i386/l_fma_3.h: Likewise.
* gcc.target/i386/l_fma_4.h: Likewise.
* gcc.target/i386/l_fma_5.h: Likewise.
* gcc.target/i386/l_fma_6.h: Likewise.
* gcc.target/i386/l_fma_double_1.c: Likewise.
* gcc.target/i386/l_fma_double_2.c: Likewise.
* gcc.target/i386/l_fma_double_3.c: Likewise.
* gcc.target/i386/l_fma_double_4.c: Likewise.
* gcc.target/i386/l_fma_double_5.c: Likewise.
* gcc.target/i386/l_fma_double_6.c: Likewise.
* gcc.target/i386/l_fma_float_1.c: Likewise.
* gcc.target/i386/l_fma_float_2.c: Likewise.
* gcc.target/i386/l_fma_float_3.c: Likewise.
* gcc.target/i386/l_fma_float_4.c: Likewise.
* gcc.target/i386/l_fma_float_5.c: Likewise.
* gcc.target/i386/l_fma_float_6.c: Likewise.
* gcc.target/i386/l_fma_main.h: Likewise.
* gcc.target/i386/l_fma_run_double_1.c: Likewise.
* gcc.target/i386/l_fma_run_double_2.c: Likewise.
* gcc.target/i386/l_fma_run_double_3.c: Likewise.
* gcc.target/i386/l_fma_run_double_4.c: Likewise.
* gcc.target/i386/l_fma_run_double_5.c: Likewise.
* gcc.target/i386/l_fma_run_double_6.c: Likewise.
* gcc.target/i386/l_fma_run_float_1.c: Likewise.
* gcc.target/i386/l_fma_run_float_2.c: Likewise.
* gcc.target/i386/l_fma_run_float_3.c: Likewise.
* gcc.target/i386/l_fma_run_float_4.c: Likewise.
* gcc.target/i386/l_fma_run_float_5.c: Likewise.
* gcc.target/i386/l_fma_run_float_6.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179758
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 10 Oct 2011 15:45:53 +0000 (15:45 +0000)]
2011-10-10 Richard Guenther <rguenther@suse.de>
PR middle-end/50389
* gimple-fold.c (gimplify_and_update_call_from_tree): Do not
mark symbols for renaming. Append the VUSE to all statements
that possibly can have one.
* gcc.dg/torture/pr50389.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179757
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 10 Oct 2011 15:42:28 +0000 (15:42 +0000)]
2011-10-10 Richard Guenther <rguenther@suse.de>
* ipa-split.c (pass_split_functions): Add verification TODOs.
(pass_feedback_split_functions): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179756
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 10 Oct 2011 14:25:34 +0000 (14:25 +0000)]
2011-10-10 Richard Guenther <rguenther@suse.de>
PR middle-end/50195
* fold-const.c (fold_binary_loc): Canonicalize x*x to pow (x, 2)
only when optimizing.
* gcc.dg/builtins-47.c: Optimize.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179752
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Mon, 10 Oct 2011 13:42:41 +0000 (13:42 +0000)]
* lib/gcc-simulate-thread.exp: New.
* gcc.dg/simulate-thread/guality.h: New.
* gcc.dg/simulate-thread/simulate-thread.h: New.
* gcc.dg/simulate-thread/simulate-thread.exp: New.
* gcc.dg/simulate-thread/simulate-thread.gdb: New.
* gcc.dg/simulate-thread/README: New.
* g++.dg/simulate-thread/guality.h: New.
* g++.dg/simulate-thread/simulate-thread.h: New.
* g++.dg/simulate-thread/simulate-thread.exp: New.
* g++.dg/simulate-thread/simulate-thread.gdb: New.
* c-c++-common/cxxbitfields-2.c: Remove.
* c-c++-common/cxxbitfields.c: Remove.
* c-c++-common/cxxbitfields-4.c: Remove.
* c-c++-common/cxxbitfields-5.c: Remove.
* c-c++-common/simulate-thread/bitfields-1.c: New.
* c-c++-common/simulate-thread/bitfields-2.c: New.
* c-c++-common/simulate-thread/bitfields-3.c: New.
* c-c++-common/simulate-thread/bitfields-4.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179751
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Mon, 10 Oct 2011 13:31:03 +0000 (13:31 +0000)]
PR middle-end/49801
* compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
df_get_live_out instead of accessing the bitmaps directly.
(execute_compare_elim_after_reload): Remove calls to df_set_flags,
df_live_add_problem and df_analyze.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179749
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Mon, 10 Oct 2011 11:59:29 +0000 (11:59 +0000)]
PR middle-end/50638
* tree-emutls.c (gen_emutls_addr): Call add_referenced_var.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179745
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 10 Oct 2011 11:42:55 +0000 (11:42 +0000)]
gcc/
* modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
(SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES): Delete.
(node_sched_params): Remove first_reg_move and nreg_moves.
(ps_num_consecutive_stages, extend_node_sched_params): New functions.
(update_node_sched_params): Move up file.
(print_node_sched_params): Print the stage. Don't dump info related
to first_reg_move and nreg_moves.
(set_columns_for_row): New function.
(set_columns_for_ps): Move up file and use set_columns_for_row.
(schedule_reg_move): New function.
(schedule_reg_moves): Call extend_node_sched_params and
schedule_reg_move. Extend size of uses bitmap. Initialize
num_consecutive_stages. Return false if a move could not be
scheduled.
(apply_reg_moves): Don't emit moves here.
(permute_partial_schedule): Handle register moves.
(duplicate_insns_of_cycles): Remove for_prolog. Emit moves according
to the same stage-count test as ddg nodes.
(generate_prolog_epilog): Update calls accordingly.
(sms_schedule): Allow move-scheduling to add a new first stage.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179744
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 10 Oct 2011 11:42:38 +0000 (11:42 +0000)]
gcc/
* modulo-sched.c (ps_insn): Adjust comment.
(ps_reg_move_info): New structure.
(partial_schedule): Add reg_moves field.
(SCHED_PARAMS): Use node_sched_param_vec instead of node_sched_params.
(node_sched_params): Turn first_reg_move into an identifier.
(ps_reg_move): New function.
(ps_rtl_insn): Cope with register moves.
(ps_first_note): Adjust comment and assert that the instruction
isn't a register move.
(node_sched_params): Replace with...
(node_sched_param_vec): ...this vector.
(set_node_sched_params): Adjust accordingly.
(print_node_sched_params): Take a partial schedule instead of a ddg.
Use ps_rtl_insn and ps_reg_move.
(generate_reg_moves): Rename to...
(schedule_reg_moves): ...this. Remove rescan parameter. Record each
move in the partial schedule, but don't emit it here. Don't perform
register substitutions here either.
(apply_reg_moves): New function.
(duplicate_insns_of_cycles): Use register indices directly,
rather than finding instructions using PREV_INSN. Use ps_reg_move.
(sms_schedule): Call schedule_reg_moves before committing to
a partial schedule. Try the next ii if the schedule fails.
Use apply_reg_moves instead of generate_reg_moves. Adjust
call to print_node_sched_params. Free node_sched_param_vec
instead of node_sched_params.
(create_partial_schedule): Initialize reg_moves.
(free_partial_schedule): Free reg_moves.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179743
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 10 Oct 2011 11:42:21 +0000 (11:42 +0000)]
gcc/
* modulo-sched.c (ps_insn): Replace node field with an identifier.
(SCHED_ASAP): Replace with..
(NODE_ASAP): ...this macro.
(SCHED_PARAMS): New macro.
(SCHED_TIME, SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES, SCHED_ROW)
(SCHED_STAGE, SCHED_COLUMN): Redefine using SCHED_PARAMS.
(node_sched_params): Remove asap.
(ps_rtl_insn, ps_first_note): New functions.
(set_node_sched_params): Use XCNEWVEC. Don't copy across the
asap values.
(print_node_sched_params): Use SCHED_PARAMS and NODE_ASAP.
(generate_reg_moves): Pass ids to the SCHED_* macros.
(update_node_sched_params): Take a ps insn identifier rather than
a node as parameter. Use ps_rtl_insn.
(set_columns_for_ps): Update for above field and SCHED_* macro changes.
(permute_partial_schedule): Use ps_rtl_insn and ps_first_note.
(optimize_sc): Update for above field and SCHED_* macro changes.
Update calls to try_scheduling_node_in_cycle and
update_node_sched_params.
(duplicate_insns_of_cycles): Adjust for above field and SCHED_*
macro changes. Use ps_rtl_insn and ps_first_note.
(sms_schedule): Pass ids to the SCHED_* macros.
(get_sched_window): Adjust for above field and SCHED_* macro changes.
Use NODE_ASAP instead of SCHED_ASAP.
(try_scheduling_node_in_cycle): Remove node parameter. Update
call to ps_add_node_check_conflicts. Pass ids to the SCHED_*
macros.
(sms_schedule_by_order): Update call to try_scheduling_node_in_cycle.
(ps_insert_empty_row): Adjust for above field changes.
(compute_split_row): Use ids rather than nodes.
(verify_partial_schedule): Adjust for above field changes.
(print_partial_schedule): Use ps_rtl_insn.
(create_ps_insn): Take an id rather than a node.
(ps_insn_find_column): Adjust for above field changes.
Use ps_rtl_insn.
(ps_insn_advance_column): Adjust for above field changes.
(add_node_to_ps): Remove node parameter. Update call to
create_ps_insn.
(ps_has_conflicts): Use ps_rtl_insn.
(ps_add_node_check_conflicts): Replace node parameter than an id.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179742
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 10 Oct 2011 11:41:55 +0000 (11:41 +0000)]
gcc/
* modulo-sched.c (undo_replace_buff_elem): Delete.
(generate_reg_moves): Don't build and return an undo list.
(free_undo_replace_buff): Delete.
(sms_schedule): Adjust call to generate_reg_moves.
Don't call free_undo_replace_buff.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179741
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Mon, 10 Oct 2011 11:25:54 +0000 (11:25 +0000)]
2011-10-10 Matthias Klose <doko@ubuntu.com>
* common/config/m32c: Remove empty directory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179740
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Mon, 10 Oct 2011 09:57:02 +0000 (09:57 +0000)]
* config/avr/avr.md (*mulhi3_enh): Treat squaring smarter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179739
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Mon, 10 Oct 2011 08:32:15 +0000 (08:32 +0000)]
PR target/50652
* config/avr/avr-mcus.def (AVR_MCU): Set .data_section_start of
atmega164a to 0x100.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179737
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 10 Oct 2011 00:19:09 +0000 (00:19 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179735
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 9 Oct 2011 23:20:39 +0000 (23:20 +0000)]
/cp
2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38980
* init.c (constant_value_1): Add bool parameter.
(decl_constant_value_safe): Add.
(integral_constant_value): Adjust.
(decl_constant_value): Adjust.
* cp-tree.h (decl_constant_value_safe): Declare.
* typeck.c (decay_conversion): Use decl_constant_value_safe.
* call.c (convert_like_real): Likewise.
/testsuite
2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38980
* g++.dg/warn/format5.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179731
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 9 Oct 2011 21:39:12 +0000 (21:39 +0000)]
* tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make
the replacement if the conversion to the LHS type is not useless.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179730
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 9 Oct 2011 19:37:47 +0000 (19:37 +0000)]
2011-10-09 Tobias Burnus <burnus@net-b.de>
PR fortran/45044
* trans-common.c (translate_common): Fix -Walign-commons
check.
2011-10-09 Tobias Burnus <burnus@net-b.de>
PR fortran/45044
* gfortran.dg/common_14.f90: Compile with -Wno-align-commons.
* gfortran.dg/common_16.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179729
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Sun, 9 Oct 2011 16:59:42 +0000 (16:59 +0000)]
Fix dead e-mail address in ChangeLogs
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179728
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Sun, 9 Oct 2011 16:48:25 +0000 (16:48 +0000)]
Fix bogus e-mail address in ChangeLogs
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179727
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Sun, 9 Oct 2011 16:19:06 +0000 (16:19 +0000)]
* interface.c (check_dummy_characteristics): Count dimensions starting
from one in diagnostic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179726
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 9 Oct 2011 15:36:18 +0000 (15:36 +0000)]
2011-10-09 Tobias Burnus <burnus@net-b.de>
* Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
dependency on iso-c-binding.def and iso-fortran-env.def.
* module.c (import_iso_c_binding_module): Add error when
explicitly importing a nonstandard symbol; extend standard-
depending loading.
* iso-c-binding.def: Add c_float128 and c_float128_complex
integer parameters (for -std=gnu).
* intrinsic.texi (ISO_C_Binding): Document them.
* symbol.c (generate_isocbinding_symbol): Change macros
to ignore GFC_STD_* data.
* trans-types.c (gfc_init_c_interop_kinds): Ditto; make
nonstatic and renamed from "init_c_interop_kinds".
(gfc_init_kinds): Don't call it
* trans-types.h (gfc_init_c_interop_kinds): Add prototype.
* f95-lang.c (gfc_init_decl_processing): Call it.
2011-10-09 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/iso_c_binding_param_1.f90: New.
* gfortran.dg/iso_c_binding_param_2.f90: New.
* gfortran.dg/c_sizeof_2.f90: Update dg-error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179725
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Sun, 9 Oct 2011 15:09:00 +0000 (15:09 +0000)]
PR tree-optimization/50635
* tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add
DEF_STMT to the list of statements to be replaced by the
pattern statements.
(vect_handle_widen_mult_by_const): Don't check TYPE_OUT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179724
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sun, 9 Oct 2011 11:34:21 +0000 (11:34 +0000)]
2011-10-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/50659
* expr.c (replace_symbol): Only do replacement if the symbol is a dummy.
2011-10-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/50659
* gfortran.dg/proc_decl_27.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179723
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Sun, 9 Oct 2011 11:09:59 +0000 (11:09 +0000)]
* system.h: Commit forgotten hunk in previous patch.
(OUTPUT_ADDR_CONST_EXTRA): Poison.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179722
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Sun, 9 Oct 2011 10:29:50 +0000 (10:29 +0000)]
In libobjc/:
2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
PR libobjc/49883
* init.c (__objc_exec_class): Work around a bug in clang's code
generation. Clang sets the class->info field to values different
from 0x1 or 0x2 (the only allowed values in the traditional GNU
Objective-C runtime ABI) to store some additional information, but
this breaks backwards compatibility. Wipe out all the bits in the
fields other than the first two upon loading a class.
2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
* class.c (objc_lookup_class): Added back for compatibility with
clang which seems to emit calls to it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179721
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sun, 9 Oct 2011 09:35:23 +0000 (09:35 +0000)]
* pt.c (reregister_specialization): Use htab_find instead of
htab_find_slot with INSERT.
(maybe_process_partial_specialization, lookup_template_class_1): Change
slot variable type to void ** to avoid aliasing problems.
(register_specialization): Likewise. Use slot != NULL instead of
more expensive !optimize_specialization_lookup_p (tmpl) test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179719
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 9 Oct 2011 00:21:37 +0000 (00:21 +0000)]
2011-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34927
* typeck2.c (abstract_virtuals_error_sfinae): Don't produce duplicate
inform messages in case of cloned destructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179718
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 9 Oct 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179717
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Sat, 8 Oct 2011 19:10:09 +0000 (19:10 +0000)]
Fix ChangeLog format for revision 177233.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179712
138bc75d-0d04-0410-961f-
82ee72b054a4
nicola [Sat, 8 Oct 2011 17:52:06 +0000 (17:52 +0000)]
In libobjc/:
2011-10-08 Richard Frith-Macdonald <rfm@gnu.org>
Nicola Pero <nicola.pero@meta-innovation.com>
PR libobjc/50428
* sendmsg.c (__objc_send_initialize): If a class does not have an
+initialize method, search for an +initialize method in the
superclass and in the ancestor classes and execute the first one
that is found. This makes the GNU runtime behave in the same way
as the Apple/NeXT runtime with respect to +initialize methods and
subclassing.
In gcc/:
2011-10-08 Nicola Pero <nicola.pero@meta-innovation.com>
PR libobjc/50428
* doc/objc.texi (Garbage Collection): Updated example to protect
+initialize against execution in subclasses.
In gcc/testsuite/:
2011-10-08 Nicola Pero <nicola.pero@meta-innovation.com>
PR libobjc/50428
* objc/execute/initialize-1.m: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179711
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Sat, 8 Oct 2011 10:18:51 +0000 (10:18 +0000)]
2011-10-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/47844
* trans-array.c (gfc_conv_array_index_offset): Use descriptor
stride for pointer function results.
2011-10-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/47844
* gfortran.dg/pointer_function_result_1.f90 : New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179710
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 8 Oct 2011 00:18:22 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179707
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 7 Oct 2011 22:52:28 +0000 (22:52 +0000)]
* generic-morestack-thread.c: #include <errno.h>.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179703
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 7 Oct 2011 22:51:11 +0000 (22:51 +0000)]
PR target/46093
* generic-morestack.c (__generic_morestack): Make sure the segment
is large enough for both the stack frame and the copied
parameters.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179702
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 7 Oct 2011 22:41:48 +0000 (22:41 +0000)]
Rename vshuffle/vec_shuffle to vec_perm.
* doc/extend.texi (__builtin_shuffle): Improve the description to
include the modulus of the selector. Mention OpenCL.
* doc/md.texi (vec_perm, vec_perm_const): Document named patterns.
* tree.def (VEC_PERM_EXPR): Rename from VEC_SHUFFLE_EXPR.
* genopinit.c (optabs): Rename vshuffle to vec_perm.
* c-typeck.c (c_build_vec_perm_expr): Rename from
c_build_vec_shuffle_expr. Update for name changes.
* optabs.c (expand_vec_perm_expr_p): Rename from
expand_vec_shuffle_expr_p.
(expand_vec_perm_expr): Rename from expand_vec_shuffle_expr.
* optabs.h (OTI_vec_perm): Rename from DOI_vshuffle.
(vec_perm_optab): Rename from vshuffle_optab.
* expr.c, gimple-pretty-print.c, gimple.c, gimplify.c,
c-tree.h, c-parser.c, tree-cfg.c, tree-inline.c, tree-pretty-print.c,
tree-ssa-operands.c, tree-vect-generic.c: Update for name changes.
* config/i386/i386.c (ix86_expand_vec_perm): Rename from
ix86_expand_vshuffle.
* config/i386/i386-protos.h: Update.
* config/i386/sse.md (VEC_PERM_AVX2): Rename from VSHUFFLE_AVX2.
(vec_perm<VEC_PERM_AVX2>): Rename from vshuffle<VSHUFFLE_AVX2>.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179701
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 7 Oct 2011 22:12:18 +0000 (22:12 +0000)]
i386: Fixup last pblendw change.
Missed changing one predicate to AVX2. Add parenthesis
to avoid bootstrap -Werror.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179700
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 7 Oct 2011 21:07:10 +0000 (21:07 +0000)]
i386: Fix representation of 256-bit vpblendw.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179697
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 20:56:31 +0000 (20:56 +0000)]
* trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179695
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 20:35:47 +0000 (20:35 +0000)]
* trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179694
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 20:32:37 +0000 (20:32 +0000)]
* trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
Remove conditions on coarray.
(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
(gfc_conv_expr_descriptor): Ditto. Add assertions before the call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179693
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 20:29:27 +0000 (20:29 +0000)]
* trans-array.c (gfc_conv_section_startstride): Remove coarray_last
argument. Remove condition on coarray_last.
(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
(gfc_conv_expr_descriptor): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179692
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 20:26:11 +0000 (20:26 +0000)]
* trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
handling. Don't reset array ref's corank and codimensions' types
in the full array ref case. Update loop upper limit.
Remove DIMEN_THIS_IMAGE case. Remove unnecessary conditions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179691
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 20:22:50 +0000 (20:22 +0000)]
* trans.h (gfc_ss_info): Remove codimen field.
* trans-array.c (gfc_get_array_ss): Don't set codimen field.
(gfc_trans_create_temp_array): Don't set descriptor's cobounds.
(gfc_trans_constant_array_constructor): Update loop upper limit.
(gfc_conv_ss_startstride): Don't set codimen field.
Don't get descriptor's cobounds.
(gfc_walk_variable_expr): Update dimension index.
* trans-intrinsic.c (trans_this_image, trans_image_index,
conv_intrinsic_cobound): Don't set codimen field
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179690
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 20:14:44 +0000 (20:14 +0000)]
* trans.h (gfc_loopinfo): Remove codimen field.
* trans-array.c (gfc_set_vector_loop_bounds,
gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper
limit.
(gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last
codimension.
(gfc_start_scalarized_body): Update loop lower limit.
(gfc_conv_ss_startstride): Don't set loop's codimen field.
(gfc_conv_loop_setup): Remove unnecessary condition.
(gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179689
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 20:05:35 +0000 (20:05 +0000)]
* trans.h (gfc_ss): Remove data.temp.codimen field.
* trans-array.c (gfc_conv_resolve_dependencies,
gfc_conv_expr_descriptor): Don't set temp's codimen field.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179686
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:56:11 +0000 (19:56 +0000)]
* resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
associated dimen_type) in the full array ref case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179685
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:52:34 +0000 (19:52 +0000)]
* trans-intrinsic.c (walk_coarray): New function.
(convert_element_to_coarray_ref): Move code to walk_coarray. Remove.
(trans-this_image, trans_image_index, conv_intrinsic_cobound):
Use walk_coarray.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179684
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:47:07 +0000 (19:47 +0000)]
* trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
cobounds evaluation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179683
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:43:21 +0000 (19:43 +0000)]
* trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179682
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:39:22 +0000 (19:39 +0000)]
* trans-array.c (gfc_conv_section_startstride): Move code to
evaluate_bound. Use evaluate_bound.
(evaluate_bound): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179681
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:36:20 +0000 (19:36 +0000)]
* trans-array.c (gfc_conv_section_startstride): Update assertion to
also accept coarrays.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179680
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:33:10 +0000 (19:33 +0000)]
* trans-array.c (gfc_conv_section_startstride): Factor common
array ref references.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179679
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:28:55 +0000 (19:28 +0000)]
* trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
loop.codimen as argument to gfc_get_array_type_bounds.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179677
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:24:07 +0000 (19:24 +0000)]
* trans-array.h (struct gfc_se): New flag want_coarray.
* trans-intrinsic.c (trans_this_image, trans_image_index,
conv_intrinsic_cobound): Set want_coarray.
* trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension
earlier and without relying on the scalarizer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179676
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:14:07 +0000 (19:14 +0000)]
* expr.c (gfc_get_corank): Return 0 if input expression is not a
coarray.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179675
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:11:01 +0000 (19:11 +0000)]
* trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
descriptor setup code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179674
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:07:04 +0000 (19:07 +0000)]
* resolve.c (compare_spec_to_ref): Move coarray ref initialization
code...
(resolve_array_ref): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179672
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 7 Oct 2011 19:02:36 +0000 (19:02 +0000)]
* check.c (is_coarray): Remove.
(coarray_check): Use gfc_is_coarray.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179671
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 7 Oct 2011 18:19:50 +0000 (18:19 +0000)]
Delete incorrect representations of avx2 shifts.
* config/i386/i386.c (bdesc_args): Update code for
__builtin_ia32_palignr256. Change type of __builtin_ia32_pslldqi256,
and __builtin_ia32_psrldqi256 to V4DI_FTYPE_V4DI_INT_CONVERT.
(ix86_expand_args_builtin): Handle V4DI_FTYPE_V4DI_INT_CONVERT.
* config/i386/sse.md (mode iterator V16): Add V2TI.
(mode iterator SSESCALARMODE): Use V2TI not V4DI.
(mode attr ssse3_avx2): Add V2TI.
(avx2_lshrqv4di3, avx2_lshlqv4di3): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179668
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Fri, 7 Oct 2011 17:23:47 +0000 (17:23 +0000)]
Fix VIS3 assembler check and conditionalize testsuite on VIS3 support.
gcc/
PR 50655
* configure.ac: Add .register directives to VIS3 test.
* configure: Regenerate.
gcc/testsuite/
PR 50655
* gcc.target/sparc/sparc.exp: Add vis3 target test.
* gcc.target/sparc/cmask.c: Use it.
* gcc.target/sparc/fhalve.c: Likewise.
* gcc.target/sparc/fnegop.c: Likewise.
* gcc.target/sparc/fpadds.c: Likewise.
* gcc.target/sparc/fshift.c: Likewise.
* gcc.target/sparc/fucmp.c: Likewise.
* gcc.target/sparc/lzd.c: Likewise.
* gcc.target/sparc/vis3misc.c: Likewise.
* gcc.target/sparc/xmul.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179667
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 7 Oct 2011 17:01:43 +0000 (17:01 +0000)]
Fix avx256 test cases for AVX2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179666
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 7 Oct 2011 16:20:31 +0000 (16:20 +0000)]
2011-10-07 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/util/testsuite_allocator.h (uneq_allocator): Add
propagate_on_container_swap typedef for C++0x testing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179665
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 7 Oct 2011 15:43:12 +0000 (15:43 +0000)]
* config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179664
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 7 Oct 2011 15:35:49 +0000 (15:35 +0000)]
PR 49752
* fold-const.c (fold_checksum_tree): Remove out-of-date assert.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179663
138bc75d-0d04-0410-961f-
82ee72b054a4
ams [Fri, 7 Oct 2011 15:00:06 +0000 (15:00 +0000)]
2011-10-07 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/predicates.md (shift_amount_operand): Remove constant
range check.
(shift_operator): Check range of constants for all shift operators.
gcc/testsuite/
* gcc.dg/pr50193-1.c: New file.
* gcc.target/arm/shiftable.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179662
138bc75d-0d04-0410-961f-
82ee72b054a4
ams [Fri, 7 Oct 2011 14:59:37 +0000 (14:59 +0000)]
2011-10-07 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/predicates.md (shift_amount_operand): Remove constant
range check.
(shift_operator): Check range of constants for all shift operators.
gcc/testsuite/
* gcc.dg/pr50193-1.c: New file.
* gcc.target/arm/shiftable.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179661
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Fri, 7 Oct 2011 14:40:14 +0000 (14:40 +0000)]
2011-10-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/50625
* class.c (gfc_build_class_symbol): Fix whitespace.
* module.c (mio_symbol): Set 'class_ok' attribute.
* trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has
been built for class symbols.
2011-10-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/50625
* gfortran.dg/class_46.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179660
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 7 Oct 2011 13:52:17 +0000 (13:52 +0000)]
* gcc.dg/pr47276.c (ASMNAME, ASMNAME2, STRING): Define.
(__EI___vsyslog_chk, __EI_syslog, __EI_vsyslog): Use ASMNAME.
(syslog, vsyslog, __vsyslog_chk): Likewise.
* gcc.dg/lto/20081222_1.c (ASMNAME, ASMNAME2, STRING): Define.
(x, EXT_x): Use ASMNAME.
* gcc.dg/torture/pr48044.c (ASMNAME, ASMNAME2, STRING): Define.
(a, c): Use ASMNAME.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179659
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 7 Oct 2011 13:50:01 +0000 (13:50 +0000)]
2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_emit_tls_call_insn): Remove assertion.
Load GOT pointer for non-pic builds.
(s390_load_got): Replace pic_offset_table_rtx with hardcoded r12.
(s390_emit_call): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179658
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 7 Oct 2011 12:49:56 +0000 (12:49 +0000)]
2011-10-07 Tom de Vries <tom@codesourcery.com>
PR middle-end/50527
* gcc.dg/pr50527.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179656
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 7 Oct 2011 12:49:49 +0000 (12:49 +0000)]
2011-10-07 Tom de Vries <tom@codesourcery.com>
PR middle-end/50527
* tree.c (build_common_builtin_nodes): Add local_define_builtin for
* builtins.c (expand_builtin_alloca): Handle BUILT_IN_ALLOCA_WITH_ALIGN
* tree-ssa-ccp.c (evaluate_stmt): Set align for
* builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN): Declare using
* ipa-pure-const.c (special_builtin_state): Handle
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1)
* function.c (gimplify_parameters): Lower vla to
* gimplify.c (gimplify_vla_decl): Same.
* cfgexpand.c (expand_call_stmt): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
* tree-mudflap.c (mf_xform_statements): Same.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
* varasm.c (incorporeal_function_p): Same.
* tree-object-size.c (alloc_object_size): Same.
* gimple.c (gimple_build_call_from_tree): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179655
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 7 Oct 2011 12:20:17 +0000 (12:20 +0000)]
* function.c (frame_required_for_rtx): Remove function.
(requires_stack_frame_p): New arg set_up_by_prologue. All callers
changed. Compute a set of mentioned registers and compare against
the new arg rather than calling frame_required_for_rtx.
(thread_prologue_and_epilogue_insns): Compute the set_up_by_prologue
reg set. Convert the unconverted_simple_returns mechanism to store
jump insns rather than their basic blocks. Also check the
orig_entry_edge destination for new blocks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179654
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 7 Oct 2011 11:48:03 +0000 (11:48 +0000)]
PR tree-optimization/50650
* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Don't
call vect_is_simple_cond here, instead fail if cond_expr isn't
COMPARISON_CLASS_P or if get_vectype_for_scalar_type returns NULL
for cond_expr's first operand.
* tree-vect-stmts.c (vect_is_simple_cond): Static again.
* tree-vectorizer.h (vect_is_simple_cond): Remove prototype.
* gcc.c-torture/compile/pr50650.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179653
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 7 Oct 2011 11:43:03 +0000 (11:43 +0000)]
PR lto/50492
* gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
* gcc-interface/utils.c (global_context): New variable.
(gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
that are either public external or at top level. Use "No" macro.
(end_subprog_body): Call decl_function_context.
(rest_of_subprog_body_compilation): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179652
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 7 Oct 2011 11:32:59 +0000 (11:32 +0000)]
Disable ABI warnings for gcc.c-torture/execute/vector-compare-2.c (PR tree-optimization/50575)
PR tree-optimization/50575
* gcc.c-torture/execute/vector-compare-2.x: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179651
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 7 Oct 2011 11:17:55 +0000 (11:17 +0000)]
* gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
(rest_of_subprog_body_compilation): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
test for useless conversions by means of gnat_useless_type_conversion.
* gcc-interface/trans.c: Include bitmap.h and cgraph.h.
(language_function): Add named_ret_val and other_ret_val.
(f_named_ret_val): New macro.
(f_other_ret_val): Likewise.
(gigi): Call rest_of_subprog_body_compilation.
(struct nrv_data): New structure.
(is_nrv_p): New predicate.
(prune_nrv_r): New helper function.
(prune_nrv_in_block): New function.
(finalize_nrv_r): New helper function.
(finalize_nrv): New function.
(return_value_ok_for_nrv_p): New predicate.
(build_return_expr): If optimization is enabled, record candidates for
the Named Return Value optimization.
(build_function_stub): Call rest_of_subprog_body_compilation.
(Subprogram_Body_to_gnu): If optimization is enabled and there are
candidates, finalize the Named Return Value optimization.
Call rest_of_subprog_body_compilation.
(call_to_gnu): At the end, if a return value is needed, simplify the
result before wrapping it up in a COMPOUND_EXPR.
* gcc-interface/utils.c (end_subprog_body): Split into...
(rest_of_subprog_body_compilation): ...this. New function.
(gnat_useless_type_conversion): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179650
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 7 Oct 2011 09:02:13 +0000 (09:02 +0000)]
Don't XFAIL gcc.dg/uninit-B.c etc. (PR middle-end/50125)
PR middle-end/50125
* gcc.dg/uninit-B.c (baz): Remove xfail *-*-*.
* gcc.dg/uninit-pr19430.c (main): Remove xfail *-*-*.
(bar3): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179649
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 7 Oct 2011 08:28:48 +0000 (08:28 +0000)]
2011-10-07 Richard Guenther <rguenther@suse.de>
PR testsuite/50637
* gcc.dg/vect/vect-align-2.c: Increase array size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179648
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 7 Oct 2011 06:51:26 +0000 (06:51 +0000)]
2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md (DWH, dwh): New mode macros.
("umulsidi3"): Extend to support "umulditi3" as well.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179647
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 7 Oct 2011 06:43:17 +0000 (06:43 +0000)]
PR target/50603
* config/i386/i386.c (ix86_fixup_binary_operands): Force src2 of
integer PLUS RTX to a register to improve address combine.
testsuite/ChangeLog:
PR target/50603
* gcc.target/i386/pr50603.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179646
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 7 Oct 2011 00:19:37 +0000 (00:19 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179642
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 6 Oct 2011 22:22:11 +0000 (22:22 +0000)]
PR 50632
* combine-stack-adjust.c (maybe_move_args_size_note): Add after
parameter; use it to decide whether to merge two notes.
(combine_stack_adjustments_for_block): Use maybe_move_args_size_note
for the deallocation case as well.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179637
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 6 Oct 2011 19:56:53 +0000 (19:56 +0000)]
PR c++/39164
* decl.c (grokfndecl): Diagnose redefinition of defaulted fn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179634
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 6 Oct 2011 19:37:25 +0000 (19:37 +0000)]
2011-10-06 Thomas Quinot <quinot@adacore.com>
* einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
* s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.
2011-10-06 Ed Schonberg <schonberg@adacore.com>
* a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
references.
2011-10-06 Matthew Heaney <heaney@adacore.com>
* a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
(Dequeue_Only_High_Priority): Protected procedure now implemented.
2011-10-06 Vincent Celier <celier@adacore.com>
* g-trasym.adb: Replace old implementation with the default
implementation that returns list of addresses as "0x...".
* g-trasym.ads: Update the list of platforms with the full
capability. Indicate that there is a default implementation
for other platforms.
* g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
* gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
is now a default implementation for all platforms without the full
capability.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179631
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Thu, 6 Oct 2011 19:25:53 +0000 (19:25 +0000)]
* system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
* doc/tm.texi.in (OUTPUT_ADDR_CONST_EXTRA): Remove documentation.
* doc/tm.texi: Regenerate.
* target.def (output_addr_const_extra): Use
hook_bool_FILEptr_rtx_false.
* targhooks.c (default_asm_output_addr_const_extra): Remove.
* targhooks.h (default_asm_output_addr_const_extra): Remove.
* hooks.c (hook_bool_FILEptr_rtx_false): New functions.
* hooks.h (hook_bool_FILEptr_rtx_false): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179630
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 6 Oct 2011 19:24:49 +0000 (19:24 +0000)]
2011-10-06 Robert Dewar <dewar@adacore.com>
* a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
reorganization (use conditional expressions).
2011-10-06 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
floating divide by zero.
2011-10-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Limited interfaces that are not immutably limited
are OK in return statements.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179629
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Thu, 6 Oct 2011 19:15:39 +0000 (19:15 +0000)]
Correct errors in sparc SImode popcount/clz patterns when 64-bit.
* config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into...
(popcountdi2, popcountsi2, clzdi2, clzsi2): Explicit expanders, in the
SI mode 64-bit code gen case explicitly zero-extend and truncate.
(*popcount<mode>_sp64): Split up into...
(*popcountdi_sp64, *popcountsi_64): Explicit instantiations, and in the
SImode case use truncate.
(*clzsi_sp64): Rewrite to use truncate, and let the expander emit the
subtract so the compiler can optimize it.
(SIDI): Remove unused mode iterator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179628
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 6 Oct 2011 18:59:36 +0000 (18:59 +0000)]
* function.c (thread_prologue_and_epilogue_insns): Emit split
prologue on the orig_entry_edge. Don't account for it in
prologue_clobbered.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179627
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 6 Oct 2011 17:49:36 +0000 (17:49 +0000)]
PR tree-optimization/50596
* tree-vectorizer.h (vect_is_simple_cond): New prototype.
(NUM_PATTERNS): Change to 6.
* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): New
function.
(vect_vect_recog_func_ptrs): Add vect_recog_mixed_size_cond_pattern.
(vect_mark_pattern_stmts): Don't create stmt_vinfo for def_stmt
if it already has one, and don't set STMT_VINFO_VECTYPE in it
if it is already set.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Handle
COND_EXPR in pattern stmts.
(vect_is_simple_cond): No longer static.
* lib/target-supports.exp (check_effective_target_vect_cond_mixed):
New.
* gcc.dg/vect/vect-cond-8.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179626
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 6 Oct 2011 17:12:44 +0000 (17:12 +0000)]
i386: Use the proper mode for blend in vshuffle.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179625
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 6 Oct 2011 17:12:36 +0000 (17:12 +0000)]
i386: Add AVX2 support to ix86_expand_vshuffle.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179624
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 6 Oct 2011 17:12:28 +0000 (17:12 +0000)]
Rework vector shuffle tests.
Test vector sizes 8, 16, and 32. Test most data types for each size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179623
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 6 Oct 2011 17:12:19 +0000 (17:12 +0000)]
vshuffle: Use correct mode for mask operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179622
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 6 Oct 2011 16:50:23 +0000 (16:50 +0000)]
* tree-vect-patterns.c (vect_pattern_recog_1): Use
vect_recog_func_ptr typedef for the first argument.
(vect_pattern_recog): Rename vect_recog_func_ptr variable
to vect_recog_func, use vect_recog_func_ptr typedef for it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179621
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 6 Oct 2011 16:38:29 +0000 (16:38 +0000)]
PR tree-optimization/49279
* tree-ssa-structalias.c (find_func_aliases): Don't handle
CAST_RESTRICT.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Allow
restrict propagation.
* tree-ssa.c (useless_type_conversion_p): Don't return false
if TYPE_RESTRICT differs.
* gcc.dg/tree-ssa/restrict-4.c: XFAIL.
* gcc.c-torture/execute/pr49279.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179620
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 6 Oct 2011 15:59:53 +0000 (15:59 +0000)]
* function.c (thread_prologue_and_epilogue_insns): Build a vector
of unconverted simple return blocks rather than trying to
recompute them later based on bb_flags bitmap tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179619
138bc75d-0d04-0410-961f-
82ee72b054a4