* gcc-interface/decl.c (gnat_to_gnu_field): Remove the wrapper around
a misaligned integral type if a size is specified for the field.
From-SVN: r196506
PR middle-end/56548
* expr.c (expand_cond_expr_using_cmove): When expanding cmove in
promoted mode, convert the result back to the original mode.
* gcc.dg/pr56548.c: New test.
From-SVN: r196498
2013-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/56294
* tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
(insert_updated_phi_nodes_compare_uids): New function.
(update_ssa): Sort symbols_to_rename after UID before
traversing it to insert PHI nodes.
From-SVN: r196488
2013-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/50494
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
Revert
2013-02-13 Richard Biener <rguenther@suse.de>
PR lto/50494
* varasm.c (output_constant_def_1): Get the decl representing
the constant as argument.
(output_constant_def): Wrap output_constant_def_1.
(make_decl_rtl): Use output_constant_def_1 with the decl
representing the constant.
(build_constant_desc): Optionally re-use a decl already
representing the constant.
(tree_output_constant_def): Adjust.
From-SVN: r196487
2013-03-06 Joey Ye <joey.ye@arm.com>
PR lto/50293
* gcc.c (convert_white_space): New function.
(main): Handles white space in function name.
From-SVN: r196485
gcc/
PR debug/55364
* dwarf2out.c (resolve_addr): Don't call
remove_loc_list_addr_table_entries a second time for the same
expression.
Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r196480
PR rtl-optimization/56484
* ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
lifetimes of hard registers on small register class machines.
From-SVN: r196478
PR middle-end/56461
* ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
if VALGRIND_GET_VBITS is defined, temporarily make object
memory all defined, and restore previous valgrind addressability
and definability afterwards. Free this_object at the end.
* c-pch.c (pch_init): Free target_validity at the end.
From-SVN: r196469
PR middle-end/56461
* lra.c (lra): Call lra_clear_live_ranges if live_p,
right before calling lra_create_live_ranges, also call it
when clearing live_p. Only call lra_clear_live_ranges
at the end if live_p.
From-SVN: r196468
gcc/
PR c++/55135
* except.h (remove_unreachable_eh_regions): New prototype.
* except.c (remove_eh_handler_splicer): New function, split out
of remove_eh_handler.
(remove_eh_handler): Use remove_eh_handler_splicer. Add comment
warning about running it on many EH regions one at a time.
(remove_unreachable_eh_regions_worker): New function, walk the
EH tree in depth-first order and remove non-marked regions.
(remove_unreachable_eh_regions): New function.
* tree-eh.c (mark_reachable_handlers): New function, split out
from remove_unreachable_handlers.
(remove_unreachable_handlers): Use mark_reachable_handlers and
remove_unreachable_eh_regions.
(remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
and remove_unreachable_eh_regions.
From-SVN: r196464
2013-03-05 Richard Biener <rguenther@suse.de>
PR middle-end/56525
* loop-init.c (fix_loop_structure): Remove loops in two stages,
not freeing them until the end.
From-SVN: r196462
2013-03-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/56270
* tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
of loads after scheduling an SLP instance.
* gcc.dg/vect/slp-38.c: New testcase.
From-SVN: r196458
* Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
tic6x.exp.
(check_gcc_parallelize): Run guality.exp as a separate job from
vect.exp with unsorted.exp and $(dg_target_exps) separately from
struct-layout-1.exp with stackalign.exp.
From-SVN: r196457
PR middle-end/56461
* tree-ssa-loop-niter.c (bb_queue): Remove typedef.
(discover_iteration_bound_by_body_walk): Change queues to
vec<vec<basic_block> > and queue to vec<basic_block>. Fix up
spelling in comment. Call safe_push on queues[bound_index] directly.
Release queues[queue_index] in every iteration unconditionally.
Release bounds vector.
From-SVN: r196454
2013-03-05 Richard Biener <rguenther@suse.de>
PR lto/56515
* tree-inline.c (remap_blocks_to_null): New function.
(expand_call_inline): When expanding a call stmt without
an associated block inline remap all callee blocks to NULL.
From-SVN: r196452
PR rtl-optimization/56494
* simplify-rtx.c (simplify_truncation): If C is narrower than A,
optimize (truncate:A (subreg:B (truncate:C X) 0)) into
(subreg:A (truncate:C X) 0) instead of (truncate:A X).
* gcc.dg/pr56494.c: New test.
From-SVN: r196451