2012-10-05 François Dumont <fdumont@gcc.gnu.org>
* include/ext/throw_allocator.h (__throw_value_base): Add move
semantic, not throwing.
(__throw_value_limit): Likewise.
(__throw_value_random): Likewise.
* testsuite/util/exception/safety.h: Add validation of C++11
methods emplace/emplace_front/emplace_back/emplace_hint.
* testsuite/util/testsuite_container_traits.h: Signal emplace
support on deque, forward_list, list and vector.
* testsuite/23_containers/deque/requirements/exception/
propagation_consistent.cc: Remove dg-do run fail.
From-SVN: r193184
* mode-switching.c (create_pre_exit): Force late switching if
__builtin_{apply,return} emitted a load that require mode,
other than MODE_EXIT.
Co-Authored-By: Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
From-SVN: r193182
* gcc.dg/const-1.c: Update.
* gcc.dg/pure-1.c: Update.
* tree-ssa-loop-niter.c (finite_loop_p): Revamp to be just wrapper of
max_loop_iterations.
From-SVN: r193175
2012-11-05 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55151
* lra-constraints.c (process_alt_operands): Permit putting reg
value into memory. Increase reject for this case.
2012-11-05 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55151
* gcc.dg/pr55151.c: New test.
From-SVN: r193170
2012-11-05 Dehao Chen <dehao@google.com>
* final.c (reemit_insn_block_notes): Do not change scope if insn
location is UNKNOWN_LOCATION.
From-SVN: r193169
* doc/md.texi (Defining Attributes): Document that we are defining
HAVE_ATTR_name macors as 1 for defined attributes, and as 0
for undefined special attributes.
* final.c (asm_insn_count, align_fuzz): Always define.
(insn_current_reference_address): Likewise.
(init_insn_lengths): Use if (HAVE_ATTR_length) instead of
#ifdef HAVE_ATTR_length.
(get_attr_length_1, shorten_branches, final): Likewise.
(final_scan_insn, output_asm_name): Likewise.
* genattr.c (gen_attr): Define HAVE_ATTR_name macros for
defined attributes as 1.
Remove ancient get_attr_alternative compatibility code.
For special purpose attributes not provided, define HAVE_ATTR_name
as 0.
In case no length attribute is given, provide stub definitions
for insn_*_length* functions, and also include insn-addr.h.
In case no enabled attribute is given, provide stub definition.
* genattrtab.c (write_length_unit_log): Always write a definition.
* hooks.c (hook_int_rtx_1, hook_int_rtx_unreachable): New functions.
* hooks.h (hook_int_rtx_1, hook_int_rtx_unreachable): Declare.
* lra-int.h (struct lra_insn_recog_data): Make member
alternative_enabled_p unconditional.
* lra.c (free_insn_recog_data): Use if (HAVE_ATTR_length) instead of
#ifdef HAVE_ATTR_length.
(lra_set_insn_recog_data): Likewise. Make initialization of
alternative_enabled_p unconditional.
(lra_update_insn_recog_data): Use #if instead of #ifdef for
HAVE_ATTR_enabled.
* recog.c [!HAVE_ATTR_enabled] (get_attr_enabled): Don't define.
(extract_insn): Check HAVE_ATTR_enabled.
(gate_handle_split_before_regstack): Use #if instead of
#if defined for HAVE_ATTR_length.
From-SVN: r193168
* ipa-inline.c (compute_uninlined_call_time,
compute_inlined_call_time): New functions.
(RELATIVE_TIME_BENEFIT_RANGE): New macro.
(relative_time_benefit): Rewrite.
(edge_badness): Rewrite path with guessed profile and estimated profile.
* ipa-inline.h (INLINE_HINT_declared_inline, INLINE_HINT_cross_module):
New hints.
(struct inline_summary): Add GROWTH filed.
* ipa-inline-analysis.c (dump_inline_hints): Update.
(reset_inline_summary): Update.
(dump_inline_summary): Update.
(will_be_nonconstant_predicate): Cleanup to use gimple_store_p and
gimple_assign_load_p predicates.
(estimate_node_size_and_time): Drop INLINE_HINT_declared_inline hint.
(simple_edge_hints): New function.
(do_estimate_edge_time): Return time of invocation of callee rather
than the time scaled by edge frequency; update hints code.
(do_estimate_edge_hints): Update.
(do_estimate_growth): Cleanup.
From-SVN: r193161
* tree-ssa-loop-niter.c (find_loop_niter): Remove just_once_each_iteration_p.
(maybe_lower_iteration_bound): Initialize not_executed_last_iteration to NULL
* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Skip
just_once_each_iteration_p; record estimated bound when loop has only one
likely exit; test just_once_each_iteration_p before IV canon itself.
From-SVN: r193159
PR debug/54402
* var-tracking.c (fp_setter): Return false if there is REG_CFA_RESTORE
hfp note.
(vt_initialize): Look for fp_setter in any bb, not just successor of
entry bb.
From-SVN: r193152
2012-11-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/55199
* primary.c (gfc_match_varspec): Clear typespec if it cannot be
determined at this point.
2012-11-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/55199
* gfortran.dg/associate_12.f90: New.
From-SVN: r193136
PR target/54255
* lib/target-supports.exp (check_effective_target_masm_intel): New
proc.
* gcc.target/i386/asm-dialect-1.c: Use dg-require-effective-target
masm_intel.
From-SVN: r193127
* lib/target-supports.exp (check_effective_target_maybe_x32): New
proc.
* gcc.target/i386/pr54457.c: Use dg-require-effective-target
maybe_x32.
* gcc.target/i386/pr53249.c: Likewise.
Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
From-SVN: r193126
2012-11-03 Andrew Pinski <apinski@cavium.com>
* gcc.target/mips/octeon-bbit-3.c: Change the second call to abort to
call abort1 so that cross jumping does not happen.
From-SVN: r193125
2012-11-03 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/extend.texi: Copy-edit to use present tense except when
explicitly describing future or past behavior.
From-SVN: r193123
gcc/testsuite/
* gcc.target/mips/octeon-exts-7.c (bar): Make sure the extraction of
b requires a 64-bit operation followed by a truncation.
From-SVN: r193118