2014-04-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/60766
* tree-ssa-loop-ivopts.c (cand_value_at): Compute in an
unsigned type.
(may_eliminate_iv): Convert cand_value_at result to desired
type.
* gcc.dg/torture/pr60766.c: New testcase.
From-SVN: r209190
PR debug/55794
* config/pa/pa.c (pa_output_function_epilogue): Skip address and code
size accounting for thunks.
(pa_asm_output_mi_thunk): Use final_start_function() and
final_end_function() to output function start and end directives.
From-SVN: r209163
* config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have device
specific ISA/ feature information. Remove short_sp and errata_skip ds.
Add avr_device_specific_features enum to have device specific info.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
* config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
updated device specific info.
* config/avr/avr-mcus.def: Merge device specific details to
dev_attribute field.
* config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
errata_skip.
* config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
* config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
assembler if RMW isa supported by current device.
* config/avr/genmultilib.awk: Update as device info structure changed.
* doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
* gcc.target/avr/dev-specific-rmw.c: New test.
From-SVN: r209141
2014-04-04 Cong Hou <congh@google.com>
PR tree-optimization/60656
* tree-vect-stmts.c (supportable_widening_operation):
Fix a bug that elements in a vector with vect_used_by_reduction
property are incorrectly reordered when the operation on it is not
consistant with the one in reduction operation.
2014-04-04 Cong Hou <congh@google.com>
PR tree-optimization/60656
* gcc.dg/vect/pr60656.c: New test.
From-SVN: r209138
2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
* decl.c (duplicate_decls): Check for the return of warning_at
before emitting a note.
(warn_misplaced_attr_for_class_type): Likewise.
(check_tag_decl): Likewise.
From-SVN: r209131
PR c++/44613
* semantics.c (add_stmt): Set STATEMENT_LIST_HAS_LABEL.
* decl.c (cp_finish_decl): Create a new BIND_EXPR before
instantiating a variable-sized type.
From-SVN: r209125
PR ipa/59626
* lto-cgraph.c (input_overwrite_node): Check that partitioning
flags are set only during streaming.
* ipa.c (process_references, walk_polymorphic_call_targets,
symtab_remove_unreachable_nodes): Drop bodies of always inline
after early inlining.
(symtab_remove_unreachable_nodes): Remove always_inline attribute.
* gcc.dg/lto/pr59626_0.c: New testcase.
* gcc.dg/lto/pr59626_1.c: New testcase.
From-SVN: r209123
This is a partial fix for PR60655 where dwarf2out.c rejects NOT of a
value in const_ok_for_output_1. There is still a problem with the
testcase on armhf where we get operations of the form, const (minus
(const_int) (symref)) without the -fdata-sections option which is just
weird. I'm not yet sure where this is produced from and will not have
the time to dig further today.
As Jakub said on IRC, const_ok_for_output_1 is called only with
partial rtx's and therefore disabling minus (const_int) (symref) might
not be the best thing to do especially if this were part of plus
(symref) (minus (const int) (symref)) and both symrefs were in the
same section.
Bootstrapped and regtested on armhf
Bootstrap and regression test running on x86_64.
Ok to commit ?
regards
Ramana
gcc/
<DATE> Jakub Jelinek <jakub@redhat.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* dwarf2out.c (const_ok_for_output_1): Reject expressions
containing a NOT.
gcc/testsuite
<DATE> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.c-torture/compile/pr60655-1.c: New test.
From-SVN: r209121
2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
* class.c (find_abi_tags_r): Check for the return of warning
before emitting a note.
(one_inherited_ctor): Likewise.
From-SVN: r209118
2014-04-04 Martin Jambor <mjambor@suse.cz>
PR ipa/60640
* cgraph.h (cgraph_clone_node): New parameter added to declaration.
Adjust all callers.
* cgraph.c (clone_of_p): Also return true if thunks match.
(verify_edge_corresponds_to_fndecl): Removed extraneous call to
cgraph_function_or_thunk_node and an obsolete comment.
* cgraphclones.c (build_function_type_skip_args): Moved upwards in the
file.
(build_function_decl_skip_args): Likewise.
(set_new_clone_decl_and_node_flags): New function.
(duplicate_thunk_for_node): Likewise.
(redirect_edge_duplicating_thunks): Likewise.
(cgraph_clone_node): New parameter args_to_skip, pass it to
redirect_edge_duplicating_thunks which is called instead of
cgraph_redirect_edge_callee.
(cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
testsuite/
* g++.dg/ipa/pr60640-1.C: New test.
* g++.dg/ipa/pr60640-2.C: Likewise.
* g++.dg/ipa/pr60640-3.C: Likewise.
* g++.dg/ipa/pr60640-4.C: Likewise.
From-SVN: r209097
2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR fortran/60191
* fortran/trans-types.c (gfc_get_function_type): In case of recursion
build a variadic function type with empty argument list instead of a
stdarg-like function type with incomplete argument list.
From-SVN: r209091
2014-04-03 Cong Hou <congh@google.com>
PR tree-optimization/60505
* tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
threshold of number of iterations below which no vectorization will be
done.
* tree-vect-loop.c (new_loop_vec_info):
Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
* tree-vect-loop.c (vect_analyze_loop_operations):
Set LOOP_VINFO_COST_MODEL_THRESHOLD.
* tree-vect-loop.c (vect_transform_loop):
Use LOOP_VINFO_COST_MODEL_THRESHOLD.
* tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
of iterations of the loop and see if we should build the epilogue.
2014-04-03 Cong Hou <congh@google.com>
PR tree-optimization/60505
* gcc.dg/vect/pr60505.c: New test.
From-SVN: r209065
2014-04-03 Richard Biener <rguenther@suse.de>
* tree-streamer-out.c (streamer_write_chain): Do not temporarily
set TREE_CHAIN to NULL_TREE.
From-SVN: r209058
2014-04-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/60740
* graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
over all GIMPLE_COND operands.
* gcc.dg/graphite/pr60740.c: New testcase.
From-SVN: r209057