1. 10 Oct, 2011 21 commits
    • * ChangeLog: Add PR number. · 19f4664b
      From-SVN: r179764
      Uros Bizjak committed
    • re PR bootstrap/50665 (Bootstrap failure) · 6e089315
      	PR bootstrap/50665
      	* optabs.h (DOI_vec_perm): Rename from OTI_vec_perm.  Move from enum
      	optab_index to enum direct_optab_index.
      	(vec_perm_optab): Update.
      
      From-SVN: r179763
      Uros Bizjak committed
    • cris.c (cris_preferred_reload_class): New function. · 45dbdfd4
      	* config/cris/cris.c (cris_preferred_reload_class): New function.
      	(TARGET_PREFERRED_RELOAD_CLASS): Define.
      	* config/cris/cris.h (PREFERRED_RELOAD_CLASS): Remove.
      
      From-SVN: r179761
      Anatoly Sokolov committed
    • avr.md (*tablejump_rjmp): Change insn condition to !AVR_HAVE_JMP_CALL. · 917e14f3
      	* 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.
      
      From-SVN: r179760
      Georg-Johann Lay committed
    • * doc/md.texi (vec_perm_const): Fix typo in cindex. · 82675d94
      From-SVN: r179759
      Richard Henderson committed
    • Fix a typo in x86 FMA. · aafdb0d7
      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.
      
      Co-Authored-By: Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
      
      From-SVN: r179758
      Kirill Yukhin committed
    • re PR tree-optimization/50389 (ICE: in execute_todo, at passes.c:1730 with -O… · a24ac460
      re PR tree-optimization/50389 (ICE: in execute_todo, at passes.c:1730 with -O -freorder-blocks -ftracer and __builtin___memcpy_chk())
      
      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.
      
      From-SVN: r179757
      Richard Guenther committed
    • ipa-split.c (pass_split_functions): Add verification TODOs. · 40b6510f
      2011-10-10  Richard Guenther  <rguenther@suse.de>
      
      	* ipa-split.c (pass_split_functions): Add verification TODOs.
      	(pass_feedback_split_functions): Likewise.
      
      From-SVN: r179756
      Richard Guenther committed
    • re PR middle-end/50195 (Linking time error with -fast-math -O0) · 4d8b88e8
      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.
      
      From-SVN: r179752
      Richard Guenther committed
    • gcc-simulate-thread.exp: New. · ff8e7c4d
              * 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.
      
      From-SVN: r179751
      Aldy Hernandez committed
    • re PR middle-end/49801 (df_live_verify_transfer_functions fails with to use of… · 53fbb724
      re PR middle-end/49801 (df_live_verify_transfer_functions fails with to use of CC_REGNUM and checking enabled in rx backend)
      
      	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.
      
      From-SVN: r179749
      Nick Clifton committed
    • re PR middle-end/50638 (emulated TLS fails) · 88fe4be8
              PR middle-end/50638
              * tree-emutls.c (gen_emutls_addr): Call add_referenced_var.
      
      From-SVN: r179745
      Michael Matz committed
    • modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages. · 752cdc4e
      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.
      
      From-SVN: r179744
      Richard Sandiford committed
    • modulo-sched.c (ps_insn): Adjust comment. · 1287d8ea
      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.
      
      From-SVN: r179743
      Richard Sandiford committed
    • modulo-sched.c (ps_insn): Replace node field with an identifier. · 88e9c867
      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.
      
      From-SVN: r179742
      Richard Sandiford committed
    • modulo-sched.c (undo_replace_buff_elem): Delete. · be5af15f
      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.
      
      From-SVN: r179741
      Richard Sandiford committed
    • m32c: Remove empty directory. · 8a0180e7
      2011-10-10  Matthias Klose <doko@ubuntu.com>
      
      	* common/config/m32c: Remove empty directory.
      
      From-SVN: r179740
      Matthias Klose committed
    • avr.md (*mulhi3_enh): Treat squaring smarter. · beddf669
      	* config/avr/avr.md (*mulhi3_enh): Treat squaring smarter.
      
      From-SVN: r179739
      Georg-Johann Lay committed
    • re PR target/50652 ([avr] Incorrect data start value for atmega164a) · e12693c1
      	PR target/50652
      	* config/avr/avr-mcus.def (AVR_MCU): Set .data_section_start of
      	atmega164a to 0x100.
      
      From-SVN: r179737
      Georg-Johann Lay committed
    • Daily bump. · a959e906
      From-SVN: r179735
      GCC Administrator committed
  2. 09 Oct, 2011 14 commits
  3. 08 Oct, 2011 4 commits
    • Fix ChangeLog format for revision 177233. · 7089ef0f
      From-SVN: r179712
      Gerald Pfeifer committed
    • In libobjc/: 2011-10-08 Richard Frith-Macdonald <rfm@gnu.org> Nicola Pero… · 0ea39696
      In libobjc/: 2011-10-08 Richard Frith-Macdonald <rfm@gnu.org> Nicola Pero <nicola.pero@meta-innovation.com>
      
      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.
      
      From-SVN: r179711
      Nicola Pero committed
    • re PR fortran/47844 (Array stride ignored for pointer-valued function results) · 30a390c8
      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.
      
      From-SVN: r179710
      Paul Thomas committed
    • Daily bump. · 2758ee99
      From-SVN: r179707
      GCC Administrator committed
  4. 07 Oct, 2011 1 commit