PR debug/49364
* dwarf2out.c (output_abbrev_section): Don't return early
if abbrev_die_table_in_use is 1.
(dwarf2out_finish): Instead don't call output_abbrev_section
nor emit abbrev_section_label in that case.
From-SVN: r175694
* tree-vect-loop.c (vect_determine_vectorization_factor): Handle
both pattern and original statements if necessary.
(vect_transform_loop): Likewise.
* tree-vect-patterns.c (vect_pattern_recog): Update documentation.
* tree-vect-stmts.c (vect_mark_relevant): Add new argument.
Mark the pattern statement only if the original statement doesn't
have its own uses.
(process_use): Call vect_mark_relevant with additional parameter.
(vect_mark_stmts_to_be_vectorized): Likewise.
(vect_get_vec_def_for_operand): Use vectorized pattern statement.
(vect_analyze_stmt): Handle both pattern and original statements
if necessary.
(vect_transform_stmt): Don't store vectorized pattern statement
in the original statement.
(vect_is_simple_use_1): Use related pattern statement only if the
original statement is irrelevant.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
From-SVN: r175681
DR 1207
PR c++/49003
* cp-tree.h (struct saved_scope): Add x_current_class_ptr,
x_current_class_ref.
(current_class_ptr, current_class_ref): Use them.
* decl.c (build_this_parm): Handle getting the class type.
* parser.c (cp_parser_late_return_type_opt): Set up 'this'
for use within the trailing return type.
From-SVN: r175671
2011-06-29 François Dumont <francois.cppdevs@free.fr>
* include/debug/set.h, unordered_map, multiset.h, forward_list,
unordered_set, vector, deque, string, list, multimap.h: Remove base
class default constructor calls.
* include/debug/map.h: Likewise and cleanup several redefinition of
base iterator typedef.
From-SVN: r175665
* config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask option.
* config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL entry.
(TARGET_AVX128_OPTIMAL): New definition.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_TUNE_AVX128_OPTIMAL entry.
(ix86_option_override_internal): Enable the generation
of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
(ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
(ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
From-SVN: r175661
PR rtl-optimization/49114
* reload.c (push_reload): Define in_subreg_loc and out_subreg_loc
only if LIMIT_RELOAD_CLASS to avoid -Werror build breaks.
From-SVN: r175652
PR tree-optimization/49539
* tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
names by means of stmt_references_abnormal_ssa_name.
(associate_plusminus): Call can_propagate_from before propagating
from definition statements.
(ssa_forward_propagate_and_combine): Remove superfluous newline.
From-SVN: r175650
* init.c (build_value_init): Decide whether or not to zero-initialize
based on user-providedness of default ctor, not any ctor.
(build_value_init_noctor): Adjust assert.
From-SVN: r175640
PR rtl-optimization/49114
* reload.c (struct replacement): Remove SUBREG_LOC member.
(push_reload): Do not set it.
(push_replacement): Likewise.
(subst_reload): Remove dead code.
(copy_replacements): Remove assertion.
(copy_replacements_1): Do not handle SUBREG_LOC.
(move_replacements): Likewise.
(find_replacement): Remove dead code. Use reload_adjust_reg_for_mode.
Detect subregs via recursive descent instead of via SUBREG_LOC.
From-SVN: r175631
gcc/
PR tree-optimization/49545
* builtins.c (get_object_alignment_1): Update function comment.
Do not use DECL_ALIGN for functions, but test
TARGET_PTRMEMFUNC_VBIT_LOCATION instead.
* fold-const.c (get_pointer_modulus_and_residue): Don't check
for functions here.
* tree-ssa-ccp.c (get_value_from_alignment): Likewise.
gcc/testsuite/
* gcc.dg/torture/pr49169.c: Restrict to ARM and MIPS targets.
From-SVN: r175627
PR debug/49567
* dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTEND>: Give up
for non-MODE_INT modes instead of asserting the mode has MODE_INT
class.
* gcc.target/i386/pr49567.c: New test.
From-SVN: r175622
PR target/34734
* config/avr/avr.c (avr_handle_progmem_attribute): Move warning
about uninitialized data attributed 'progmem' from here...
(avr_encode_section_info): ...to this new function.
(TARGET_ENCODE_SECTION_INFO): New define.
(avr_section_type_flags): For data in ".progmem.data", remove
section flag SECTION_WRITE.
From-SVN: r175621
* config/avr/t-avr (LIB1ASMFUNCS): Add _mulhisi3, _umulhisi3,
_xmulhisi3_exit.
* config/avr/libgcc.S (_xmulhisi3_exit): New Function.
(__mulhisi3): Optimize if have MUL*. Use XJMP instead of rjmp.
(__umulhisi3): Ditto.
* config/avr/avr.md (mulhisi3): New insn expender.
(umulhisi3): New insn expender.
(*mulhisi3_call): New insn.
(*umulhisi3_call): New insn.
From-SVN: r175620
Renaming to thumb_pop at the same time. The important part
of this is removing the text-based dwarf2out calls.
* config/arm/arm.c (thumb_pop): Rename from thumb_pushpop. Delete
all code and arguments that handled pushes. Update all callers.
From-SVN: r175606