* tree-ssa-threadupdate.c (determine_bb_domination_status): Always
check if BB is a successor of LOOP->header and return NONDOMINATING
if it is not, regardless of ENABLE_CHECKING.
From-SVN: r172004
* cprop.c (struct reg_use): Remove.
(reg_use_table): Make an array of RTX.
(find_used_regs, constprop_register, local_cprop_pass,
bypass_block): Simplify users of reg_use_table.
(cprop_insn): Likewise. Iterate if copy propagation succeeded
on one of the uses found by find_used_regs.
From-SVN: r171999
fix compilation on AUTO_INC_DEC targets
* combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
as an rtx.
(try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
From-SVN: r171995
2011-04-05 Tom de Vries <tom@codesourcery.com>
PR middle-end/48461
* function.c (emit_use_return_register_into_block): Only define if
HAVE_return.
From-SVN: r171990
* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
build_function_type_list instead of build_function_type. Correct
argument order for func_frexp and func_scalbn.
From-SVN: r171987
* config/rx/rx-opts.h: New.
* config/rx/rx.c (rx_cpu_type): Remove.
(rx_handle_option): Don't assert that global structures are in
use. Access variables via opts pointer. Defer most handling of
OPT_mint_register_. Use error_at.
(rx_option_override): Handle deferred OPT_mint_register_ here.
* config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
* config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
(mcpu=): Use Enum and specifiy rx_cpu_type with Var.
(rx_cpu_types): New Enum and EnumValue entries.
(mint-register=): Use Defer and use Var accordingly.
From-SVN: r171984
2011-04-05 Tom de Vries <tom@codesourcery.com>
PR target/43920
* config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
for size.
From-SVN: r171978
2011-04-05 Tom de Vries <tom@codesourcery.com>
PR target/43920
* function.c (emit_use_return_register_into_block): New function.
(thread_prologue_and_epilogue_insns): Use
emit_use_return_register_into_block.
From-SVN: r171977
2011-04-05 Tom de Vries <tom@codesourcery.com>
PR target/43920
* cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
insn.
From-SVN: r171976
2011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
* config/arm/arm.md (define_constants for unspec): Replace with
define_c_enum.
(define_constants for unspecv): Replace with define_c_enum.
* config/arm/neon.md (define_constants for unspec): Replace with
define_c_enum.
From-SVN: r171973
* go-gcc.c (class Blabel): Define.
(Gcc_backend::make_expression): New function.
(get_identifier_from_string): New function.
(Gcc_backend::label): New function.
(Gcc_backend::label_definition_statement): New function.
(Gcc_backend::goto_statement): New function.
(Gcc_backend::label_address): New function.
(expression_to_tree): New function.
* Make-lang.in (go/expressions.o): Depend on
go/gofrontend/backend.h.
(go/gogo.o): Likewise.
From-SVN: r171968
* go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
(class Bfunction): Define.
(Gcc_backend::assignment_statement): Rename from assignment.
Check for errors.
(Gcc_backend::return_statement): New function.
(tree_to_function): New function.
* Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
$(GIMPLE_H), and $(GO_GOGO_H).
From-SVN: r171959
PR 48400
* dwarf2out.c (output_line_info): Always emit line info from
at least one section.
(dwarf2out_init): Create text_section_line_info here ...
(set_cur_line_info_table): ... not here.
From-SVN: r171955
2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes: (optimize_lexical_comparison): New function.
(optimize_expr): Call it.
(optimize_comparison): Also handle lexical comparison functions.
Return false instad of -2 for unequal comparison.
From-SVN: r171954
2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes: (optimize_lexical_comparison): New function.
(optimize_expr): Call it.
(optimize_comparison): Also handle lexical comparison functions.
Return false instad of -2 for unequal comparison.
2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/character_comparison_8.f90: New test.
From-SVN: r171953
2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48412
* frontend-passes (cfe_expr_0): Reverse the order of going
through the loops.
2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48412
* function_optimize_4.f90: New test.
From-SVN: r171952
* cprop.c (implicit_set_cond_p): Assume nothing about COND, move
checks on form of COND from find_implicit_sets to here.
(find_implicit_sets): Cleanup control flow. Split critical edges
if it exposes implicit sets. Allocate/resize implicit_sets as
necessary.
(one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
changed something. Run df_analyze after find_implicit_sets if any
edges were split. Do not allocate implicit_sets here.
From-SVN: r171946