1. 30 Apr, 2018 8 commits
    • * doc/invoke.texi (-fdebug-types-section): Fix grammar. · e2df7e6d
      From-SVN: r259761
      Jonathan Wakely committed
    • [patch] allow '-' for stdout dump · bd9918c4
      https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01303.html
      	* dumpfile.c (dump_open): Allow '-' for stdout.
      	* doc/invoke.texi (Developer Options): Document dump filename
      	determination early.  Document stdin/stdout selection.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r259760
      Nathan Sidwell committed
    • * lto-partition.c (lto_balanced_map): Fix sanity check. · e693ebce
      From-SVN: r259759
      Jan Hubicka committed
    • Microblaze Target: PIC data text relative · af1682fc
      2018-04-30 Andrew Sadek  <andrew.sadek.se@gmail.com>
      
      gcc/ChangeLog:
      	* config/microblaze/microblaze.opt: add new option -mpic-data-text-rel.
      	* config/microblaze/microblaze-protos.h (microblaze_constant_address_p):
      	Add declaration.
      	* gcc/config/microblaze/microblaze.h (microblaze_constant_address_p):
      	CONSTANT_ADDRESS_P definition to microblaze_constant_address_p.
      	* config/microblaze/microblaze.c (TARGET_PIC_DATA_TEXT_REL):
      	New addressing mode for data-text relative position indepenedent code.
      	(microblaze_classify_unspec): add 'UNSPEC_TEXT' case ->
      	'ADDRESS_SYMBOLIC_TXT_REL'.
      	(microblaze_classify_address): Add handling for UNSPEC + CONST_INT.
      	(microblaze_legitimate_pic_operand): Exclude function calls from
      	pic operands in case of TARGET_PIC_DATA_TEXT_REL option.
      	(microblaze_legitimize_address): Generate 'UNSPEC_TEXT' for all possible
      	addresses cases.
      	(microblaze_address_insns): Add 'ADDRESS_SYMBOLIC_TXT_REL' case.
      	(print_operand): Add 'ADDRESS_SYMBOLIC_TXT_REL' case.
      	(print_operand_address): Add 'ADDRESS_SYMBOLIC_TXT_REL' case + handling
      	for 'address + offset'.
      	(microblaze_expand_prologue): Add new function prologue call for
      	'r20' assignation.
      	(microblaze_asm_generate_pic_addr_dif_vec): Override new target hook
      	'TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC' to disable address diff vector
      	table in case of TARGET_PIC_DATA_TEXT_REL.
      	(expand_pic_symbol_ref): Add handling for 'UNSPEC_TEXT'.
      	* gcc/config/microblaze/microblaze.md (TARGET_PIC_DATA_TEXT_REL):
      	Add new macros 'UNSPEC_TEXT',
      	'UNSPEC_SET_TEXT' + add rule for setting r20 in function prologue
      	+ exclude function calls from 'UNSPEC_PLT' in case of data text
      	relative mode.
      	* doc/tm.texi.in (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Add
      	new target hook for generating address diff vector tables in case of
      	flag_pic.
      	* doc/tm.texi : Regenerate.
      	* stmt.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Append new condition
      	'targetm.asm_out.generate_pic_addr_diff_vec' to flag_pic in case
      	of addr diff vector generation.
      	* target.def (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Add
      	target hook definition.
      	* targhooks.h, gcc/targhooks.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC):
      	Add default function for generate_pic_addr_diff_vec -> flag_pic.
      	* doc/invoke.texi (Add new pic option): Add new microblaze pic
      	option for data text relative.
      
      testsuite/ChangeLog:
      	* gcc.target/microblaze/others/data_var1.c: Include
      	PIC case of r20 base register.
      	* gcc.target/microblaze/others/data_var2.c: Ditto.
      	* gcc.target/microblaze/others/picdtr.c: Add new
      	test case for -mpic-is-data-text-relative.
      	* gcc.target/microblaze/others/sdata_var1.c: Add
      	* gcc.target/microblaze/others/sdata_var2.c: Ditto.
      	* gcc.target/microblaze/others/sdata_var3.c: Ditto.
      	* gcc.target/microblaze/others/sdata_var4.c: Ditto.
      	* gcc.target/microblaze/others/sdata_var5.c: Ditto.
      	* gcc.target/microblaze/others/sdata_var6.c: Ditto.
      	* gcc.target/microblaze/others/string_cst1_gpopt.c:	Ditto.
      	* gcc.target/microblaze/others/string_cst2_gpopt.c: Ditto.
      
      From-SVN: r259758
      Andrew Sadek committed
    • tree-chrec.h (evolution_function_is_constant_p): Remove redundant check. · 5885f027
      2018-04-30  Richard Biener  <rguenther@suse.de>
      
      	* tree-chrec.h (evolution_function_is_constant_p): Remove
      	redundant check.
      	* tree-cfg.c (tree_node_can_be_shared): Re-order checks.
      
      From-SVN: r259756
      Richard Biener committed
    • re PR bootstrap/85571 (non-bootstrap-debug miscompare with trunk) · bece35ca
      2018-04-30  Richard Biener  <rguenther@suse.de>
      
      	PR bootstrap/85571
      	* Makefile.tpl (STAGE3_CFLAGS): Use -fchecking=1.
      	(STAGE3_TFLAGS): Likewise.
      	(STAGEtrain_CFLAGS): Filter out -fchecking=1.
      	(STAGEtrain_TFLAGS): Likewise.
      	* Makefile.in: Regenerate.
      
      	* dwarf2out.c (gen_producer_string): Ignore -fchecking[=].
      
      From-SVN: r259755
      Richard Biener committed
    • re PR tree-optimization/28364 (poor optimization choices when iterating over a… · 2925cd9d
      re PR tree-optimization/28364 (poor optimization choices when iterating over a std::string (probably not c++-specific))
      
      2018-04-30  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/28364
      	PR tree-optimization/85275
      	* tree-ssa-loop-ch.c (ch_base::copy_headers): Stop after
      	copying first exit test.
      
      	* gcc.dg/tree-ssa/copy-headers-5.c: New testcase.
      	* gcc.dg/tree-ssa/predcom-8.c: Likewise.
      	* gcc.dg/tree-ssa/cunroll-13.c: Rewrite to gimple testcase.
      	* gcc.dg/tree-ssa/ivopt_mult_1.c: XFAIL.
      	* gcc.dg/tree-ssa/ivopt_mult_1g.c: Add gimple variant that
      	still passes.
      	* gcc.dg/tree-ssa/ivopt_mult_2.c: XFAIL.
      	* gcc.dg/tree-ssa/ivopt_mult_2g.c: Add gimple variant that
      	still passes.
      	* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust.
      	* gcc.dg/tree-ssa/20030710-1.c: Likewise.
      	* gcc.dg/tree-ssa/20030711-1.c: Likewise.
      
      From-SVN: r259754
      Richard Biener committed
    • Daily bump. · 03b42a71
      From-SVN: r259753
      GCC Administrator committed
  2. 29 Apr, 2018 3 commits
    • lto-partition.c: Include sreal.h · ddb0b824
      
      	* lto-partition.c: Include sreal.h
      	(add_symbol_to_partition_1): Use size instead of self_size
      	for size estimate.
      	(account_reference_p): New.
      	(lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup;
      	fix accounting errors in boundary size; add debug output; combine cost
      	as cost/size instead of cost/internal; reduce the partitioning error to
      	+- 1/8 of the parttion size.
      
      From-SVN: r259749
      Jan Hubicka committed
    • [openacc, testsuite] Fix undefined behaviour in atomic_capture-1.c · 8d70b61e
      2018-04-29  Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/85527
      	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
      	arbitrary order for iterations of atomic subtract check.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r259748
      Julian Brown committed
    • Daily bump. · e7d32421
      From-SVN: r259747
      GCC Administrator committed
  3. 28 Apr, 2018 4 commits
    • DWARF: Add .debug_addr table header for dwarf_version >= 5. · 171b0a01
      GNU DebugFission didn't add table headers for the .debug_addr
      tables, but DWARF5 does. The table header makes it possible
      for a DWARF consumer to parse the address tables without having
      to index all .debug_info CUs first.
      
      We can keep using the .debug_addr section label as is, because the
      DW_AT_[GNU_]addr_base attribute points at the actual address index,
      which starts right after the table header. So the label is generated
      at the correct location whether the header is added first or not.
      
      Add DW_AT_addr_base instead of DW_AT_GNU_addr_base to the skeleton
      CU DIE for DWARF5.
      
      gcc/ChangeLog
      
      	* dwarf2out.c (dwarf2out_finish): Add .debug_addr table header for
      	dwarf_version >= 5.
      	(dwarf_AT): Handle DW_AT_addr_base.
      	(add_top_level_skeleton_die_attrs): Use dwarf_AT for DW_AT_addr_base.
      
      From-SVN: r259743
      Mark Wielaard committed
    • re PR target/84431 (Suboptimal code for masked shifts (x86/x86-64)) · 6754dfa2
      	PR target/84431
      	* config/i386/i386.md (*ashl<dwi>3_doubleword_mask): New pattern.
      	(*ashl<dwi>3_doubleword_mask_1): Ditto.
      	(*<shift_insn><dwi>3_doubleword_mask): Ditto.
      	(*<shift_insn><dwi>3_doubleword_mask_1): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/84431
      	* gcc.target/i386/pr84431.c: New test.
      
      From-SVN: r259739
      Uros Bizjak committed
    • tree-cfg.c (verify_gimple_phi): Take a gphi * argument. · 782e4764
      2018-04-28  Richard Biener  <rguenther@suse.de>
      
      	* tree-cfg.c (verify_gimple_phi): Take a gphi * argument.
      	(verify_gimple_in_cfg): Rename visited_stmts to visited_throwing_stmts
      	to reflect use.  Only add interesting stmts.
      
      From-SVN: r259738
      Richard Biener committed
    • Daily bump. · 5c2cab46
      From-SVN: r259737
      GCC Administrator committed
  4. 27 Apr, 2018 23 commits
  5. 26 Apr, 2018 2 commits
    • MIPS/GCC/testsuite: Fix data-sym-pool.c for n64 code · b4d62b40
      With the soft-float n64 ABI and the data-sym-pool.c test case code like 
      below is produced:
      
      	.file	1 "data-sym-pool.c"
      	.section .mdebug.abi64
      	.previous
      	.nan	legacy
      	.module	softfloat
      	.module	oddspreg
      	.abicalls
      	.option	pic0
      	.text
      	.align	2
      	.globl	frob
      	.set	mips16
      	.set	nomicromips
      	.ent	frob
      	.type	frob, @function
      frob:
      	.frame	$17,16,$31		# vars= 0, regs= 1/0, args= 0, gp= 0
      	.mask	0x00020000,-8
      	.fmask	0x00000000,0
      	daddiu	$sp,-16
      	sd	$17,8($sp)
      	move	$17,$sp
      	ld	$2,.L3
      	move	$sp,$17
      	ld	$17,8($sp)
      	daddiu	$sp,16
      	jr	$31
      	.type	__pool_frob_3, @object
      __pool_frob_3:
      	.align	3
      .L3:
      	.dword	305419896
      	.type	__pend_frob_3, @function
      __pend_frob_3:
      	.insn
      	.end	frob
      	.size	frob, .-frob
      	.ident	"GCC: (GNU) 8.0.1 20180410 (experimental)"
      
      (we have no support for hard-float n64 MIPS16 code generation), which 
      means that the test case will fail, as the regular expression pattern 
      expects `lw' and `.word' rather than `ld' and `.dword' respectively to 
      appear in assembly code generation.  Correct the pattern in an obvious 
      way then making it accept both intructions and pseudo-ops.
      
      	gcc/testsuite/
      	* gcc.target/mips/data-sym-pool.c (dg-options): Match `ld' and
      	`.dword' in addition to `lw' and `.word'.
      
      From-SVN: r259691
      Maciej W. Rozycki committed
    • MIPS/GCC/testsuite: Fix data-sym-pool.c for SVR4 model at -O0 · 7dc5410a
      With GCC configurations using the SVR4 rather than the PLT dynamic 
      executable model and the o32 ABI with the data-sym-pool.c test case code 
      like below is produced:
      
      	.file	1 "data-sym-pool.c"
      	.section .mdebug.abi32
      	.previous
      	.nan	legacy
      	.module	fp=xx
      	.module	nooddspreg
      	.abicalls
      	.text
      	.align	2
      	.globl	frob
      	.set	mips16
      	.set	nomicromips
      	.ent	frob
      	.type	frob, @function
      frob:
      	.frame	$17,8,$31		# vars= 0, regs= 1/0, args= 0, gp= 0
      	.mask	0x00020000,-4
      	.fmask	0x00000000,0
      	save	8,$17
      	move	$17,$sp
      	lw	$2,$L4
      	move	$sp,$17
      	restore	8,$17
      	jr	$31
      	.type	__pool_frob_3, @object
      __pool_frob_3:
      	.align	2
      $L3:
      	.word	__gnu_local_gp
      $L4:
      	.word	305419896
      	.type	__pend_frob_3, @function
      __pend_frob_3:
      	.insn
      	.end	frob
      	.size	frob, .-frob
      	.ident	"GCC: (GNU) 8.0.1 20180410 (experimental)"
      
      causing a failure due to the unexpected `__gnu_local_gp' entry in the 
      constant pool, even though there is nothing wrong with it as far as the 
      annotation being examined is concerned.
      
      Given that the SVR4 vs PLT code model consideration is irrelevant for 
      this test case rather than rewriting the regular expression to match 
      this variant of code just enforce the PLT model by using the `-mplt' 
      option.  It is safe to use this option unconditionally as it is silently 
      ignored with configurations that do not support this model, e.g. bare 
      metal ELF.
      
      	gcc/testsuite/
      	* gcc.target/mips/data-sym-pool.c (dg-options): Add `-mplt'.
      
      From-SVN: r259690
      Maciej W. Rozycki committed