Commit Graph

139693 Commits

Author SHA1 Message Date
Paolo Bonzini ff302741f1 Limit AA walking when inlining analysis examines parameters
2015-07-15  Paolo Bonzini  <bonzini@gnu.org>
	    Martin Jambor  <mjambor@suse.cz>

	* ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
	struct func_body_info* instead of struct ipa_node_params*, expecting
	fbi->info to be filled in.  Replace throughout.  Adjust call to
	ipa_load_from_parm_agg.
	(set_cond_stmt_execution_predicate): Accept struct func_body_info*
	instead of struct ipa_node_params*.  Adjust calls to other functions
	so that they pass either fbi or fbi->info.
	(set_switch_stmt_execution_predicate): Likewise.
	(will_be_nonconstant_predicate): Likewise.
	(compute_bb_predicates): Likewise.
	(estimate_function_body_sizes): Move asserts earlier.  Fill in
	struct func_body_info, replace parms_info with fbi.info.  Adjust
	calls to functions that now accept struct func_body_info.
	* ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
	(struct func_body_info): Likewise.
	(ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
	remove static.  Adjust callers.
	(ipa_load_from_parm_agg): Remove.
	* ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
	(func_body_info): Likewise.
	(ipa_load_from_parm_agg): Adjust prototype.


Co-Authored-By: Martin Jambor <mjambor@suse.cz>

From-SVN: r225838
2015-07-15 17:58:43 +02:00
Tom de Vries 7392b0906f check_GNU_style.sh: Fix quoting in cat_with_prefix
2015-07-15  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh (cat_with_prefix): Fix quoting.

From-SVN: r225837
2015-07-15 15:41:21 +00:00
Trevor Saunders 6b8068d653 remove some usage of expr_list from read_rtx
gcc/ChangeLog:

2015-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* gensupport.c (rtx_handle_directive): Adjust.
	* read-rtl.c (apply_iterators): Take vector to add rtxs to
	instead of expr list rtx.
	(add_define_attr_for_define_subst): Likewise.
	(add_define_subst_attr): Likewise.
	(read_subst_mapping): Likewise.
	(read_rtx): Likewise.
	* rtl.h (read_rtx): Adjust.

From-SVN: r225833
2015-07-15 14:38:13 +00:00
Jason Merrill 0467e3ebef re PR c++/65091 (decltype(~arg) fails for template functions)
PR c++/65091
	* parser.c (cp_parser_unqualified_id): Don't accept ~x in a
	template if there is no type x in scope.

From-SVN: r225831
2015-07-15 10:13:22 -04:00
Kyrylo Tkachov 49f88e4333 [AArch64] Use cinc mnemonic for *csinc2<mode>_insn
* config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.

From-SVN: r225830
2015-07-15 14:11:18 +00:00
Uros Bizjak e6c9b417de re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)
PR target/58066
	* config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
	(*tls_local_dynamic_base_64_<mode>): Ditto.
	(*tls_local_dynamic_base_64_largepic): Ditto.
	(tls_global_dynamic_64_<mode>): Update expander pattern.
	(tls_local_dynamic_base_64_<mode>): Ditto.

From-SVN: r225829
2015-07-15 15:42:07 +02:00
Maxim Blumenthal 28ef6a27c8 Fix libgomp tests.
2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>

libgomp/
	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
	of EPS parameter from integer to real.
	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
	type of EPS parameter from integer to real.

From-SVN: r225827
2015-07-15 13:13:10 +00:00
Richard Biener 55cf394666 fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var and bool_var == 1 -> bool_var simplifications ...
2015-07-15  Richard Biener  <rguenther@suse.de>

	* fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
	and bool_var == 1 -> bool_var simplifications ...
	* match.pd: ... to patterns here.  Factor out negate_expr_p
	cases from the A - B -> A + (-B) patterns as negate_expr_p
	predicate and add a -(A + B) -> (-B) - A pattern.

From-SVN: r225825
2015-07-15 12:25:57 +00:00
Richard Biener aa6cf07ea9 objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove { -O3 -fomit-frame-pointer }...
2015-07-15  Richard Biener  <rguenther@suse.de>

	* lib/objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove
	{ -O3 -fomit-frame-pointer },
	{ -O3 -fomit-frame-pointer -funroll-loops } and
	{ -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions }
	in favor of
	{ -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
	  -finline-functions }

