1. 18 Jun, 2012 22 commits
    • * ChangeLog: Fix whitespace. · 1a73c9e4
      From-SVN: r188752
      Uros Bizjak committed
    • intrinsic.h (gfc_resolve_rank): New prototype. · 32e7b05d
      2012-06-18  Tobias Burnus  <burnus@net-b.de>
      
              * intrinsic.h (gfc_resolve_rank): New prototype.
              * intrinsic.c (add_functions): Use gfc_resolve_rank.
              * iresolve.c (add_functions): New function.
              * trans-intrinsic.c (gfc_conv_intrinsic_rank): New function.
              (gfc_conv_intrinsic_function): Call it.
      
      From-SVN: r188751
      Tobias Burnus committed
    • re PR fortran/53692 (OPTIONAL: Scalarizing over the wrong array) · 478ad83d
      2012-06-18  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53692
              * trans-array.c (set_loop_bounds): Don't scalarize via absent
              optional arrays.
              * resolve.c (resolve_elemental_actual): Don't stop resolving
              after printing a warning.
      
      2012-06-18  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53692
              * gfortran.dg/elemental_optional_args_6.f90: New.
      
      From-SVN: r188749
      Tobias Burnus committed
    • re PR fortran/53526 ([Coarray] (lib) Properly handle MOVE_ALLOC for coarrays) · c1fb34c3
      2012-06-18  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53526
              * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle
              * coarrays.
      
      2012-06-18  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53526
              * gfortran.dg/coarray_lib_move_alloc_1.f90: New.
      
      From-SVN: r188748
      Tobias Burnus committed
    • re PR fortran/53526 ([Coarray] (lib) Properly handle MOVE_ALLOC for coarrays) · 284943b0
      2012-06-18  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53526
              * check.c (gfc_check_move_alloc): Reject coindexed actual
              * arguments
              and those with different corank.
      
      2012-06-18  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53526
              * gfortran.dg/coarray_27.f90: New.
      
      From-SVN: r188747
      Tobias Burnus committed
    • epilog-1.c: New test. · 46952308
      gcc/testsuite 
      
      2012-06-18  Joey Ye <Joey.Ye@arm.com>
                  Greta Yorsh  <Greta.Yorsh@arm.com>
      
              * gcc.target/arm/epilog-1.c: New test.
      
      
      Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
      
      From-SVN: r188746
      Joey Ye committed
    • As a result of the previous changes, epilogue_insns pattern can only be generated in Thumb1. · c59e1214
      As a result of the previous changes, epilogue_insns pattern can only be
      generated in Thumb1. After removing other cases in define_insn for
      epilogue_insns, the function arm_output_epilogue becomes dead code and can
      be eliminated, along with all its helper functions.
      
      gcc/
      
      2012-06-18  Ian Bolton  <ian.bolton@arm.com>
                  Sameera Deshpande  <sameera.deshpande@arm.com>
                  Greta Yorsh  <greta.yorsh@arm.com>
      
              * config/arm/arm-protos.h (arm_output_epilogue): Remove.
              * config/arm/arm.c (print_multi_reg): Remove.
              (vfp_output_fldmd): Likewise.
              (arm_output_epilogue): Likewise.
              * config/arm/arm.md (epilogue_insns): Update condition and code.
      
      
      Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
      Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
      
      From-SVN: r188745
      Ian Bolton committed
    • Generate RTL for return in Thumb2 mode. Used by expand of return insn. · 482baa63
      2012-06-18  Ian Bolton  <ian.bolton@arm.com>
                  Sameera Deshpande  <sameera.deshpande@arm.com>
                  Greta Yorsh  <greta.yorsh@arm.com>
      
              * config/arm/arm-protos.h (thumb2_expand_return): New declaration.
              * config/arm/arm.c (thumb2_expand_return): New function.
              * config/arm/arm.md (return): Update condition and code.
      
      
      Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
      Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
      
      From-SVN: r188744
      Ian Bolton committed
    • Add a new parameter to the function output_return_instruction to handle simple... · f79b86a4
      Add a new parameter to the function output_return_instruction to handle
      simple cases of return when no epilogue needs to be printed out.
      
      gcc/ 
      
      2012-06-18  Ian Bolton  <ian.bolton@arm.com>
                  Sameera Deshpande  <sameera.deshpande@arm.com>
                  Greta Yorsh  <greta.yorsh@arm.com>
      
              * config/arm/arm-protos.h (output_return_instruction): New parameter and
      	int to bool change of parameter types.
              * config/arm/arm.c (output_return_instruction): Likewise.
              * config/arm/arm.md (arm_simple_return): New pattern.
              (arm_return, cond_return, cond_return_inverted): Add new arguments.
              * config/arm/thumb2.md (thumb2_return): Update condition and code.
      
      
      Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
      Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
      
      From-SVN: r188743
      Ian Bolton committed
    • The main function for epilogue RTL generation, used by expand epilogue · d461c88a
      patterns.
      
      gcc/
      
      2012-06-18  Ian Bolton  <ian.bolton@arm.com>
                  Sameera Deshpande  <sameera.deshpande@arm.com>
                  Greta Yorsh  <greta.yorsh@arm.com>
      
              * config/arm/arm-protos.h (arm_expand_epilogue): New declaration.
              * config/arm/arm.c (arm_expand_epilogue): New function.
              * config/arm/arm.md (epilogue): Update condition and code.
              (sibcall_epilogue): Likewise.
      
      
      Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
      Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
      
      From-SVN: r188742
      Ian Bolton committed
    • Helper function for epilogue expansion. · 0f9926f3
      Helper function for epilogue expansion. Emit RTL for APCS frame epilogue
      (when -mapcs-frame command line option is specified). 
      This function is used by a later patch.
      
      gcc/
      
      2012-06-18  Ian Bolton  <ian.bolton@arm.com>
                  Sameera Deshpande  <sameera.deshpande@arm.com>
                  Greta Yorsh  <greta.yorsh@arm.com>
      
              * config/arm/arm.c (arm_expand_epilogue_apcs_frame): New function.
              * config/arm/arm.md (arm_addsi3) Add an alternative.
      
      
      Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
      Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
      
      From-SVN: r188741
      Ian Bolton committed
    • New define insn pattern for epilogue with floating point registers (DFmode) and... · 4b2678f8
      New define insn pattern for epilogue with floating point registers (DFmode)
      and a new function that emits RTL for this pattern. This function is a
      helper for epilogue extension. It is used by a later patch.
      
      gcc/
      
      2012-06-18  Ian Bolton  <ian.bolton@arm.com>
                  Sameera Deshpande  <sameera.deshpande@arm.com>
                  Greta Yorsh  <greta.yorsh@arm.com>
      
              * config/arm/arm.md (vfp_pop_multiple_with_writeback) New
      	define_insn.
              * config/arm/predicates.md (pop_multiple_fp) New special predicate.
              * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): New function.
      
      
      Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
      Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
      
      From-SVN: r188740
      Ian Bolton committed
    • This patch adds new define_insn patterns for epilogue with integer · 3aee1982
      registers.
      
      The patterns can handle pop multiple with writeback and return (loading into
      PC directly).
      To handle return, the patterns use a new special predicate
      pop_multiple_return, that uses ldm_stm_operation_p function from a previous
      patch. To output assembly, the patterns use a new function
      arm_output_multireg_pop.
      
      This patch also adds a new function arm_emit_multi_reg_pop
      that emits RTL that matches the new pop patterns for integer registers.
      This is a helper function for epilogue expansion. It is used by a later
      patch.
      
      2012-06-18  Ian Bolton  <ian.bolton@arm.com>
                  Sameera Deshpande  <sameera.deshpande@arm.com>
                  Greta Yorsh  <greta.yorsh@arm.com>
      
              * config/arm/arm.md (load_multiple_with_writeback) New define_insn.
              (load_multiple, pop_multiple_with_writeback_and_return) Likewise.
              (pop_multiple_with_return, ldr_with_return) Likewise.
              * config/arm/predicates.md (pop_multiple_return) New special predicate.
              * config/arm/arm-protos.h (arm_output_multireg_pop) New declaration.
              * config/arm/arm.c (arm_output_multireg_pop) New function.
              (arm_emit_multi_reg_pop): New function.
      
      
      Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
      Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
      
      From-SVN: r188739
      Ian Bolton committed
    • This patch updates ldm_stm_operation_p to check for loads that if SP is in the register list... · 474038cd
      This patch updates ldm_stm_operation_p to check for loads that if SP is in
      the register list, then the base register is SP. It guarantees that SP is
      reset correctly when an LDM instruction is interrupted. Otherwise, we might
      end up with a corrupt stack. 
      
      gcc/
      
      2012-06-18  Greta Yorsh  <greta.yorsh@arm.com>
      
      	* config/arm/arm.c (ldm_stm_operation_p): Require SP
              as base register for loads if SP is in the register list.
      
      From-SVN: r188738
      Greta Yorsh committed
    • re PR tree-optimization/53693 (ICE in vect_get_vec_def_for_stmt_copy, at tree-vect-stmts.c:1438) · 9ef7adc0
      2012-06-18  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/53693
      	* tree-vect-patterns.c (vect_operation_fits_smaller_type):
      	Reject operands with more than one use.
      
      	* g++.dg/torture/pr53693.C: New testcase.
      
      From-SVN: r188733
      Richard Guenther committed
    • re PR tree-optimization/53703 (verify_ssa: definition in block 105 does not… · 9b10be32
      re PR tree-optimization/53703 (verify_ssa: definition in block 105 does not dominate use in block 103)
      
      gcc:
      
      2012-06-18  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	PR tree-optimization/53703
      	* tree-ssa-phiopt.c (hoist_adjacent_loads): Skip virtual phis;
      	correctly set bb_for_def[12].
      
      gcc/testsuite:
      
      2012-06-18  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	PR tree-optimization/53703
      	* gcc.dg/torture/pr53703.c: New test.
      
      From-SVN: r188731
      Bill Schmidt committed
    • vax.h (VMS_TARGET): Remove. · d421b10c
      gcc/
      	* config/vax/vax.h (VMS_TARGET): Remove.
      
      cp/
      	* decl.c (finish_function): Remove code conditional on VMS_TARGET.
      
      From-SVN: r188729
      Steven Bosscher committed
    • tree-vrp.c (extract_range_from_assert): Split out range intersecting code. · 3928c098
      2012-06-18  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vrp.c (extract_range_from_assert): Split out range
      	intersecting code.
      	(intersect_ranges): New function.
      	(vrp_intersect_ranges): Likewise.
      
      From-SVN: r188728
      Richard Guenther committed
    • s390.c (s390_gimplify_va_arg): Revert change from r187965. · ab4a745b
      2012-06-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* config/s390/s390.c (s390_gimplify_va_arg): Revert change from
      	r187965.
      
      From-SVN: r188727
      Andreas Krebbel committed
    • Implement support for int iterators. · 57a4717b
      From-SVN: r188726
      Tejas Belagod committed
    • re PR middle-end/53698 (ICE: in plus_constant, at explow.c:88 with -O -mx32… · b7104c55
      re PR middle-end/53698 (ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts)
      
      gcc/
      	PR middle-end/53698
      	* expr.c (expand_expr_addr_expr_1): Convert to tmode before
      	performing an addition.
      
      gcc/testsuite/
      	PR middle-end/53698
      	* gcc.target/i386/pr53698.c: New test.
      
      From-SVN: r188725
      Richard Sandiford committed
    • Daily bump. · 89029ba5
      From-SVN: r188721
      GCC Administrator committed
  2. 17 Jun, 2012 14 commits
    • * gcc.target/i386/pr33329.c: . · 3eb2d934
      From-SVN: r188717
      Uros Bizjak committed
    • * gcc.target/i386/pr33329.c: Fix tabcount increase. · f51ff4dd
      From-SVN: r188716
      Uros Bizjak committed
    • pr33329.c (f): Increase tabs array to 1024. · 9fd814b0
      	* gcc.target/i386/pr33329.c (f): Increase tabs array to 1024.
      
      From-SVN: r188715
      Uros Bizjak committed
    • output.h (split_double): Move prototype to rtl.h. · ca3f2950
      	* output.h (split_double): Move prototype to rtl.h.
      	(constructor_static_from_elts_p): Move prototype to tree.c.
      	* rtl.h (split_double): Moved here from output.h.
      	* tree.h (constructor_static_from_elts_p): Moved here from output.h.
      	* final.c (split_double): Move from here ...
      	* rtlanal.c (split_double): ... to here.
      	* expr.c: Do not include output.h.
      
      From-SVN: r188714
      Steven Bosscher committed
    • forgot ChangeLog · 172a84ff
      From-SVN: r188713
      Steven Bosscher committed
    • cfglayout.h: Remove. · 78bde837
      2012-06-17  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* cfglayout.h: Remove.
      	* cfglayout.c: Remove.
      	* function.h (struct function): Remove x_last_location field.
      	* function.c: Do not include cfglayout.h.
      	(expand_function_start): Do not call no-op force_next_line_note.
      	(expand_function_end): Likewise.
      	* cfgrtl.c: Do not include cfglayout.h.  Include gt-cfgrtl.h.
      	(unlink_insn_chain): Moved here from cfglayout.c.
      	(skip_insns_after_block, label_for_bb, record_effective_endpoints,
      	into_cfg_layout_mode, outof_cfg_layout_mode,
      	pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode,
      	relink_block_chain, fixup_reorder_chain, verify_insn_chain,
      	fixup_fallthru_exit_predecessor, force_one_exit_fallthru,
      	cfg_layout_can_duplicate_bb_p, duplicate_insn_chain,
      	cfg_layout_duplicate_bb, cfg_layout_initialize, break_superblocks,
      	cfg_layout_finalize): Likewise.
      	(rtl_can_remove_branch_p): Likewise.
      	* rtl.h (insn_scope): Move prototype from cfglayout.h here.
      	(duplicate_insn_chain): Likewise.
      	(force_next_line_note): Remove prototype.
      	* emit-rtl.c: Do not include tree-flow.h, egad.  Include vecprim.h.
      	(last_location): Remove #define to emit.x_last_location.
      	(force_next_line_note): Remove no-op function.
      	(init_emit): Don't set x_last_location.
      	(block_locators_locs, block_locators_blocks, locations_locators_locs,
      	locations_locators_vals, prologue_locator, epilogue_locator,
      	curr_location, last_location, curr_block, last_block, curr_rtl_loc):
      	Move POD to here from cfglayout.c.
      	(insn_locators_alloc, insn_locators_finalize, insn_locators_free,
      	set_curr_insn_source_location, get_curr_insn_source_location,
      	set_curr_insn_block, get_curr_insn_block, curr_insn_locator,
      	locator_scope, insn_scope, locator_location, locator_line, insn_line,
      	locator_file, insn_file, locator_eq): Move to here from cfglayout.c.
      	* cfghooks.h: Remove double-include protection.
      	(can_copy_bbs_p, copy_bbs): Move prototypes from cfglayout.h to here.
      	* cfghooks.c (can_copy_bbs_p, copy_bbs): Move to here from cfglayout.c.
      	* final.c: Do not include cfglayout.h.
      	(choose_inner_scope, change_scope): Move to here from cfglayout.c.
      	(reemit_insn_block_notes): Likewise.  Make static.
      	* tree-flow.h (tree_could_trap_p, operation_could_trap_helper_p,
      	operation_could_trap_p, tree_could_throw_p): Move from here...
      	* tree.h: ... to here.
      	* gengtype.c (open_base_files): Remove cfglayout.h from the list.
      	* profile.c: Do not include cfghooks.h.
      	* cfgloopmanip.c: Do not include cfglayout.h and cfghooks.h.
      	* modulo-sched.c: Likewise.
      	* loop-unswitch.c: Do not include cfglayout.h.
      	* sched-ebb.c: Likewise.
      	* tracer.c: Likewise.
      	* ddg.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* loop-init.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/score/score.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* Makefile.in (CFGAYOUT_H): Remove, and fixup users.
      	* config/rs6000/t-rs6000 (rs6000.o): Do not depend on cfglayout.h.
      	* config/spu/t-spu-elf (spu.o: $): Likewise.
      	* config/sparc/t-sparc (sparc.o): Do not depend on CFGLAYOUT_H.
      
      From-SVN: r188712
      Steven Bosscher committed
    • cfgloop.h: Do not include rtl.h. · 1c1ad7bb
      	* cfgloop.h: Do not include rtl.h.
      	(enum iv_extend_code): New.
      	(struct rtx_iv): Use iv_extend_code instead of rtx_code.
      	* Makefile.in (CFGLOOP_H): Do not depend on RTL_H.
      	* loop-iv.c (iv_extend_to_rtx_code): New function to translate
      	an IV_EXTEND_CODE to an RTX_CODE.
      	(dump_iv_info): Update for rtx_iv field type change.
      	(iv_constant): Likewise.
      	(iv_subreg): Likewise.
      	(iv_extend): Likewise.
      	(iv_neg): Likewise.
      	(iv_add): Likewise.
      	(iv_mult): Likewise.
      	(iv_shift): Likewise.
      	(get_biv_step_1): Likewise.
      	(get_biv_step): Likewise.
      	(iv_analyze_biv): Likewise.
      	(get_iv_value): Likewise.
      	(shorten_into_mode): Likewise.
      	(canonicalize_iv_subregs): Likewise.
      	* sese.c (sese_build_liveouts): Use MAY_HAVE_DEBUG_STMTS instead
      	of MAY_HAVE_DEBUG_INSNS.
      	* tree-ssa-loop-ivopts.c: Include recog.h after expr.h.
      	* tree-ssa-loop-prefetch.c: Likewise.
      
      From-SVN: r188711
      Steven Bosscher committed
    • expmed.c (ceil_log2): Move from here... · 46d33ae9
      	* expmed.c (ceil_log2): Move from here...
      	* hwint.c: ... to here for older GCCs...
      	* hwint.h: ... and here for newer GCCs.
      	* rtl.h (ceil_log2): Remove prototype.
      
      	* tree-phinodes.c: Do not include rtl.h.
      	* Makefile.in (tree-phinodes.o): Do not depend on RTL_H.
      
      From-SVN: r188710
      Steven Bosscher committed
    • cris.h (TARGET_ELF): Remove. · 0df965d7
      	* config/cris/cris.h (TARGET_ELF): Remove.
      	(FORCE_EH_FRAME_INFO_IN_DATA_SECTION): Remove.
      	(CRIS_ASM_OUTPUT_ALIGNED_DECL_COMMON): Simpify using TARGET_ELF==1.
      	(LOCAL_LABEL_PREFIX): Likewise.
      	* config/cris/cris.c (cris_target_asm_named_section): Remove.
      	(cris_option_override): Simpify using TARGET_ELF==1.
      	(cris_file_start): Likewise.
      	* config/cris/cris-protos.h (cris_target_asm_named_section): Remove.
      
      From-SVN: r188709
      Steven Bosscher committed
    • re PR fortran/53691 (ICE with -Wsurprising in LAPACK 3.4.1 cgbrfsx.f) · 9a575e05
      2012-06-17  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53691
              PR fortran/53685
              * check.c (gfc_calculate_transfer_sizes): Return if
              SIZE= is not constant or source-size cannot be determined.
      
      2012-06-17  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53691
              PR fortran/53685
              * gfortran.dg/transfer_check_3.f90: New.
      
      From-SVN: r188708
      Tobias Burnus committed
    • sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use __builtin_expect when checking for exceptions. · a20d08fd
      	* config/i386/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use
      	__builtin_expect when checking for exceptions.
      	* config/ia64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Ditto.
      
      From-SVN: r188705
      Uros Bizjak committed
    • sse.md (vcvtph2ps): Fix vec_select selector. · 0a2818d5
      	* config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
      
      From-SVN: r188704
      Uros Bizjak committed
    • vrp68.c: Fix scan-tree-dump-times argument order. · 413c3530
      	* gcc.dg/tree-ssa/vrp68.c: Fix scan-tree-dump-times argument order.
      
      From-SVN: r188703
      Uros Bizjak committed
    • Daily bump. · 9fddbc10
      From-SVN: r188701
      GCC Administrator committed
  3. 16 Jun, 2012 3 commits
  4. 15 Jun, 2012 1 commit