1. 12 Oct, 2011 24 commits
    • Makefile.in (LOOSE_WARN): Delete. · 0cfaf83f
      gnattools/
      	* Makefile.in (LOOSE_WARN): Delete.
      	(GCC_WARN_CFLAGS): Set to -W -Wall.
      	(TOOLS_FLAGS_TO_PASS_1): Delete.
      	(TOOLS_FLAGS_TO_PASS_1re): Rename into...
      	(TOOLS_FLAGS_TO_PASS_RE): ...this.
      	(gnattools-native): Use TOOLS_FLAGS_TO_PASS_NATIVE.
      	(regnattools): Use TOOLS_FLAGS_TO_PASS_RE.
      libada/
      	* Makefile.in (LOOSE_WARN): Delete.
      	(GCC_WARN_CFLAGS): Likewise.
      	(WARN_CFLAGS): Likewise.
      	(GNATLIBFLAGS): Add -nostdinc.
      	(GNATLIBCFLAGS_FOR_C): Add -W -Wall.
       	(LIBADA_FLAGS_TO_PASS): Remove WARN_CFLAGS.
      	* configure.ac (warn_cflags): Delete.
      	* configure: Regenerate.
      gcc/ada/
      	* sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
      	* gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
      	(ALL_ADAFLAGS): Include WARN_ADAFLAGS.
      	(ADA_FLAGS_TO_PASS): Likewise.
      	(COMMON_FLAGS_TO_PASS): New.
      	(ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS.  In the regular
      	native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
      	(gnatlib): Use COMMON_FLAGS_TO_PASS.
      	(ada.install-common): Likewise.
      	(install-gnatlib): Likewise.
      	(install-gnatlib-obj): Likewise.
      	(gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
      	(gnat-cross): Delete.
      	(gnatboot): Likewise.
      	(gnatboot2): Likewise.
      	(gnatboot3): Likewise.
      	(gnatstage1): Likewise.
      	(gnatstage2): Likewise.
      	* gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
      	(MOST_ADAFLAGS): Likewise.
      	(LOOSE_CFLAGS): Likewise.
       	(gnat-cross): Likewise.
      	(GNATLIBFLAGS): Add -W -Wall.
      	(GNATLIBCFLAGS_FOR_C): Likewise.
      	* gcc-interface/lang.opt: Remove C-specific warnings.  Add doc lines.
      	* gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.
      
      From-SVN: r179878
      Eric Botcazou committed
    • warn-1.c: Skip if not powerpc_vsx_ok. · 53778c2d
      	* gcc.target/powerpc/warn-1.c: Skip if not powerpc_vsx_ok.
      	* gcc.target/powerpc/warn-2.c: Ditto.
      
      From-SVN: r179877
      Janis Johnson committed
    • ppc-fma-3.c: Require powerpc_fprs. · 5239de8f
      	* gcc.target/powerpc/ppc-fma-3.c: Require powerpc_fprs.
      	* gcc.target/powerpc/ppc-fma-4.c: Likewise.
      	* gcc.target/powerpc/ppc-fma-5.c: Likewise.
      	* gcc.target/powerpc/ppc-fma-7.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-11.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
      	* gcc.target/powerpc/ppc-pow.c: Likewise.
      	* gcc.target/powerpc/recip-1.c: Likewise.
      	* gcc.target/powerpc/recip-2.c: Likewise.
      	* gcc.target/powerpc/recip-3.c: Likewise.
      	* gcc.target/powerpc/recip-4.c: Likewise.
      	* gcc.target/powerpc/recip-5.c: Likewise.
      
      From-SVN: r179876
      Janis Johnson committed
    • Fix sparc when assembler lacks support for vis3/fmaf instructions. · fad034a7
      gcc/
      
      	* config/sparc/sparc.h: Do not force TARGET_VIS3 and TARGET_FMAF
      	to zero when assembler lacks support for such instructions.
      	* config/sparc/sparc.c (sparc_option_override): Clear MASK_VIS3
      	and MASK_FMAF in defaults when assembler lacks necessary support.
      
      gcc/testsuite/
      
      	* gcc.target/sparc/cmask.c: Remove 'vis3' target check and specify
      	'-mvis3' instead of 'mcpu=niagara3' in options.
      	* gcc.target/sparc/fhalve.c: Likewise.
      	* gcc.target/sparc/fnegop.c: Likewise.
      	* gcc.target/sparc/fpadds.c: Likewise.
      	* gcc.target/sparc/fshift.c: Likewise.
      	* gcc.target/sparc/fucmp.c: Likewise.
      	* gcc.target/sparc/lzd.c: Likewise.
      	* gcc.target/sparc/vis3misc.c: Likewise.
      	* gcc.target/sparc/xmul.c: Likewise.
      
      From-SVN: r179875
      David S. Miller committed
    • trans.c (Attribute_to_gnu): Use remove_conversions. · 722356ce
      	* gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
      	(push_range_check_info): Likewise.
      	(gnat_to_gnu) <N_Code_Statement>: Likewise.
      	* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
      	(gnat_invariant_expr): Likewise.
      	* gcc-interface/utils.c (compute_related_constant): Likewise.
      	(max_size): Fix handling of SAVE_EXPR.
      	(remove_conversions): Fix formatting.
      
      From-SVN: r179873
      Eric Botcazou committed
    • sse.md (vec_unpacks_lo_<mode>, [...]): Change VI124_128 mode to VI124_AVX2. · 4eb20b03
      	* config/i386/sse.md (vec_unpacks_lo_<mode>,
      	vec_unpacks_hi_<mode>, vec_unpacku_lo_<mode>,
      	vec_unpacku_hi_<mode>): Change VI124_128 mode to
      	VI124_AVX2.
      	* config/i386/i386.c (ix86_expand_sse_unpack): Handle
      	V32QImode, V16HImode and V8SImode for TARGET_AVX2.
      
      From-SVN: r179872
      Jakub Jelinek committed
    • sse.md (vec_avx2): New mode_attr. · f2289672
      	* config/i386/sse.md (vec_avx2): New mode_attr.
      	(mulv16qi3): Macroize to cover also mulv32qi3 for
      	TARGET_AVX2 into ...
      	(mul<mode>3): ... this.
      
      From-SVN: r179871
      Jakub Jelinek committed
    • i386.md (UNSPEC_VPERMDI): Remove. · 0c7189ae
      	* config/i386/i386.md (UNSPEC_VPERMDI): Remove.
      	* config/i386/i386.c (ix86_expand_vec_perm): Handle
      	V16QImode and V32QImode for TARGET_AVX2.
      	(MAX_VECT_LEN): Increase to 32.
      	(expand_vec_perm_blend): Add support for 32-byte integer
      	vectors with TARGET_AVX2.
      	(valid_perm_using_mode_p): New function.
      	(expand_vec_perm_pshufb): Add support for 32-byte integer
      	vectors with TARGET_AVX2.
      	(expand_vec_perm_vpshufb2_vpermq): New function.
      	(expand_vec_perm_vpshufb2_vpermq_even_odd): New function.
      	(expand_vec_perm_even_odd_1): Handle 32-byte integer vectors
      	with TARGET_AVX2.
      	(ix86_expand_vec_perm_builtin_1): Try expand_vec_perm_vpshufb2_vpermq
      	and expand_vec_perm_vpshufb2_vpermq_even_odd.
      	* config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Add for TARGET_AVX2
      	32-byte integer vector modes.
      	(vec_pack_trunc_<mode>): Use VI248_AVX2 instead of VI248_128.
      	(avx2_interleave_highv32qi, avx2_interleave_lowv32qi): Remove pasto.
      	(avx2_pshufdv3, avx2_pshuflwv3, avx2_pshufhwv3): Generate
      	4 new operands.
      	(avx2_pshufd_1, avx2_pshuflw_1, avx2_pshufhw_1): Don't use
      	match_dup, instead add 4 new operands and require they have
      	right cross-lane values.
      	(avx2_permv4di): Change into define_expand.
      	(avx2_permv4di_1): New instruction.
      	(avx2_permv2ti): Use nonimmediate_operand instead of register_operand
      	for "xm" constrained operand.
      	(VEC_PERM_AVX2): Add V32QI and V16QI for TARGET_AVX2.
      
      From-SVN: r179870
      Jakub Jelinek committed
    • sse.md (avx2_gathersi<mode>, [...]): Add clobber of match_scratch... · 9d901b0e
      	* config/i386/sse.md (avx2_gathersi<mode>,
      	avx2_gatherdi<mode>, avx2_gatherdi<mode>256): Add clobber of
      	match_scratch, change memory_operand to register_operand,
      	add (mem:BLK (scratch)) use.
      	(*avx2_gathersi<mode>, *avx2_gatherdi<mode>,
      	*avx2_gatherdi<mode>256): Add clobber of match_scratch,
      	add earlyclobber to the output operand and match_scratch,
      	add (mem:BLK (scratch)) use, change the other mem to match_operand.
      	Use %p6 instead of %c6 in the pattern.
      	* config/i386/i386.c (ix86_expand_builtin): Adjust for
      	operand 2 being a Pmode register_operand instead of memory_operand.
      
      From-SVN: r179869
      Jakub Jelinek committed
    • ada-tree.h (DECL_LOOP_PARM_P): New flag. · 15bf7d19
      	* gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.
      	(DECL_INDUCTION_VAR): New macro.
      	(SET_DECL_INDUCTION_VAR): Likewise.
      	* gcc-interface/gigi.h (convert_to_index_type): Declare.
      	(gnat_invariant_expr): Likewise.
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop
      	parameter, set DECL_LOOP_PARM_P on it.
      	* gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P
      	is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT.
      	* gcc-interface/trans.c (gnu_loop_label_stack): Delete.
      	(struct range_check_info_d): New type.
      	(struct loop_info_d): Likewise.
      	(gnu_loop_stack): New stack.
      	(Identifier_to_gnu): Set TREE_READONLY flag on the first dereference
      	built for a by-double-ref read-only parameter.  If DECL_LOOP_PARM_P
      	is set, do not test DECL_RENAMED_OBJECT.
      	(push_range_check_info): New function.
      	(Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just
      	the label.  Reference the label and the iteration variable from it.
      	Build the special induction variable in the unsigned version of the
      	size type, if it is larger than the base type.  And attach it to the
      	iteration variable if the latter isn't by-ref.  In the iteration scheme
      	case, initialize the invariant conditions in front of the loop if
      	deemed profitable.  Use gnu_loop_stack.
      	(gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack.
      	<N_Raise_Constraint_Error>: Always process the reason.  In the range
      	check and related cases, and if loop unswitching is enabled, compute
      	invariant conditions and push this information onto the stack.
      	Do not translate again the condition if it has been already translated.
      	* gcc-interface/utils.c (record_global_renaming_pointer): Assert that
      	DECL_LOOP_PARM_P isn't set.
      	(convert_to_index_type): New function.
      	* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order
      	to convert the index from the base index type to sizetype.
      	(gnat_invariant_expr): New function.
      
      From-SVN: r179868
      Eric Botcazou committed
    • re PR c++/50594 (Option -fwhole-program discards replaced new operator for std::string) · 578f0234
      2011-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50594
      	* decl.c (cxx_init_decl_processing): Add
      	__attribute__((externally_visible)) to operator new and
      	operator delete library fn.
      
      2011-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50594
      	* libsupc++/new (operator new, operator delete): Decorate with
      	__attribute__((__externally_visible__)).
      	* include/bits/c++config: Add _GLIBCXX_THROW.
      	* libsupc++/del_op.cc: Adjust.
      	* libsupc++/del_opv.cc: Likewise.
      	* libsupc++/del_opnt.cc: Likewise.
      	* libsupc++/del_opvnt.cc: Likewise.
      	* libsupc++/new_op.cc: Likewise.
      	* libsupc++/new_opv.cc: Likewise.
      	* libsupc++/new_opnt.cc: Likewise.
      	* libsupc++/new_opvnt.cc: Likewise.
      	* testsuite/18_support/50594.cc: New.
      	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
      	line number.
      
      From-SVN: r179863
      Paolo Carlini committed
    • Add -mfpmath=sse/-mtune=generic to FMA tests. · 0a6fa376
      2011-10-12  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/fma_run_double_1.c: Add -mfpmath=sse.
      	* gcc.target/i386/fma_run_double_2.c: Likewise.
      	* gcc.target/i386/fma_run_double_3.c: Likewise.
      	* gcc.target/i386/fma_run_double_4.c: Likewise.
      	* gcc.target/i386/fma_run_double_5.c: Likewise.
      	* gcc.target/i386/fma_run_double_6.c: Likewise.
      	* gcc.target/i386/fma_run_float_1.c: Likewise.
      	* gcc.target/i386/fma_run_float_2.c: Likewise.
      	* gcc.target/i386/fma_run_float_3.c: Likewise.
      	* gcc.target/i386/fma_run_float_4.c: Likewise.
      	* gcc.target/i386/fma_run_float_5.c: Likewise.
      	* gcc.target/i386/fma_run_float_6.c: Likewise.
      
      	* gcc.target/i386/l_fma_double_1.c: Add -mtune=generic and
      	remove the extra dg-options.
      	* gcc.target/i386/l_fma_double_2.c: Likewise.
      	* gcc.target/i386/l_fma_double_3.c: Likewise.
      	* gcc.target/i386/l_fma_double_4.c: Likewise.
      	* gcc.target/i386/l_fma_double_5.c: Likewise.
      	* gcc.target/i386/l_fma_double_6.c: Likewise.
      	* gcc.target/i386/l_fma_float_1.c: Likewise.
      	* gcc.target/i386/l_fma_float_2.c: Likewise.
      	* gcc.target/i386/l_fma_float_3.c: Likewise.
      	* gcc.target/i386/l_fma_float_4.c: Likewise.
      	* gcc.target/i386/l_fma_float_5.c: Likewise.
      	* gcc.target/i386/l_fma_float_6.c: Likewise.
      
      From-SVN: r179861
      H.J. Lu committed
    • i386.md (simple_return): Disable if TARGET_SEH is active. · c482a651
              * config/i386/i386.md (simple_return): Disable
              if TARGET_SEH is active.
      
      From-SVN: r179860
      Kai Tietz committed
    • ia64.c (ia64_init_builtins): Fix unbalanced parentheses. · ccea4a27
      2011-10-12  Steve Ellcey  <sje@cup.hp.com>
      
      	* config/ia64/ia64.c (ia64_init_builtins): Fix unbalanced parentheses.
      
      From-SVN: r179859
      Steve Ellcey committed
    • tree-ssa-alias.c (maybe_skip_until): Cache also at the point of the first store… · d660a3db
      tree-ssa-alias.c (maybe_skip_until): Cache also at the point of the first store we visit in a basic-block.
      
      2011-10-12  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-alias.c (maybe_skip_until): Cache also at the point
      	of the first store we visit in a basic-block.
      	(get_continuation_for_phi): Search for a candidate VUSE that
      	might dominates all others.  Do pairwise disambiguation against
      	that candidate.
      
      From-SVN: r179858
      Richard Guenther committed
    • re PR middle-end/50189 (Wrong code error in -O2 [-fstrict-enums] compile, target independent) · ebbcd0c6
      2011-10-12  Paul Koning  <pkoning@gcc.gnu.org>
      
      	PR tree-optimization/50189
      	* tree-vrp.c (extract_range_from_assert): Use the type of
      	the variable, not the limit.
      
      	* g++.dg/torture/pr50189.C: New testcase.
      
      From-SVN: r179857
      Paul Koning committed
    • invoke.texi (-fwhole-file): Update wording since -fwhole-file is now enabled by default. · 7e191522
      2011-10-11  Tobias Burnus  <burnus@net-b.de>
                  Janus Weil  <janus@gcc.gnu.org>
      
              * invoke.texi (-fwhole-file): Update wording since -fwhole-file
              is now enabled by default.
      
      
      Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
      
      From-SVN: r179854
      Tobias Burnus committed
    • re PR middle-end/50700 (__builtin_object_size computed wrong) · d837d73d
      2011-10-12  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/50700
      	* tree-object-size.c (addr_object_size): Simplify and treat
      	MEM_REF bases consistently.
      
      	* gcc.dg/builtin-object-size-12.c: New testcase.
      
      From-SVN: r179850
      Richard Guenther committed
    • function.c (prepare_shrink_wrap, [...]): New function. · 39d52ae5
      	* function.c (prepare_shrink_wrap, bb_active_p): New function.
      	(thread_prologue_and_epilogue_insns): Use bb_active_p.
      	Call prepare_shrink_wrap, then recompute bb_active_p for the
      	last block.
      
      From-SVN: r179848
      Bernd Schmidt committed
    • re PR c/50565 (initializer element is not computable at load time) · a2d5091a
      	PR c/50565
      	* convert.c (convert_to_integer): Do not narrow operands of
      	pointer subtraction.
      
      testsuite:
      	* gcc.c-torture/compile/pr50565-1.c,
      	gcc.c-torture/compile/pr50565-2.c: New tests.
      
      From-SVN: r179845
      Joseph Myers committed
    • arm.h (EMIT_EABI_ATTRIBUTE): New macro. · 58e9ddb1
      	* config/arm/arm.h (EMIT_EABI_ATTRIBUTE): New macro.  Used to
      	emit a .eabi_attribute assembler directive, possibly with a
      	comment attached.
      	* config/arm/arm.c (arm_file_start): Use the new macro.
      	* config/arm/arm-c.c (arm_output_c_attributes): Likewise.
      
      From-SVN: r179844
      Nick Clifton committed
    • re PR target/49939 ([avr] Skip 2-word instructions if applicable) · 9bc9ee67
      	PR target/49939
      	* config/avr/avr.md (*movqi): Rename to movqi_insn.
      	(*call_insn): Rename to call_insn.
      	(*call_value_insn): Rename to call_value_insn.
      	* config/avr/avr.c (avr_2word_insn_p): New static function.
      	(jump_over_one_insn_p): Use it.
      
      From-SVN: r179843
      Georg-Johann Lay committed
    • expr.h (copy_blkmode_to_reg): Declare. · 2ba87a29
      gcc/
      	* expr.h (copy_blkmode_to_reg): Declare.
      	* expr.c (copy_blkmode_to_reg): New function.
      	(expand_assignment): Don't expand register RESULT_DECLs before
      	the lhs.  Use copy_blkmode_to_reg to copy BLKmode values into a
      	RESULT_DECL register.
      	(expand_expr_real_1): Handle BLKmode decls when looking for promotion.
      	* stmt.c (expand_return): Move BLKmode-to-register code into
      	copy_blkmode_to_reg.
      
      From-SVN: r179839
      Richard Sandiford committed
    • Daily bump. · e755e543
      From-SVN: r179835
      GCC Administrator committed
  2. 11 Oct, 2011 16 commits