From-SVN: r225821
2015-07-15 11:47:54 +00:00
Robert Suchanek 8e8886f62c Fix restoration of hi/lo in MIPS64R2 interrupt handlers.
gcc/
	* config/mips/mips.c (mips_emit_save_slot_move): Fix typo.

gcc/testsuite/
	* gcc.target/mips/interrupt_handler-5.c: New test.

From-SVN: r225820
2015-07-15 11:43:05 +00:00
Matthew Fortune 0256a844ad Support new interrupt handler options.
gcc/
	* config/mips/mips.c (mips_int_mask): New enum.
	(mips_shadow_set): Likewise.
	(int_mask): New variable.
	(use_shadow_register_set_p): Change type to enum mips_shadow_set.
	(machine_function): Add int_mask and use_shadow_register_set.
	(mips_attribute_table): Add attribute handlers for interrupt and
	use_shadow_register_set.
	(mips_interrupt_mask): New static function.
	(mips_handle_interrupt_attr): Likewise.
	(mips_handle_use_shadow_register_set_attr): Likewise.
	(mips_use_shadow_register_set): Change return type to enum
	mips_shadow_set.  Add argument handling for use_shadow_register_set
	attribute.
	(mips_interrupt_extra_called_saved_reg_p): Update the conditional to
	compare with mips_shadow_set enum.
	(mips_compute_frame_info): Add interrupt mask and
	use_shadow_register_set to per-function information structure.
	Add a stack slot for EPC unconditionally.
	(mips_expand_prologue): Compare use_shadow_register_set value
	with mips_shadow_set enum.  Save EPC always in K1, clobber only K1 for
	masked interrupt register but in EIC mode use K0 and save Cause in K0.
	EPC saved and restored unconditionally.  Use PMODE_INSN macro when
	copying the stack pointer from the shadow register set.
	* config/mips/mips.h (SR_IM0): New define.
	* config/mips/mips.md (mips_rdpgpr): Rename to...
	(mips_rdpgpr_<mode>): ...this.  Use the Pmode iterator.
	* doc/extend.texi (Declaring Attributes of Functions): Document
	optional arguments for interrupt and use_shadow_register_set
	attributes.

gcc/testsuite/
	* gcc.target/mips/interrupt_handler-4.c: New test.

Co-Authored-By: Robert Suchanek <robert.suchanek@imgtec.com>

From-SVN: r225819
2015-07-15 11:42:50 +00:00
Robert Suchanek 6a2b848b31 Support interrupt handlers with hard-float.
gcc/
	* config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
	interrupt attribute.
	(mips_expand_prologue): Disable the floating point unit in an ISR.
	* config/mips/mips.h (SR_COP1): New define.

From-SVN: r225818
2015-07-15 11:42:34 +00:00
Ilya Enkovich 22dd66d46a re PR testsuite/66734 (Many MPX tests are skipped)
PR testsuite/66734
	* gcc.dg/lto/lto.exp: Initialize MPX.

From-SVN: r225815
2015-07-15 09:56:00 +00:00
Kyrylo Tkachov d216761f97 [ARM][testsuite] Add -mfloat-abi=softfp to some xscale tests
* gcc.target/arm/scd42-1.c: Add -mfloat-abi=softfp and appropriate
	dg-skip-if.
	* gcc.target/arm/scd42-3.c: Likewise.

From-SVN: r225814
2015-07-15 09:45:10 +00:00
Andrew Bennett 765a514d79 MIPS: In mips.exp allow the post-arch code to be run when the pre-arch code increases the isa_rev to mips32r6 or greater.
testsuite/
	* gcc.target/mips/mips.exp (mips-dg-options): Allow the post-arch
	code to be run when the pre-arch code increases the isa_rev to
	mips32r6 or greater.

From-SVN: r225813
2015-07-15 09:22:25 +00:00
Sebastian Huber 6dba011330 [gomp] Recycle last non-nested team if possible
libgomp/ChangeLog
2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* team.c (get_last_team): New.
	(gomp_new_team): Recycle last non-nested team if possible.
	(gomp_team_end): Move team work share list free lock destruction
	to ...
	(free_team): ... here.

