1. 09 Nov, 2015 24 commits
    • Support init priority on Solaris · e6b6bf09
      	libgcc:
      	* config/ia64/crtbegin.S: Check HAVE_INITFINI_ARRAY_SUPPORT
      	value.
      	* config/ia64/crtend.S: Likewise.
      
      	gcc:
      	* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Allow for differences in
      	assembler syntax.
      	Support Solaris ld.
      	Define HAVE_INITFINI_ARRAY_SUPPORT as 0/1.
      
      	* config/sol2.h (SUPPORTS_INIT_PRIORITY): Define to
      	HAVE_INITFINI_ARRAY_SUPPORT.
      	* config/initfini-array.h: Check HAVE_INITFINI_ARRAY_SUPPORT
      	value.
      
      	* configure.ac (gcc_cv_as_sparc_nobits): Remove.
      	* config/sparc/sparc.c (sparc_solaris_elf_asm_named_section):
      	Don't check HAVE_AS_SPARC_NOBITS.
      	Heed SECTION_NOTYPE.
      
      	* configure: Regenerate.
      	* config.in: Regenerate.
      
      From-SVN: r230013
      Rainer Orth committed
    • re PR middle-end/68253 (conditional jump or move depends on uninitialized value… · e1c78add
      re PR middle-end/68253 (conditional jump or move depends on uninitialized value in fold-const.c:5587)
      
      	PR middle-end/68253
      	* fold-const.c (fold_truth_andor_1): Initialize new variables to 0.
      
      From-SVN: r230011
      Eric Botcazou committed
    • thumb2-slow-flash-data.c: Add missing typespec for labelref and check use of… · e732ca6c
      thumb2-slow-flash-data.c: Add missing typespec for labelref and check use of constant pool by looking for...
      
      2015-11-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * gcc.target/arm/thumb2-slow-flash-data.c: Add missing typespec for
          labelref and check use of constant pool by looking for .word and
          similar directives.
      
      From-SVN: r230010
      Thomas Preud'homme committed
    • re PR target/66326 (Floating point exception with -mfpmath=387 and -fcilkplus.) · a42062b1
      libcilkrts/
      
      2015-11-09  Igor Zamyatin  <igor.zamyatin@intel.com>
      
      	PR target/66326
      	* runtime/config/x86/os-unix-sysdep.c (sysdep_save_fp_ctrl_state):
      	Use fnstcw instead fnstsw.
      
      
      gcc/testsuite
      
      2015-11-09  Igor Zamyatin  <igor.zamyatin@intel.com>
      
      	PR target/66326
      	* g++.dg/cilk-plus/CK/pr66326.cc: New test.
      
      From-SVN: r230008
      Igor Zamyatin committed
    • i386: Add address spaces for fs/gs segments and tls · 00402c94
              * config/i386/i386-c.c (ix86_target_macros): Define __SEG_FS,
              __SEG_GS, __SEG_TLS.
              (ix86_register_pragmas): Register address spaces __seg_fs,
              __seg_gs, __seg_tls.
              * config/i386/i386-protos.h (enum ix86_address_seg): Remove.
              (ADDR_SPACE_SEG_FS, ADDR_SPACE_SEG_GS, ADDR_SPACE_SEG_TLS): New.
              (struct ix86_address): Use addr_space_t instead of ix86_address_seg.
              * config/i386/i386.c (ix86_decompose_address): Likewise.
              (ix86_legitimate_address_p): Likewise.
              (memory_address_length): Likewise.  Check mem address space too.
              (ix86_print_operand): Use ix86_print_operand_address_as.
              (ix86_print_operand_address_as): Rename from
              ix86_print_operand_address, add new addr_space_t parameter.
              Validate that either the parameter or the ix86_address segment
              is default address space.  Handle ADDR_SPACE_SEG_TLS.
              (ix86_print_operand_address): New.
              (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): New.
              (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): New.
              (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): New.
              (ix86_addr_space_zero_address_valid): New.
              (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
              * config/i386/i386.h (DEFAULT_TLS_SEG_REG): Use addr_space_t constants.
              * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Likewise.
              * config/i386/predicates.md (address_no_seg_operand): Likewise.
              (vsib_address_operand): Likewise.
              (address_mpx_no_base_operand): Likewise.
              (address_mpx_no_index_operand): Likewise.
              * doc/extend.texi (x86 Named Address Spaces): New section.
      
              * gcc.target/i386/addr-space-1.c: New test.
              * gcc.target/i386/addr-space-2.c: New test.
              * gcc.target/i386/addr-space-3.c: New test.
      
      From-SVN: r230003
      Richard Henderson committed
    • i386: Disallow address spaces with string insns · 16734677
      While cmps and movs allow a segment override of the ds:esi
      source, the es:edi source/destination cannot be overriden.
      Simplify things in the backend for now by disallowing
      segments for string insns entirely.
      
      	* config/i386/i386.c (ix86_check_no_addr_space): New.
      	(decide_alg): Add have_as parameter.
      	(alg_usable_p): Likewise; disable rep algorithms if set.
      	(ix86_expand_set_or_movmem): Notice if either MEM has a
      	non-default address space.
      	(ix86_expand_strlen): Likewise.
      	* config/i386/i386.md (strmov, strset): Likewise.
      	(*strmovdi_rex_1): Use ix86_check_no_addr_space.
      	(*strmovsi_1, *strmovqi_1, *rep_movdi_rex64, *rep_movsi, *rep_movqi,
      	*strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1,
      	*rep_stosdi_rex64, *rep_stossi, *rep_stosqi, *cmpstrnqi_nz_1,
      	*cmpstrnqi_1, *strlenqi_1): Likewise.
      
      From-SVN: r230002
      Richard Henderson committed
    • i386: Handle address spaces in movabs patterns · fe5f9263
      	* config/i386/i386.md (*movabs<mode>_1): Print the full memory rtx.
      	(*movabs<mode>_2): Likewise.
      
      From-SVN: r230001
      Richard Henderson committed
    • Add hook for modifying debug info for address spaces · f736b911
              * dwarf2out.c (modified_type_die): Pass the address space number
              through TARGET_ADDR_SPACE_DEBUG to produce the dwarf address class.
              * target.def (TARGET_ADDR_SPACE_DEBUG): New.
              * targhooks.c (default_addr_space_debug): New.
              * targhooks.h (default_addr_space_debug): Declare.
              * doc/tm.texi.in (TARGET_ADDR_SPACE_DEBUG): Mark it.
              * doc/tm.texi: Rebuild.
      
      From-SVN: r230000
      Richard Henderson committed
    • Add TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID · 6626f970
              * gimple.c (check_loadstore): Return false when 0 is a valid address.
              * fold-const.c (const_unop) [ADDR_SPACE_CONVERT_EXPR]: Do not fold
              null when 0 is valid in the source address space.
              * target.def (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
              * targhooks.c (default_addr_space_zero_address_valid): New.
              * targhooks.h (default_addr_space_zero_address_valid): Declare.
              * doc/tm.texi.in (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Mark it.
              * doc/tm.texi: Rebuild.
      
      From-SVN: r229999
      Richard Henderson committed
    • Avoid CSE of MEMs in different address spaces · bd68a3a7
              * cselib.c (add_mem_for_addr): Compare address spaces when
              matching memories.
              (cselib_lookup_mem): Likewise.
              * fold-const.c (operand_equal_p): Check address spaces of
              pointer types before checking integer constants.
      
      From-SVN: r229998
      Richard Henderson committed
    • re PR tree-optimization/66768 (address space gets lost on literal pointer) · f0ebde5a
      PR tree-opt/66768
      
              * tree-ssa-address.c (create_mem_ref_raw): Use a pointer of
              the correct type for the base.
      
      From-SVN: r229997
      Richard Henderson committed
    • [PATCH] Minor refactoring in tree-ssanames.c & freelists verifier · d2e2feaa
      [PATCH] Minor refactoring in tree-ssanames.c & freelists verifier
      	* tree-into-ssa.c (names_to_release): No longer static.
      	* tree-into-ssa.h (names_to_release): Declare.
      	* tree-ssanames.c (verify_ssaname_freelists): New debug function.
      	(release_free_names_and_compact_live_names): New function extracted
      	from pass_release_ssa_names::execute.
      	(pass_release_ssa_names::execute): Use it.
      
      Co-Authored-By: Nathan Sidwell <nathan@acm.org>
      
      From-SVN: r229995
      Jeff Law committed
    • re PR fortran/68053 (lower bound of implied shape array restricted too much) · cdffe788
      2015-11-08  Steven g. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/68053
      	* decl.c (add_init_expr_to_sym):  Try to reduce initialization expression
      	before testing for a constant value.
      
      2015-11-08  Steven g. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/68053
      	* gfortran.dg/pr68053.f90: New test.
      
      From-SVN: r229992
      Steven G. Kargl committed
    • Configury changes for obstack optimization · 61c94e79
      Missed from last patch
      
      	* config.in: Regenerate.
      
      From-SVN: r229991
      Alan Modra committed
    • Configury changes for obstack optimization · 126e0b6b
      	* configure.ac: Check size of size_t.
      	* configure: Regenerate.
      
      From-SVN: r229990
      Alan Modra committed
    • Silence obstack.c -Wc++compat warning · a186d523
      	* obstack.c (_obstack_newchunk): Silence -Wc++compat warning.
      	(_obstack_begin_worker): Likewise.  Move assignment to h->chunk
      	after alloc failure check.
      
      From-SVN: r229989
      Alan Modra committed
    • Modify obstack.[hc] to avoid having to include other gnulib files · f0e525fe
      Using the standard gnulib obstack source requires importing quite a
      lot of other files from gnulib, and requires build changes.
      
      include/
      	* obstack.h (__attribute_pure__): Expand _GL_ATTRIBUTE_PURE.
      libiberty/
      	* obstack.c (__alignof__): Expand alignof_type from alignof.h.
      	(obstack_exit_failure): Don't use exitfail.h.
      	(_): Include libintl.h when HAVE_LIBINTL_H and nls enabled.
      	Provide default.  Don't include gettext.h.
      	(_Noreturn): Define.
      	* obstacks.texi: Adjust node references to external libc info files.
      
      From-SVN: r229988
      Alan Modra committed
    • Copy gnulib obstack files · c9f265c9
      This copies obstack.[ch] from gnulib, and updates the docs.  The next
      patch should be applied if someone repeats the import at a later date.
      
      include/
      	* obstack.h: Import current gnulib file.
      libiberty/
      	* obstack.c: Import current gnulib file.
      	* obstacks.texi: Updated doc, from glibc's manual/memory.texi.
      
      From-SVN: r229987
      Alan Modra committed
    • Update libsanitizer obstack interceptors · 62c0f0a6
      New obstack uses sensible types, size_t instead of int for length
      params.  Since libsanitizer does not use prototypes from obstack.h to
      call the real functions, it's necessary to update the libsanitizer
      function declarations emitted by the INTERCEPTOR macro.
      
      	* sanitizer_common/sanitizer_common_interceptors.inc: Update size
      	params for _obstack_begin_1, _obstack_begin, _obstack_newchunk
      	interceptors.
      	* configure.ac: Substitute OBSTACK_DEFS.
      	* asan/Makefile.am: Add OBSTACK_DEFS to DEFS.
      	* tsan/Makefile.am: Likewise.
      	* configure: Regenerate.
      	* Makefile.in: Regenerate.
      	* asan/Makefile.in: Regenerate.
      	* interception/Makefile.in: Regenerate.
      	* libbacktrace/Makefile.in: Regenerate.
      	* lsan/Makefile.in: Regenerate.
      	* sanitizer_common/Makefile.in: Regenerate.
      	* tsan/Makefile.in: Regenerate.
      	* ubsan/Makefile.in: Regenerate.
      
      From-SVN: r229986
      Alan Modra committed
    • Correct libvtv obstack use · 37697711
      Fixes a compile error with both old and new obstacks due to
      obstack_chunk_free having the wrong signature.  Also, setting chunk
      size and alignment before obstack_init is pointless since they are
      overwritten.
      
      	* vtv_malloc.cc (obstack_chunk_free): Correct param type.
      	(__vtv_malloc_init): Use obstack_specify_allocation.
      
      From-SVN: r229985
      Alan Modra committed
    • New obstack_next_free is not an lvalue · c240b3e0
      New obstack.h casts obstack_next_free to (void *), resulting in it
      being a non-lvalue, and warnings on pointer arithmetic.
      
      gcc/
      	* gensupport.c (add_mnemonic_string): Make len param a size_t.
      	(gen_mnemonic_setattr): Make "size" var a size_t.  Use
      	obstack_blank_fast to shrink obstack.  Cast obstack_next_free
      	return value.
      gcc/objc/
      	* objc-encoding.c (encode_aggregate_within): Cast obstack_next_free
      	return value.
      
      From-SVN: r229984
      Alan Modra committed
    • Fix bb-reorder problem with degenerate cond_jump (PR68182) · d4c8d5ed
      The code mistakenly thinks any cond_jump has two successors.  This is
      not true if both destinations are the same, as can happen with weird
      patterns as in the PR.
      
      
      	PR rtl-optimization/68182
      	* gcc/bb-reorder.c (reorder_basic_blocks_simple): Treat a conditional
      	branch with only one successor just like unconditional branches.
      
      From-SVN: r229983
      Segher Boessenkool committed
    • [PATCH] Remove backedge handling support in tree-ssa-threadupdate.c · 4f70cb39
      	* tree-ssa-threadupdate.c (register_jump_thraed): Assert that a
      	non-FSM path has no edges marked with EDGE_DFS_BACK.
      	(ssa_redirect_edges): No longer call mark_loop_for_removal.
      	(thread_single_edge, def_split_header_continue_p): Remove.
      	(bb_ends_with_multiway_branch): Likewise.
      	(thread_through_loop_header): Remove cases of threading from
      	latch through the header.  Simplify knowing we won't thread
      	the latch.
      	(thread_through_all_blocks): Simplify knowing that only the FSM
      	threader needs to handle backedges.
      
      From-SVN: r229982
      Jeff Law committed
    • Daily bump. · a2478e36
      From-SVN: r229980
      GCC Administrator committed
  2. 08 Nov, 2015 9 commits
  3. 07 Nov, 2015 7 commits