1. 19 Jun, 2012 4 commits
    • tree-vrp.c (intersect_ranges): Handle more cases. · 105b7208
      2012-06-19  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vrp.c (intersect_ranges): Handle more cases.
      	(vrp_intersect_ranges): Dump what we intersect and call ...
      	(vrp_intersect_ranges_1): ... this.
      
      From-SVN: r188776
      Richard Guenther committed
    • re PR middle-end/53708 (Many failures of the objc tests with -O3 -fnext-runtime and -m32) · af4d0d91
      2012-06-19  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/53708
      	* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
      	user-supplied alignment and alignment of decls with the used
      	attribute.
      
      From-SVN: r188771
      Richard Guenther committed
    • The intent of the phases was to have a high-level but mutually exclusive… · a910399d
      The intent of the phases was to have a high-level but mutually exclusive accounting of compile time.
      
      The intent of the phases was to have a high-level but mutually exclusive
      accounting of compile time.  We want to track compile time in a way that
      tells us which conceptual phases are taking the most time.  That intent
      is not currently satisfied.  This patch restores that intent.
      
      Add code to verify that the sum of the phase times is less than the total
      time, to detect when phases are overlapped.  A slight amount of leeway is
      required due to time jitters.  This verification is done as the last step
      in printing timevars so that any timevar information is not lost.
      
      Rename the phases to be clearer about what they measure, so that they
      are less likely to be modified to be overlapping.  The primary example
      is to change TV_PHASE_GENERATE to TV_PHASE_LATE_ASM, meaning late work
      on the assembly.  This name change avoids confusion n moving the timevar
      start call after the call to lang_hooks.decls.final_write_globals, which
      prevents overlapping phases.
      
      Each implementation of lang_hooks.decls.final_write_globals, is responsible
      for starting and stopping its own phases.  Each implementation currently has
      a first phase of TV_PHASE_DEFERRED for front-end work deferred until after
      parsing is complete.  The second phase has been renamed from TV_PHASE_CGRAPH
      to TV_PHASE_OPT_GEN, to better reflect its use as the main optimization
      and generation phase.  This phase accounts for 70%-80% of compilation time
      during bootstrap.  The third phase is TV_PHASE_DBGINFO, except in cp/decl2.c,
      where it is TV_PHASE_CHECK_DBGINFO because cc1plus mixes checking in with
      debug info generation.  In langhooks.c, write_global_declarations was
      using TV_PHASE_CHECK_DBGINFO, but it was doing no checking.  So, it now
      uses TV_PHASE_DBGINFO.
      
      The changes to LTO are significant.  First, initialization now uses
      TV_PHASE_SETUP.  Reading files now uses TV_PHASE_STREAM_IN.  Writing files
      now uses TV_PHASE_STREAM_OUT.  The remaining phase is TV_PHASE_OPT_GEN
      (formerly TV_PHASE_CGRAPH).  Finally, because LTO is treated as a front
      end, TV_PHASE_PARSING and TV_PARSE_GLOBAL active around it.  It is not
      parsing, and so those timers should not be active.  Rather than make all
      front ends manage them, we turn them off as the first thing in LTO and turn
      them back on as the last thing.
      
      Tested on x86_64.
      
      
      Index: gcc/ChangeLog
      
      2012-06-18  Lawrence Crowl  <crowl@google.com>
      
      	* timevar.def (TV_PHASE_GENERATE): Rename to TV_PHASE_LATE_ASM.
      	(TV_PHASE_CGRAPH): Rename to TV_PHASE_OPT_GEN.
      	(TV_PHASE_STREAM_IN): New.
      	(TV_PHASE_STREAM_OUT): New.
      	* timevar.c (validate_phases): New.
      	(timevar_print): Call validate_phases.
      	* c-decl.c (c_write_global_declarations): Rename use of TV_PHASE_CGRAPH
      	to TV_PHASE_OPT_GEN.
      	* langhooks.c (write_global_declarations): Rename use of
      	TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN.  Use TV_PHASE_DBGINFO instead of
      	TV_PHASE_CHECK_DBGINFO.
      	* toplev.c (compile_file): Rename use of TV_PHASE_GENERATE to
      	TV_PHASE_LATE_ASM.  Move start of TV_PHASE_LATE_ASM to after call to
      	lang_hooks.decls.final_write_globals.
      
      Index: gcc/cp/ChangeLog
      
      2012-06-18  Lawrence Crowl  <crowl@google.com>
      
      	* decl2.c (cp_write_global_declarations): Rename use of TV_PHASE_CGRAPH
      	to TV_PHASE_OPT_GEN.
      
      Index: gcc/lto/ChangeLog
      
      2012-06-18  Lawrence Crowl  <crowl@google.com>
      
              * lto.c (do_whole_program_analysis):  Rename use of TV_PHASE_CGRAPH to
      	TV_PHASE_OPT_GEN.  Use new timevar TV_PHASE_STREAM_OUT around the call
      	to lto_wpa_write_files.
      	(lto_main):  Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN.  Move
      	start of TV_PHASE_OPT_GEN to include call to materialize_cgraph.  Use
      	TV_PHASE_SETUP for the call to lto_init.  Use new timevar
      	TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
      	Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
      	to be a front end, but is not one.
      
      From-SVN: r188765
      Lawrence Crowl committed
    • Daily bump. · 1cc7e0d0
      From-SVN: r188764
      GCC Administrator committed
  2. 18 Jun, 2012 26 commits
    • * dwarf2.def (DW_OP): Add DW_OP_GNU_const_index. · 18100198
      From-SVN: r188759
      Doug Evans committed
    • re PR libstdc++/53678 (namespace pollution on NetBSD) · 843f0d3c
      2012-06-18  Jörg Sonnenberger <joerg@britannica.bec.de>
      	    Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	PR libstdc++/53678
      	* config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
      	* testsuite/22_locale/ctype_base/53678.cc: New.
      
      Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
      
      From-SVN: r188755
      Jörg Sonnenberger committed
    • re PR target/53712 (Does not combine unaligned load with _mm_cmpistri,… · b86da593
      re PR target/53712 (Does not combine unaligned load with  _mm_cmpistri, redundant instruction at -O0)
      
      	PR target/53712
      	* config/i386/sse.md (*sse4_2_pcmpestr_unaligned): New.
      	(*sse4_2_pcmpistr_unaligned): New.
      
      testsuite/ChangeLog:
      
      	PR target/53712
      	* gcc.target/i386/pr53712.c: New test.
      
      From-SVN: r188753
      Uros Bizjak committed
    • * 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
  3. 17 Jun, 2012 10 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