1. 28 Oct, 2012 9 commits
    • bessel.m4: Remove useless statement. · 036e1775
      2012-10-28  Tobias Burnus  <burnus@net-b.de>
      
               * m4/bessel.m4: Remove useless statement.
               * m4/ifunction.m4: Remove unreachable code.
               * generated/bessel_r10.c: Regenerated.
               * generated/bessel_r16.c: Regenerated.
               * generated/bessel_r4.c: Regenerated.
               * generated/bessel_r8.c: Regenerated.
               * generated/iall_i1.c: Regenerated.
               * generated/iall_i16.c: Regenerated.
               * generated/iall_i2.c: Regenerated.
               * generated/iall_i4.c: Regenerated.
               * generated/iall_i8.c: Regenerated.
               * generated/iany_i1.c: Regenerated.
               * generated/iany_i16.c: Regenerated.
               * generated/iany_i2.c: Regenerated.
               * generated/iany_i4.c: Regenerated.
               * generated/iany_i8.c: Regenerated.
               * generated/iparity_i1.c: Regenerated.
               * generated/iparity_i16.c: Regenerated.
               * generated/iparity_i2.c: Regenerated.
               * generated/iparity_i4.c: Regenerated.
               * generated/iparity_i8.c: Regenerated.
               * generated/maxloc1_16_i1.c: Regenerated.
               * generated/maxloc1_16_i16.c: Regenerated.
               * generated/maxloc1_16_i2.c: Regenerated.
               * generated/maxloc1_16_i4.c: Regenerated.
               * generated/maxloc1_16_i8.c: Regenerated.
               * generated/maxloc1_16_r10.c: Regenerated.
               * generated/maxloc1_16_r16.c: Regenerated.
               * generated/maxloc1_16_r4.c: Regenerated.
               * generated/maxloc1_16_r8.c: Regenerated.
               * generated/maxloc1_4_i1.c: Regenerated.
               * generated/maxloc1_4_i16.c: Regenerated.
               * generated/maxloc1_4_i2.c: Regenerated.
               * generated/maxloc1_4_i4.c: Regenerated.
               * generated/maxloc1_4_i8.c: Regenerated.
               * generated/maxloc1_4_r10.c: Regenerated.
               * generated/maxloc1_4_r16.c: Regenerated.
               * generated/maxloc1_4_r4.c: Regenerated.
               * generated/maxloc1_4_r8.c: Regenerated.
               * generated/maxloc1_8_i1.c: Regenerated.
               * generated/maxloc1_8_i16.c: Regenerated.
               * generated/maxloc1_8_i2.c: Regenerated.
               * generated/maxloc1_8_i4.c: Regenerated.
               * generated/maxloc1_8_i8.c: Regenerated.
               * generated/maxloc1_8_r10.c: Regenerated.
               * generated/maxloc1_8_r16.c: Regenerated.
               * generated/maxloc1_8_r4.c: Regenerated.
               * generated/maxloc1_8_r8.c: Regenerated.
               * generated/maxval_i1.c: Regenerated.
               * generated/maxval_i16.c: Regenerated.
               * generated/maxval_i2.c: Regenerated.
               * generated/maxval_i4.c: Regenerated.
               * generated/maxval_i8.c: Regenerated.
               * generated/maxval_r10.c: Regenerated.
               * generated/maxval_r16.c: Regenerated.
               * generated/maxval_r4.c: Regenerated.
               * generated/maxval_r8.c: Regenerated.
               * generated/minloc1_16_i1.c: Regenerated.
               * generated/minloc1_16_i16.c: Regenerated.
               * generated/minloc1_16_i2.c: Regenerated.
               * generated/minloc1_16_i4.c: Regenerated.
               * generated/minloc1_16_i8.c: Regenerated.
               * generated/minloc1_16_r10.c: Regenerated.
               * generated/minloc1_16_r16.c: Regenerated.
               * generated/minloc1_16_r4.c: Regenerated.
               * generated/minloc1_16_r8.c: Regenerated.
               * generated/minloc1_4_i1.c: Regenerated.
               * generated/minloc1_4_i16.c: Regenerated.
               * generated/minloc1_4_i2.c: Regenerated.
               * generated/minloc1_4_i4.c: Regenerated.
               * generated/minloc1_4_i8.c: Regenerated.
               * generated/minloc1_4_r10.c: Regenerated.
               * generated/minloc1_4_r16.c: Regenerated.
               * generated/minloc1_4_r4.c: Regenerated.
               * generated/minloc1_4_r8.c: Regenerated.
               * generated/minloc1_8_i1.c: Regenerated.
               * generated/minloc1_8_i16.c: Regenerated.
               * generated/minloc1_8_i2.c: Regenerated.
               * generated/minloc1_8_i4.c: Regenerated.
               * generated/minloc1_8_i8.c: Regenerated.
               * generated/minloc1_8_r10.c: Regenerated.
               * generated/minloc1_8_r16.c: Regenerated.
               * generated/minloc1_8_r4.c: Regenerated.
               * generated/minloc1_8_r8.c: Regenerated.
               * generated/minval_i1.c: Regenerated.
               * generated/minval_i16.c: Regenerated.
               * generated/minval_i2.c: Regenerated.
               * generated/minval_i4.c: Regenerated.
               * generated/minval_i8.c: Regenerated.
               * generated/minval_r10.c: Regenerated.
               * generated/minval_r16.c: Regenerated.
               * generated/minval_r4.c: Regenerated.
               * generated/minval_r8.c: Regenerated.
               * generated/product_c10.c: Regenerated.
               * generated/product_c16.c: Regenerated.
               * generated/product_c4.c: Regenerated.
               * generated/product_c8.c: Regenerated.
               * generated/product_i1.c: Regenerated.
               * generated/product_i16.c: Regenerated.
               * generated/product_i2.c: Regenerated.
               * generated/product_i4.c: Regenerated.
               * generated/product_i8.c: Regenerated.
               * generated/product_r10.c: Regenerated.
               * generated/product_r16.c: Regenerated.
               * generated/product_r4.c: Regenerated.
               * generated/product_r8.c: Regenerated.
               * generated/sum_c10.c: Regenerated.
               * generated/sum_c16.c: Regenerated.
               * generated/sum_c4.c: Regenerated.
               * generated/sum_c8.c: Regenerated.
               * generated/sum_i1.c: Regenerated.
               * generated/sum_i16.c: Regenerated.
               * generated/sum_i2.c: Regenerated.
               * generated/sum_i4.c: Regenerated.
               * generated/sum_i8.c: Regenerated.
               * generated/sum_r10.c: Regenerated.
               * generated/sum_r16.c: Regenerated.
               * generated/sum_r4.c: Regenerated.
               * generated/sum_r8.c: Regenerated.
      
      From-SVN: r192895
      Tobias Burnus committed
    • re PR libstdc++/55041 (prettyprinting/shared_ptr & cxx11 fails on some platforms) · 937b190d
      	PR libstdc++/55041
      	* python/libstdcxx/v6/printers.py (Tr1UnorderedMapPrinter): Update
      	to handle hashtable as member of unordered_map not base class.
      	(Tr1UnorderedSetPrinter): Likewise.
      
      From-SVN: r192894
      Jonathan Wakely committed
    • inlinehint-3.c: New testcase. · bf3f6510
      
      	* gcc.dg/ipa/inlinehint-3.c: New testcase.
      	* ipa-inline.c (edge_badness): Fix overflow.
      	(inline_small_functions): Initialize SCCs correctly.
      	(do_estimate_edge_time, do_estimate_edge_hints): Skip self
      	recursive functions in SCC hints.
      
      From-SVN: r192891
      Jan Hubicka committed
    • re PR rtl-optimization/38711 (ira should not be using df-lr except at -O1.) · 5d517141
      	PR rtl-optimization/38711
      	* ira.c (ira): Remove DF_LIVE if the problem is in the stack.
      	(do_reload): Add it back at the end for -O2 and higher.
      
      	* function.c (thread_prologue_and_epilogue_insns): Use
      	REG_SET_TO_HARD_REG_SET instead of CLEAR_HARD_REG_SET and
      	reg_set_to_hard_reg_set.
      
      From-SVN: r192890
      Steven Bosscher committed
    • Fix previous commit. · 68cc8feb
      From-SVN: r192889
      Jan Hubicka committed
    • ipa-inline.c (edge_badness): Reduce precision; use scc hints. · b48ccf0d
      
      	* ipa-inline.c (edge_badness): Reduce precision; use scc hints.
      	(inline_small_functions): Fix dumps; update all callees after inlining.
      	* ipa-inline.h (INLINE_HINT_in_scc, INLINE_HINT_same_scc): New constants.
      	(inline summary): Add SCC_NO.
      	* ipa-inline-analysis.c (dump_inline_hints): Dump SCC hints.
      	(reset_inline_summary): Reset scc_no.
      	(estimate_node_size_and_time): Set in_scc hint.
      	(do_estimate_edge_time): Add same_scc hint.
      	(do_estimate_edge_hints): Likewise.
      
      From-SVN: r192888
      Jan Hubicka committed
    • cppopts.texi: Fix use of @item vs. · f457c50c
      * doc/cppopts.texi: Fix use of @item vs. @itemx inside @table.
      * doc/extend.texi: Likewise.
      * doc/generic.texi: Likewise.
      * doc/invoke.texi: Likewise.
      * doc/md.texi: Likewise.
      * doc/sourcebuild.texi: Likewise.
      
      From-SVN: r192887
      Andreas Schwab committed
    • tm.texi.in (Misc): Add newline before @end. · 0d8aa4b1
      * doc/tm.texi.in (Misc): Add newline before @end.
      * doc/tm.texi: Update.
      
      From-SVN: r192886
      Andreas Schwab committed
    • Daily bump. · 3139d5ea
      From-SVN: r192884
      GCC Administrator committed
  2. 27 Oct, 2012 10 commits
  3. 26 Oct, 2012 21 commits
    • rl78.c (rl78_as_legitimate_address): Do not allow reg+addend addresses for the _far namespace. · f5ac80f8
      * config/rl78/rl78.c (rl78_as_legitimate_address): Do not allow
      reg+addend addresses for the _far namespace.
      
      From-SVN: r192866
      DJ Delorie committed
    • sync.md (ATOMIC): Correct DI condition. · 1f8c354b
      gcc/
      	* config/rs6000/sync.md (ATOMIC): Correct DI condition.
      
      From-SVN: r192863
      Segher Boessenkool committed
    • re PR c++/55081 (Non-optimized static array elements initialization) · c7a918f1
      	PR c++/55081
      	* typeck2.c (store_init_value): Call fold_non_dependent_expr
      	and maybe_constant_init even for C++98.
      
      	* g++.dg/opt/pr55081.C: New test.
      
      From-SVN: r192862
      Jakub Jelinek committed
    • re PR other/55087 (bogus "linux-vdso.so.1: No such file or directory" caused by libbacktrace) · 73f41491
      	PR other/55087
      	* posix.c (backtrace_open): Add does_not_exist parameter.
      	* elf.c (phdr_callback): Do not warn if shared library could not
      	be opened.
      	* fileline.c (fileline_initialize): Update calls to
      	backtrace_open.
      	* internal.h (backtrace_open): Update declaration.
      
      From-SVN: r192861
      Ian Lance Taylor committed
    • re PR debug/54970 (Missing DW_OP_GNU_implicit_pointer in debuginfo) · 9430b7ba
      	PR debug/54970
      	* cfgexpand.c (expand_debug_expr): Expand &MEM_REF[&var, n]
      	as DEBUG_IMPLICIT_PTR + n if &var expands to DEBUG_IMPLICIT_PTR.
      	* tree-sra.c (create_access_replacement): Allow also MEM_REFs
      	with ADDR_EXPR first operand in DECL_DEBUG_EXPR expressions.
      	* var-tracking.c (track_expr_p): Handle MEM_REFs in DECL_DEBUG_EXPR
      	expressions.
      	* dwarf2out.c (add_var_loc_to_decl): Likewise.
      
      	PR debug/54971
      	* gcc.dg/guality/pr54970.c: New test.
      
      From-SVN: r192860
      Jakub Jelinek committed
    • Update copyright · c88538b7
      From-SVN: r192859
      Andreas Schwab committed
    • ChangeLog: Fix whitespace. · 5b116845
              * ChangeLog: Fix whitespace.
              * testsute/ChangeLog: Ditto.
      
      From-SVN: r192856
      Uros Bizjak committed
    • crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave. · eff6ca85
      	* config/i386/crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
      	Clear only fxsave.mxcsr_mask.  Use saved mxcsr from fxsave structure
      	when appropriate.  Correct structure element types.
      	* config/i386/t-crtfm (crtfastmath.o): Compile with -mfxsr, remove
      	-minline-all-stringops from compile flags.
      
      From-SVN: r192855
      Uros Bizjak committed
    • syscall: fix creds_test to reliably close os.File · 85c2f96c
      Uncovered by Uros Bizjak.
      
      Before this patch the test would close the file descriptor but
      not the os.File.  When the os.File was GC'ed, the finalizer
      would close the file descriptor again.  That would cause
      problems if the same file descriptor were returned by a later
      call to open in another test.
      
      On my system:
      
      > GOGC=30 go test
      --- FAIL: TestPassFD (0.04 seconds)
      passfd_test.go:62: 	FileConn: dup: bad file descriptor
      FAIL
      
      From-SVN: r192854
      Ian Lance Taylor committed
    • re PR target/55061 (libbacktrace build fails during bootstrap on powerpc-apple-darwin9) · 385710cf
      	PR target/55061
      	* configure.ac: Check for _Unwind_GetIPInfo function declaration.
      	* configure: Regenerate.
      
      From-SVN: r192853
      Jack Howarth committed
    • * tree-ssa-threadedge.c (cond_arg_set_in_bb): Use last stmt. · 24db014b
      From-SVN: r192852
      Jeff Law committed
    • Author: Gunther Nikl <gnikl@users.sourceforge.net> · 9eaff653
      * common/config/m68k/m68k-common.c (m68k_handle_option): Set
      gcc_options fields of opts_set for -m68020-40 and -m68020-60.
      
      From-SVN: r192851
      Gunther Nikl committed
    • Avoid conservative behavior in REE by allowing removal of redundant extends when... · ca3f371f
      Avoid conservative behavior in REE by allowing removal of redundant extends
      when the def feeds another extend with a different mode. This works because
      in merge_def_and_ext only calls combine_set_extension if the candidate for
      removal has a wider mode than the def extend's mode, otherwise the def extend
      mode is preserved. In combine_set_extension the def is modified to use the
      wider candidate's mode.
      
      2012-10-26  Teresa Johnson  <tejohnson@google.com>
      
      	* ree.c (add_removable_extension): Remove unnecessary
      	mode check with other extension.
      	* testsuite/gcc.c-torture/execute/20111227-2.c: New test.
      	* testsuite/gcc.c-torture/execute/20111227-3.c: Ditto.
      
      From-SVN: r192850
      Teresa Johnson committed
    • ipa-inline-transform.c (inline_call): Only account size changes for !DECL_EXTERNAL. · 8256d5ca
      
      	* ipa-inline-transform.c (inline_call): Only account size changes
      	for !DECL_EXTERNAL.
      
      From-SVN: r192849
      Jan Hubicka committed
    • re PR debug/54971 (SRA pessimizes debug info by not creating debug stmts for… · be384c10
      re PR debug/54971 (SRA pessimizes debug info by not creating debug stmts for fields without replacements)
      
      2012-10-26  Martin Jambor  <mjambor@suse.cz>
      
      	PR debug/54971
      	* tree-sra.c (struct access): New flag grp_to_be_debug_replaced.
      	(dump_access): Dump the new flag.
      	(analyze_access_subtree): Set the new flag when appropriate.
      	(create_access_replacement): Handle debug replacements differently.
      	(generate_subtree_copies): Handle the grp_to_be_debug_replaced flag.
      	(init_subtree_with_zero): Likewise.
      	(sra_modify_expr): Likewise.
      	(load_assign_lhs_subreplacements): Likewise.
      	(sra_modify_assign): Likewise.
      
      From-SVN: r192848
      Martin Jambor committed
    • re PR c++/54984 (Array allocated with new in a template class is default initialised) · a4bbf910
      /cp
      2012-10-26  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/54984
      	* init.c (build_new): Don't turn a null *init into a pointer to
      	empty vector orig_init.
      
      /testsuite
      2012-10-26  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/54984
      	* g++.dg/template/new11.C: New.
      
      From-SVN: r192846
      Paolo Carlini committed
    • i386.c (insn_is_function_arg): Add check on CALL instruction. · 39aada70
              * config/i386/i386.c (insn_is_function_arg) : Add check on CALL
              instruction.
              (ix86_dependencies_evaluation_hook): Insert dependencies in all
              predecessors of call block for non-trivial region avoiding creation
              of loop-carried dependency to avoid cross-block motion of HW registers.
      
      From-SVN: r192842
      Yuri Rumyantsev committed
    • re PR tree-optimization/54824 (ICE in verify_loop_structure) · 9037dcc6
      2012-10-26  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/54824
      	* tree-optimize.c (execute_fixup_cfg): Insert __builtin_unreachable
      	at the end of blocks with no successors.
      
      	* gcc.dg/torture/pr54824.c: New testcase.
      
      From-SVN: r192841
      Richard Biener committed
    • ChangeLog/ · 3a0d99bb
              * gcc/common/config/i386/i386-common.c
              (OPTION_MASK_ISA_FXSR_SET): New.
              (OPTION_MASK_ISA_XSAVE_SET): Likewise.
              (OPTION_MASK_ISA_XSAVEOPT_SET): Likewise.
              (ix86_handle_option): Handle mfxsr, mxsave, mxsaveopt options.
              * gcc/config.gcc (i[34567]86-*-*): Add fxsrintrin.h,
              xsaveintrin.h, xsaveoptintrin.h.
              (x86_64-*-*): Likewise.
              * config/i386/fxsrintrin.h: New header.
              * config/i386/xsaveintrin.h: Likewise.
              * config/i386/xsaveoptintrin.h: Likewise.
              * gcc/config/i386/driver-i386.c (host_detect_local_cpu): Detect
              FXSR/XSAVE/XSAVEOPT support.
              * gcc/config/i386/i386-builtin-types.def
              (VOID_FTYPE_PVOID_INT64): New function type.
              * gcc/config/i386/i386-c.c: Define __FXSR__, __XSAVE__
              and __XSAVEOPT__ if needed.
              * gcc/config/i386/i386.c (ix86_target_string): Define -mfxsr,
               -mxsave and -mxsaveopt options.
              (PTA_FXSR): New.
              (PTA_XSAVE): Likewise.
              (PTA_XSAVEOPT): Likewise.
              (ix86_option_override_internal): Handle new option.
              (processor_alias_table): Added PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT.
              (ix86_valid_target_attribute_inner_p): Add OPT_mfxsr,
              OPT_mxsave, OPT_mxsaveopt.
              (ix86_builtins): Add IX86_BUILTIN_FXSAVE, IX86_BUILTIN_FXRSTOR,
              IX86_BUILTIN_FXSAVE64, IX86_BUILTIN_XSAVE, IX86_BUILTIN_XSAVE64,
              IX86_BUILTIN_XRSTOR, IX86_BUILTIN_XRSTOR64, IX86_BUILTIN_XSAVEOPT,
              IX86_BUILTIN_XSAVEOPT64.
              (ix86_expand_builtin): Handle these built-ins.
              * gcc/config/i386/i386.h (TARGET_FXSR): New.
              (TARGET_XSAVE): Likewise.
              (TARGET_XSAVEOPT): Likewise.
              * gcc/config/i386/i386.md (ANY_XSAVE): New int iterator.
              (ANY_XSAVE64): Likewise.
              (xsave): New int attribute.
              (fxsave): New instruction.
              (fxsave64): Likewise.
              (fxrstor): Likewise.
              (fxrstor64): Likewise.
              (<xsave>): Likewise.
              (<xsave>_rex64): Likewise.
              (xrstor): Likewise.
              (xrstor_rex64): Likewise.
              (xrstor64): Likewise.
              * gcc/config/i386/i386.opt (mfxsr): New.
              (mxsave): Likewise.
              (mxsaveopt): Likewise.
              * gcc/config/i386/x86intrin.h: Include
              xsaveintrin.h, fxsrintrin.h, xsaveoptintrin.h.
      
      testsuite/ChangeLog
              * gcc.target/i386/fxsave-1.c: New.
              * gcc.target/i386/fxsave64-1.c: Ditto.
              * gcc.target/i386/fxrstor-1.c: Ditto.
              * gcc.target/i386/fxrstor64-1.c: Ditto.
              * gcc.target/i386/xsave-1.c: Ditto.
              * gcc.target/i386/xsave64-1.c: Ditto.
              * gcc.target/i386/xrstor-1.c: Ditto.
              * gcc.target/i386/xrstor64-1.c: Ditto.
              * gcc.target/i386/xsaveopt-1.c: Ditto.
              * gcc.target/i386/xsaveopt64-1.c: Ditto.
              * gcc.target/i386/sse-12.c: Add -mfxsr, -mxsaveopt.
              * gcc.target/i386/sse-13.c: Ditto.
              * gcc.target/i386/sse-14.c: Ditto.
              * gcc.target/i386/sse-22.c: Ditto.
              * gcc.target/i386/sse-23.c: Ditto.
              * g++.dg/other/i386-2.C: Ditto.
              * g++.dg/other/i386-3.C: Ditto.
      
      
      Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
      
      From-SVN: r192840
      Alexander Ivchenko committed
    • t-rtems: Revert previous commit. · 8befc91f
      2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
      
      	* config/avr/t-rtems: Revert previous commit.
      
      From-SVN: r192838
      Ralf Corsepius committed
    • re PR bootstrap/55049 (bootstrap failed with --with-multilib-list=m32,m64,mx32) · 277f65de
      gcc/
      	PR bootstrap/55049
      	* Makefile.in (rtlanal.o): Add dependency on addresses.h.
      	* rtl.h (address_info): New structure.
      	(strip_address_mutations, decompose_address, decompose_lea_address)
      	(decompose_mem_address, update_address, get_index_scale)
      	(get_index_code): Declare.
      	* rtlanal.c: Include addresses.h.
      	(strip_address_mutations, must_be_base_p, must_be_index_p)
      	(set_address_segment, set_address_base, set_address_index)
      	(set_address_disp, decompose_incdec_address, decompose_automod_address)
      	(extract_plus_operands, baseness, decompose_normal_address)
      	(decompose_address, decompose_lea_address, decompose_mem_address)
      	(update_address, get_index_scale, get_index_code): New functions.
      	* lra-constraints.c (strip_subreg): New function.
      	(address, extract_loc_address_regs, extract_address_regs)
      	(get_index_scale): Delete.
      	(process_addr_reg): Apply strip_subreg to the location.
      	(uses_hard_regs_p): Use decompose_mem_address.
      	(valid_address_p, base_plus_disp_to_reg, can_add_disp_p)
      	(equiv_address_substitution): Take an address_info rather
      	than an address.  Remove other arguments.  Avoid using Pmode.
      	(process_address): Use decompose_mem_address and decompose_lea_address.
      	Update calls to above functions.
      
      From-SVN: r192837
      Richard Sandiford committed