OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years agoFix a typo in x86 FMA.
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

12 years ago2011-10-10 Richard Guenther <rguenther@suse.de>
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

12 years ago2011-10-10 Richard Guenther <rguenther@suse.de>
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

12 years ago2011-10-10 Richard Guenther <rguenther@suse.de>
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

12 years ago * lib/gcc-simulate-thread.exp: New.
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

12 years ago PR middle-end/49801
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

12 years ago PR middle-end/50638
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

12 years agogcc/
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

12 years agogcc/
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

12 years agogcc/
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

12 years agogcc/
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

12 years ago2011-10-10 Matthias Klose <doko@ubuntu.com>
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

12 years ago * config/avr/avr.md (*mulhi3_enh): Treat squaring smarter.
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

12 years ago PR target/50652
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

12 years agoDaily bump.
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

12 years ago/cp
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

12 years ago * tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make
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

12 years ago2011-10-09 Tobias Burnus <burnus@net-b.de>
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

12 years agoFix dead e-mail address in ChangeLogs
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

12 years agoFix bogus e-mail address in ChangeLogs
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

12 years ago * interface.c (check_dummy_characteristics): Count dimensions starting
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

12 years ago2011-10-09 Tobias Burnus <burnus@net-b.de>
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

12 years ago PR tree-optimization/50635
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

12 years ago2011-10-09 Janus Weil <janus@gcc.gnu.org>
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

12 years ago * system.h: Commit forgotten hunk in previous patch.
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

12 years agoIn libobjc/:
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

12 years ago * pt.c (reregister_specialization): Use htab_find instead of
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

12 years ago2011-10-08 Paolo Carlini <paolo.carlini@oracle.com>
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

12 years agoDaily bump.
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

12 years agoFix ChangeLog format for revision 177233.
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

12 years agoIn libobjc/:
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

12 years ago2011-10-08 Paul Thomas <pault@gcc.gnu.org>
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

12 years agoDaily bump.
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

12 years ago * generic-morestack-thread.c: #include <errno.h>.
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

12 years ago PR target/46093
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

12 years agoRename vshuffle/vec_shuffle to vec_perm.
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

12 years agoi386: Fixup last pblendw change.
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

12 years agoi386: Fix representation of 256-bit vpblendw.
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

12 years ago * trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
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

12 years ago * trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
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

12 years ago * trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
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

12 years ago * trans-array.c (gfc_conv_section_startstride): Remove coarray_last
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

12 years ago * trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
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

12 years ago * trans.h (gfc_ss_info): Remove codimen field.
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

12 years ago * trans.h (gfc_loopinfo): Remove codimen field.
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

12 years ago * trans.h (gfc_ss): Remove data.temp.codimen field.
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

12 years ago * resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
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

12 years ago * trans-intrinsic.c (walk_coarray): New function.
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

12 years ago * trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
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

12 years ago * trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
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

12 years ago * trans-array.c (gfc_conv_section_startstride): Move code to
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

12 years ago * trans-array.c (gfc_conv_section_startstride): Update assertion to
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

12 years ago * trans-array.c (gfc_conv_section_startstride): Factor common
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

12 years ago * trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
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

12 years ago * trans-array.h (struct gfc_se): New flag want_coarray.
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

12 years ago * expr.c (gfc_get_corank): Return 0 if input expression is not a
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

12 years ago * trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
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

12 years ago * resolve.c (compare_spec_to_ref): Move coarray ref initialization
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

12 years ago * check.c (is_coarray): Remove.
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

12 years agoDelete incorrect representations of avx2 shifts.
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

12 years agoFix VIS3 assembler check and conditionalize testsuite on VIS3 support.
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

12 years agoFix avx256 test cases for AVX2.
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

12 years ago2011-10-07 Jonathan Wakely <jwakely.gcc@gmail.com>
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

12 years ago* config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.
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

12 years agoPR 49752
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

12 years ago2011-10-07 Andrew Stubbs <ams@codesourcery.com>
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