From-SVN: r225811
2015-07-15 09:11:11 +00:00
Szabolcs Nagy 290f6359d2 Add missing PR target/66731 to gcc/testsuite/Changelog
From-SVN: r225810
2015-07-15 09:03:15 +00:00
Richard Biener 64d3a1f040 genmatch.c (parser::peek, [...]): Add argument to tell how many tokens to peek ahead (default 1).
2015-07-15  Richard Biener  <rguenther@suse.de>

	* genmatch.c (parser::peek, parser::peek_ident): Add argument
	to tell how many tokens to peek ahead (default 1).
	(parser::eat_token, parser::eat_ident): Return token consumed.
	(parser::parse_result): Parse new switch statement.
	* match.pd: Use case statements where appropriate.

From-SVN: r225809
2015-07-15 08:35:15 +00:00
Richard Biener a16bca311a c-torture.exp (C_TORTURE_OPTIONS): Remove { -O3 -fomit-frame-pointer }...
2015-07-15  Richard Biener  <rguenther@suse.de>

	* lib/c-torture.exp (C_TORTURE_OPTIONS): Remove
	{ -O3 -fomit-frame-pointer },
	{ -O3 -fomit-frame-pointer -funroll-loops } and
	{ -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions }
	in favor of
	{ -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
	  -finline-functions }
	* lib/gcc-dg.exp (DG_TORTURE_OPTIONS): Likewise.
	* gcc.c-torture/execute/builtins/builtins.exp: Add -fno-tracer
	to additional_flags.

From-SVN: r225808
2015-07-15 08:02:43 +00:00
Uros Bizjak ac4ee45775 re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)
PR rtl-optimization/58066
	* calls.c (expand_call): Precompute register parameters before stack
	alignment is performed.

From-SVN: r225807
2015-07-15 09:39:30 +02:00
Uros Bizjak 7a708f68bf re PR rtl-optimization/66838 (Calling multiple SYSV AMD64 ABI functions from MS x64 ABI one results in clobbered parameters)
PR rtl-optimization/66838
	* postreload.c (reload_cse_move2add): Also process
	CALL_INSN_FUNCTION_USAGE when resetting information of
	call-clobbered registers.

testsuite/ChangeLog:

	PR rtl-optimization/66838
	* gcc.target/i386/pr66838.c: New test.

From-SVN: r225806
2015-07-15 09:28:33 +02:00
GCC Administrator 73bf400d36 Daily bump.
From-SVN: r225804
2015-07-15 00:16:13 +00:00
Patrick Palka 09f725f4a6 re PR c++/66850 (Adding a forward declaration of a template containing a template template parm causes ICE on valid code)
Fix PR c++/66850

gcc/cp/ChangeLog:

	PR c++/66850
	* pt.c (redeclare_class_template): Set the DECL_CONTEXTs of each
	template template parm in the redeclaration.
	(lookup_template_class_1): Peel off irrelevant template levels
	from current_template_parms before augmenting the argument
	list.

gcc/testsuite/ChangeLog:

	PR c++/66850
	* g++.dg/template/pr66850.C: New test.