12 years ago2011-10-07 Andrew Stubbs <ams@codesourcery.com>
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

12 years ago2011-10-07 Janus Weil <janus@gcc.gnu.org>
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

12 years ago * gcc.dg/pr47276.c (ASMNAME, ASMNAME2, STRING): Define.
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

12 years ago2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
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

12 years ago2011-10-07 Tom de Vries <tom@codesourcery.com>
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

12 years ago2011-10-07 Tom de Vries <tom@codesourcery.com>
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

12 years ago * function.c (frame_required_for_rtx): Remove function.
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

12 years ago PR tree-optimization/50650
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

12 years ago PR lto/50492
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

12 years agoDisable ABI warnings for gcc.c-torture/execute/vector-compare-2.c (PR tree-optimizati...
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

12 years ago * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
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

12 years agoDon't XFAIL gcc.dg/uninit-B.c etc. (PR middle-end/50125)
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

12 years ago2011-10-07 Richard Guenther <rguenther@suse.de>
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

12 years ago2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
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

12 years ago PR target/50603
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

12 years agoDaily bump.
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

12 years agoPR 50632
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

12 years ago PR c++/39164
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

12 years ago2011-10-06 Thomas Quinot <quinot@adacore.com>
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

12 years ago * system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
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

12 years ago2011-10-06 Robert Dewar <dewar@adacore.com>
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

12 years agoCorrect errors in sparc SImode popcount/clz patterns when 64-bit.
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

12 years ago * function.c (thread_prologue_and_epilogue_insns): Emit split
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

12 years ago PR tree-optimization/50596
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

12 years agoi386: Use the proper mode for blend in vshuffle.
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

12 years agoi386: Add AVX2 support to ix86_expand_vshuffle.
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

12 years agoRework vector shuffle tests.
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

12 years agovshuffle: Use correct mode for mask operand.
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

12 years ago * tree-vect-patterns.c (vect_pattern_recog_1): Use
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

12 years ago PR tree-optimization/49279
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

12 years ago * function.c (thread_prologue_and_epilogue_insns): Build a vector
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

12 years ago * tree-flow.h (get_var_ann): Don't declare.
matz [Thu, 6 Oct 2011 15:18:12 +0000 (15:18 +0000)]
* tree-flow.h (get_var_ann): Don't declare.
* tree-flow-inline.h (get_var_ann): Remove.
(set_is_used): Use var_ann, not get_var_ann.
* tree-dfa.c (add_referenced_var): Inline body of get_var_ann.
* tree-profile.c (gimple_gen_edge_profiler): Call
find_referenced_var_in.
(gimple_gen_interval_profiler): Ditto.
(gimple_gen_pow2_profiler): Ditto.
(gimple_gen_one_value_profiler): Ditto.
(gimple_gen_average_profiler): Ditto.
(gimple_gen_ior_profiler): Ditto.
(gimple_gen_ic_profiler): Ditto plus call add_referenced_var.
(gimple_gen_ic_func_profiler): Call add_referenced_var.
* tree-mudflap.c (execute_mudflap_function_ops): Call
add_referenced_var.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179618 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-06 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 6 Oct 2011 14:43:26 +0000 (14:43 +0000)]
2011-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/27_io/ios_base/cons/assign_neg.cc: Tidy dg- directives,
for C++0x testing too.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/requirements/
base_classes.cc: Adjust for C++0x testing.
* testsuite/ext/codecvt/char-1.cc: Avoid warnings in C++0x mode.
* testsuite/ext/codecvt/char-2.cc: Likewise.
* testsuite/ext/codecvt/wchar_t.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179616 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs
jakub [Thu, 6 Oct 2011 14:36:44 +0000 (14:36 +0000)]
* tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs
don't set SSA_NAME_DEF_STMT that has been already set by
gimple_build_assign_with_ops.
(vect_recog_pow_pattern, vect_recog_widen_sum_pattern,
vect_operation_fits_smaller_type, vect_recog_over_widening_pattern):
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179615 138bc75d-0d04-0410-961f-82ee72b054a4