From-SVN: r225801
2015-07-15 00:01:21 +00:00
Sandra Loosemore 524d2e49f2 constraints.md (U, v): New constraints.
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	gcc/
	* config/nios2/constraints.md (U, v): New constraints.
	* config/nios2/predicates.md (rdprs_dcache_operand): New.
	(ldstex_memory_operand): New.
	* config/nios2/sync.md: New file.
	* config/nios2/nios2.md (unspecv): Add new builtin function
	UNSPECV codes.
	(rdprs, flushd, flushda, wrpie, eni): New patterns.
	(top-level): Include sync.md.
	* config/nios2/nios2.c (N2_FTYPES): Add function types for
	new builtins.
	(N2_BUILTINS): Add arch field setting, add new builtins.
	(enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
	for arch field.
	(nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
	Also handle ldex/stex/ldsex/stsex builtins.
	(nios2_expand_rdprs_builtin): New function.
	(nios2_expand_cache_builtin): New function.
	(nios2_expand_wrpie_builtin): New function.
	(nios2_expand_eni_builtin): New function.
	(nios2_expand_builtin): Add arch field handling and new builtin 
        cases.
	* doc/extend.texi (Altera Nios II Built-in Functions): Document
	new builtins.
	* doc/md.texi (Machine Constraints): Document U and v constraints.

	gcc/testsuite/
	* gcc.target/nios2/nios2-flushd.c: New.
	* gcc.target/nios2/nios2-rdprs.c: New.
	* gcc.target/nios2/r2-atomic.c: New.
	* gcc.target/nios2/r2-eni.c: New.
	* gcc.target/nios2/r2-wrpie.c: New.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>

From-SVN: r225800
2015-07-14 19:43:48 -04:00
Sandra Loosemore c3ff2812ae nios2-protos.h (nios2_expand_return): Declare.
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	gcc/
	* config/nios2/nios2-protos.h (nios2_expand_return): Declare.
	* config/nios2/nios2.c (struct GTY (()) machine_function): Add
	callee_save_reg_size and uses_anonymous_args fields.
	(nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
	(nios2_create_cfa_notes): New function.
	(nios2_adjust_stack): New function for adjusting stack.
	(nios2_expand_prologue): Update for CDX push.n/pop.n usage.
	Use nios2_adjust_stack.
	(nios2_expand_epilogue): Likewise.
	(nios2_expand_return): New function.
	(nios2_can_use_return_insn): Update for CDX pop.n usage.
	(nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
	If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
	* config/nios2/nios2.md (return): Use nios2_expand_return.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>

From-SVN: r225799
2015-07-14 19:32:06 -04:00
Sandra Loosemore aa32db37e4 predicates.md (pop_operation): New.
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	gcc/
	* config/nios2/predicates.md (pop_operation): New.
	(ldwm_operation, stwm_operation): New.
	(nios2_hard_register_operand): New.
	* config/nios2/nios2-protos.h (pop_operation_p): Declare.
	(ldstwm_operation_p): Declare.
	(gen_ldstwm_peep): Declare.
	* config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
	(base_reg_adjustment_p): New.
	(pop_operation_p): New.
	(CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
	(nios2_ldstwm_regset_p): New.
	(ldstwm_operation_p): New.
	(gen_ldst): New.
	(nios2_ldst_parallel): New.
	(struct ldswm_operand): Declare.
	(compare_ldstwm_operands): New.
	(can_use_cdx_ldstw): New.
	(gen_ldstwm_peep): New.
	* config/nios2/nios2-ldstwm.sml: New.
	* config/nios2/nios2.md: Include ldstwm.md.
	* config/nios2/ldstwm.md: Generated.

	gcc/testsuite/
	* gcc.target/nios2/cdx-ldstwm-1.c: New.
	* gcc.target/nios2/cdx-ldstwm-2.c: New.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>

From-SVN: r225798
2015-07-14 19:16:43 -04:00
Sandra Loosemore 3bbbe009de nios2.h (LABEL_ALIGN): Define.
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	gcc/
	* config/nios2/nios2.h (LABEL_ALIGN): Define.
	(REG_ALLOC_ORDER): Define.
	(ADJUST_REG_ALLOC_ORDER): Define.
	(HONOR_REG_ALLOC_ORDER): Define.
	(CDX_REG_P): Define.
	(ANDCLEAR_INT): Define.
	* config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
	(nios2_label_align): Declare.
	(nios2_cdx_narrow_form_p): Declare.
	(nios2_adjust_reg_alloc_order): Declare.
	* config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
	operation.
	(nios2_large_unspec_reloc_p): New function, split from...
	(nios2_legitimate_pic_operand_p): ...here.
	(nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
	(nios2_print_operand_punct_valid_p): New.
	(nios2_print_operand): Add %., %!, %x, %y, %A.  Remove %U.
	(split_mem_address): New.
	(split_alu_insn): New.
	(cdxreg): New.
	(cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
	(enum nios2_add_insn_kind): New.
	(nios2_add_insn_names, nios2_add_insn_narrow): New.
	(nios2_add_insn_classify): New.
	(nios2_add_insn_asm): New.
	(nios2_cdx_narrow_form_p): New.
	(label_align, min_labelno, max_labelno): New.
	(nios2_reorg): New.
	(nios2_label_align): New.
	(nios2_adjust_reg_alloc_order): New.
	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
	(TARGET_MACHINE_DEPENDENT_REORG): Define.
	* config/nios2/constraints.md (P): New constraint.
	* config/nios2/predicates.md (const_and_operand): New.
	(and_operand): New.
	(stack_memory_operand): New.
	* config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
	(length): Update to use nios2_cdx_narrow_form_p().
	(type): Add new insn type values.
	(control, alu, st, ld, shift): Update insn reservations with
	new insn type values.
	(*high, *lo_sum): Define new insn patterns for constant generation.
	(movqi_internal, movhi_internal, movsi_internal): Reduce
	alternatives, update asm template to handle CDX variants, update
	type attributes.
	(zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
	template, update type attributes.
	(extendhisi2, extendqi<mode>2): Likewise.
	(addsi3): Change to use function for asm string.
	(subsi3): Add CDX notation to asm template, update type attributes.
	(negsi3, one_cmplsi3): Likewise.
	(andsi3): New pattern, specialized from logical patterns.
	(<code>si3): Remove and case, combine alternatives, update asm
	template.
	(<shift_op>si3): Add CDX notation, update type attributes.
	(rotrsi3): Update type attribute.
	(*merge, extzv, insv): New insn patterns.
	(return): Change to define_expand.
	(simple_return): Add CDX notation, update type attributes.
	(indirect_jump): Add CDX notation.
	(jump): Update asm cases, update length attribute expression.
	(*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
	(nios2_cbranch): Update asm cases and length attribute expression
	to handle CDX variants.
	(nios2_cmp<code>): Update asm template.
	(nop): Add CDX notation, update type attributes.
	(trap): Add CDX notation.
	(ctrapsi4): Update asm cases and length attribute expression to
	handle CDX variant.
	* doc/md.texi (Machine Constraints): Document P constraint.

	gcc/testsuite/
	* gcc.target/nios2/andci.c: New.
	* gcc.target/nios2/bmx.c: New.
	* gcc.target/nios2/cdx-add.c: New.
	* gcc.target/nios2/cdx-branch.c: New.
	* gcc.target/nios2/cdx-callret.c: New.
	* gcc.target/nios2/cdx-loadstore.c: New.
	* gcc.target/nios2/cdx-logical.c: New.
	* gcc.target/nios2/cdx-mov.c: New.
	* gcc.target/nios2/cdx-shift.c: New.
	* gcc.target/nios2/cdx-sub.c: New.
	* gcc.target/nios2/nios2-trap-insn.c: Adjust pattern.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>

From-SVN: r225796
2015-07-14 18:56:45 -04:00
Sandra Loosemore a03c6ae388 tramp.c (MOVHI, ORI, JMP): Conditionalize for __nios2_arch__ level.
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	libgcc/
	* config/nios2/tramp.c (MOVHI, ORI, JMP): Conditionalize
	for __nios2_arch__ level.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>

From-SVN: r225794
2015-07-14 18:43:46 -04:00
Andrea Azzarone 973590f320 re PR c++/65071 (ICE on valid, sizeof...() of template template parameter pack in return type)
/cp
2015-07-14  Andrea Azzarone  <azzaronea@gmail.com>

	PR c++/65071
	* parser.c (cp_parser_sizeof_pack): Also consider template template
	parameters.

/testsuite
2015-07-14  Andrea Azzarone  <azzaronea@gmail.com>

	PR c++/65071
	* g++.dg/cpp0x/vt-65071.C: New.

From-SVN: r225793
2015-07-14 22:36:50 +00:00
Sandra Loosemore 42e6ab74b6 nios2.h (SMALL_INT12): New macro.
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	gcc/
	* config/nios2/nios2.h (SMALL_INT12): New macro.
	* config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
	(nios2_valid_addr_expr_p): Use it.
	(nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
	with implicit "io" instructions on R2.
	* config/nios2/constraints.md (w): New constraint.
	* config/nios2/predicates.md (ldstio_memory_operand): New.
	* config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
	operand predicate and constraint.
	(ld<bh>io_signed, st<bhw>io>): Likewise.
	* doc/md.texi (Machine Constraints): Document w constraint.

	gcc/testsuite/
	* gcc.target/nios2/r2-io-range.c: New.
	* gcc.target/nios2/r2-stio-1.c: New.
	* gcc.target/nios2/r2-stio-2.c: New.
	* gcc.target/nios2/nios2-ldxio.c: New.
	* gcc.target/nios2/nios2-stxio.c: Change to assemble test instead
	of just compile.  Add more tests.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>

From-SVN: r225792
2015-07-14 18:34:23 -04:00
Sandra Loosemore 77c50d73f6 nios2.opt (march, mbmx, mcdx): New options.
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	gcc/
	* config/nios2/nios2.opt (march, mbmx, mcdx): New options.
	* config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
	Nios II architecture level.
	* config/nios2/nios2.h (TARGET_ARCH_R2): New define.
	(TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
	(OPTION_DEFAULT_SPECS): Define.
	(ASM_SPEC): Add -march= spec strings.
	* config/nios2/nios2.c (nios2_option_override): Check for
	conflicts involving new options.
	* config.gcc (nios2*-*-*): Support --with-arch=.
	* doc/invoke.texi (Option Summary, Nios II Options): Document
	-march=, -mbmx,	and -mcdx.


Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>

From-SVN: r225791
2015-07-14 18:22:45 -04:00
Steven G. Kargl ff7097f21e simplify.c (gfc_simplify_floor): Set precision of temporary to that of arg.
2015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>

	* simplify.c (gfc_simplify_floor): Set precision of temporary to
	that of arg.

2015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>

	gfortran.dg/pr66864.f90: New test.

From-SVN: r225790
2015-07-14 21:44:46 +00:00
Vladimir Makarov 6e5ad0f92c re PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c segfaults w/ -mregparm=3 or -miamcu)
2015-07-14  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/66626
	* lra-constraints.c (lra_constraints): Prevent equivalence
	substitution for static chain pseudo in functions with nonlocal
	goto.

2015-07-14  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/66626
	* gcc.target/i386/pr66626.c: New.

From-SVN: r225789
2015-07-14 20:54:00 +00:00
Janne Blomqvist 5fd6ec3e4b PR 66861 Fix null pointer crash on mingw.
2015-07-14  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/66861
	* io/unix.c (compare_file_filename): Verify that u->filename is
	non-NULL before strcmp.
	(find_file0): Likewise.

From-SVN: r225788
2015-07-14 23:26:06 +03:00
Sandra Loosemore 5faebb89f5 nios2.c (TEMP_REG_NUM): Move define up in file.
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
	(nios2_emit_stack_limit_check): Add size parameter.  Handle
	-fstack-limit-symbol as well as -fstack-limit-register.
	(nios2_expand_prologue): Emit only a single stack limit check,
	even if multiple stack adjustments are required.
	(nios2_option_override): Diagnose unsupported combination of -fpic
	and -stack-limit-symbol.

	gcc/testsuite/
	* gcc.target/nios2/nios2-stack-check-1.c: Adjust patterns.
	* gcc.target/nios2/nios2-stack-check-2.c: Likewise.
	* gcc.target/nios2/nios2-stack-check-3.c: New test case.

From-SVN: r225787
2015-07-14 15:19:35 -04:00
Maxim Blumenthal 4c1cb4da7a simd-3.c: (main): Change type of res and ref from int to double.
2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>

libgomp/
	* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
	and ref from int to double.  Replaced their comparison with
	an inequality of their difference and EPS.
	* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
	comparison of pri and a reference number with an inequality of their
	difference and EPS.
	* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
	the comparison of sum and sum_ref with an inequality of their
	difference and EPS.
	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
	the comparison of pri and a reference number with an inequality of
	their difference and EPS.

From-SVN: r225786
2015-07-14 18:54:35 +00:00
Jason Merrill e056dfd06a * call.c (build_new_method_call_1): Call reshape_init.
From-SVN: r225784
2015-07-14 13:35:38 -04:00
Paolo Carlini 87679b76c3 pt.c (check_template_shadow): Emit error + inform instead of two errors.
/cp
2015-07-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (check_template_shadow): Emit error + inform instead of
	two errors.

/testsuite
2015-07-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/template/crash81.C: Adjust for error + inform change.
	* g++.dg/template/pr58878.C: Likewise.
	* g++.dg/template/shadow1.C: Likewise.
	* g++.dg/template/shadow2.C: Likewise.
	* g++.old-deja/g++.benjamin/tem03.C: Likewise.
	* g++.old-deja/g++.benjamin/tem04.C: Likewise.
	* g++.old-deja/g++.brendan/crash7.C: Likewise.
	* g++.old-deja/g++.pt/shadow2.C: Likewise.

From-SVN: r225783
2015-07-14 16:20:47 +00:00
H.J. Lu 721c82511e Remove trailing spaces in demangle.h
From-SVN: r225782
2015-07-14 09:14:40 -07:00
H.J. Lu 9cefc85619 Update copyright year in include
From-SVN: r225781
2015-07-14 09:08:59 -07:00
John Marino b6735e769f configure.tgt: Add *-*-dragonfly to supported targets.
2015-07-14  John Marino  <gnugcc@marino.st>

	* configure.tgt: Add *-*-dragonfly to supported targets.

From-SVN: r225779
2015-07-14 16:36:51 +01:00
H.J. Lu f159560304 Sync toplevel configure with binutils-gdb
Sync with binutils-gdb:
	2015-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac (target_configdirs): Exclude target-zlib if
	target-libjava isn't built.
	* configure: Regenerated.

From-SVN: r225778
2015-07-14 08:32:05 -07:00
H.J. Lu a05c2c752e Sync toplevel configure with binutils-gdb
Sync with binutils-gdb:
	2015-05-13  John David Anglin  <dave.anglin@bell.net>

	* configure.ac: Disable configuration of GDB for HPUX targets.
	* configure: Regenerate.

	2015-04-01  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Add --with-system-zlib.
	* configure: Regenerated.

	2015-01-28  James Bowman  <james.bowman@ftdichip.com>

	* configure.ac: Add FT32 support.
	* configure: Regenerate.

	2015-01-12  Anthony Green  <green@moxielogic.com>

	* configure.ac: Don't disable gprof for moxie.
	* configure: Rebuild.

From-SVN: r225777
2015-07-14 08:22:24 -07:00
H.J. Lu 1c01ebf64f Sync toplevel files binutils-gdb
Sync with binutils-gdb:
	2015-05-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/18355
	* Makefile.def: Add extra_configure_flags to host zlib.
	* configure.ac (extra_host_zlib_configure_flags): New.  Set
	to --enable-host-shared When bfd is to be built as shared
	library.  AC_SUBST.
	* Makefile.in: Regenerated.

From-SVN: r225776
2015-07-14 08:03:11 -07:00
H.J. Lu 96a58590dd This patch syncs zlib.m4 with binutils-gdb and uses AM_ZLIB from zlib.m4
in gcc/configure.ac.

config/

	* zlib.m4: Sync with binutils-gdb.

gcc/

	* Makefile.in (top_srcdir): New.
	* configure.ac: Use AM_ZLIB.
	* configure: Regeneated.

From-SVN: r225774
2015-07-14 07:25:35 -07:00
Matthias Klose 6ed80e1e51 re PR target/66840 (plugins fail to build on powerpc64le-linux-gnu)
2015-07-14  Matthias Klose  <doko@ubuntu.com>

        PR target/66840
        * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.

From-SVN: r225772
2015-07-14 13:50:01 +00:00
Hans-Peter Nilsson e59969a123 Sync with src:
2015-03-30  H.J. Lu  <hongjiu.lu@intel.com>
	* Makefile.def (dependencies): Add all-zlib to all-bfd.
	* Makefile.in: Regenerated.

From-SVN: r225769
2015-07-14 12:12:43 +00:00
Richard Biener fe9acb3a7a re PR tree-optimization/66863 (wrong code at -Os and above on x86_64-linux-gnu)
2015-07-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66863
	* tree-vrp.c (register_edge_assert_for_2): Properly restrict
	what we record for conversion use stmt lhs inequalities.

	* gcc.dg/torture/pr66863.c: New testcase.

From-SVN: r225768
2015-07-14 11:39:14 +00:00
Richard Biener 1ec1fa94b7 genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
2015-07-14  Richard Biener  <rguenther@suse.de>

	* genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
	(decision_tree::gen_gimple): Likewise.

From-SVN: r225765
2015-07-14 08:40:51 +00:00
Tom de Vries cf7416c32c Ignore -ftree-parallelize-loops={0,1} using gt
2015-07-14  Tom de Vries  <tom@codesourcery.com>

	* gcc.c (greater_than_spec_func): Declare forward.
	(LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
	-ftree-parallelize-loops={0,1}.
	(static_spec_functions): Add greater_than_spec_func function with name
	"gt".
	(greater_than_spec_func): New function.

From-SVN: r225764
2015-07-14 08:25:57 +00:00