Commit Graph

129645 Commits

Author SHA1 Message Date
Chris Manghane 6f7e0b570a compiler: Use backend interface for expressions.
* go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
	(Gcc_backend::boolean_constant_expression): New method.
	(Gcc_backend::zero_expression): Use this->make_expression rather
	than tree_to_expr.
	(Gcc_backend::var_expression): Likewise.
	(Gcc_backend::integer_constant_expression): Likewise.
	(Gcc_backend::float_constant_expression): Likewise.
	(Gcc_backend::complex_constant_expression): Likewise.
	(Gcc_backend::struct_field_expression): Likewise.
	(tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
	(tree_to_function, tree_to_block): Remove functions.
	(type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
	(block_to_tree, var_to_tree, function_to_tree): Remove functions.

From-SVN: r210122
2014-05-06 19:28:03 +00:00
Richard Sandiford 3379b71f51 revert: lra-constraints.c (valid_address_p): Move earlier in file.
gcc/
	Revert:
	2014-05-03  Richard Sandiford  <rdsandiford@googlemail.com>

	* lra-constraints.c (valid_address_p): Move earlier in file.
	Add a constraint argument to the address_info version.
	(satisfies_memory_constraint_p): New function.
	(satisfies_address_constraint_p): Likewise.
	(process_alt_operands, curr_insn_transform): Use them.
	(process_address): Pass the constraint to valid_address_p when
	checking address operands.

From-SVN: r210121
2014-05-06 19:22:16 +00:00
Richard Sandiford 224dbc07a5 lto-cgraph.c (compute_ltrans_boundary): Make node variables local to their respective blocks.
gcc/
	* lto-cgraph.c (compute_ltrans_boundary): Make node variables local
	to their respective blocks.  Fix inadvertent use of "node".

From-SVN: r210120
2014-05-06 17:47:15 +00:00
Richard Sandiford ebe9df675a boehm.c (mark_reference_fields): Don't update the mask when setting pointer_after_end.
gcc/java/
	* boehm.c (mark_reference_fields): Don't update the mask when
	setting pointer_after_end.

From-SVN: r210119
2014-05-06 17:46:05 +00:00
Richard Sandiford aa3a12d66e emit-rtl.c (init_derived_machine_modes): New functionm, split out from...
gcc/
	* emit-rtl.c (init_derived_machine_modes): New functionm, split
	out from...
	(init_emit_once): ...here.
	* rtl.h (init_derived_machine_modes): Declare.
	* toplev.c (do_compile): Call it even if no_backend.

From-SVN: r210118
2014-05-06 17:44:15 +00:00
Kenneth Zadeck 1d60af0867 Update ChangeLogs for wide-int work.
Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Co-Authored-By: Mike Stump <mikestump@comcast.net>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>

From-SVN: r210116
2014-05-06 16:35:35 +00:00
Kenneth Zadeck 807e902eea Merge in wide-int.
From-SVN: r210113
2014-05-06 16:25:05 +00:00
Chris Manghane 6122336c83 compiler: Store flags for division checks in Gogo object instead of using global variables.
* go-c.h (go_create_gogo): Update declaration to add
	check_divide_zero and check_divide_overflow parameters.
	* go-lang.c (go_langhook_init): Pass new arguments to
	go_create_gogo.

From-SVN: r210109
2014-05-06 13:50:01 +00:00
Jan-Benedict Glaw 3134fb1943 avr.c (avr_can_eliminate): Mark unused argument.
2014-05-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/avr/avr.c (avr_can_eliminate): Mark unused argument.

From-SVN: r210108
2014-05-06 13:48:29 +00:00
Richard Biener 3bea341fbd tree-pass.h (TODO_verify_ssa, [...]): Remove.
2014-05-06  Richard Biener  <rguenther@suse.de>

	* tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
	TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
	(TODO_verify_all): Adjust.
	* asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
	TODO_verify_stmts and TODO_verify_rtl_sharing.
	* bb-reorder.c: Likewise.
	* cfgexpand.c: Likewise.
	* cprop.c: Likewise.
	* cse.c: Likewise.
	* function.c: Likewise.
	* fwprop.c: Likewise.
	* gcse.c: Likewise.
	* gimple-ssa-isolate-paths.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* ipa-split.c: Likewise.
	* loop-init.c: Likewise.
	* loop-unroll.c: Likewise.
	* lower-subreg.c: Likewise.
	* modulo-sched.c: Likewise.
	* postreload-gcse.c: Likewise.
	* predict.c: Likewise.
	* recog.c: Likewise.
	* sched-rgn.c: Likewise.
	* store-motion.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-emutls.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-object-size.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-pass.h: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-copyrename.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-dse.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-loop-ch.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-phiprop.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-strlen.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-uncprop.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vrp.c: Likewise.
	* tsan.c: Likewise.
	* var-tracking.c: Likewise.
	* bt-load.c: Likewise.
	* cfgcleanup.c: Likewise.
	* combine-stack-adj.c: Likewise.
	* combine.c: Likewise.
	* compare-elim.c: Likewise.
	* config/epiphany/resolve-sw-modes.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh_treg_combine.cc: Likewise.
	* config/sparc/sparc.c: Likewise.
	* dce.c: Likewise.
	* dse.c: Likewise.
	* final.c: Likewise.
	* ifcvt.c: Likewise.
	* mode-switching.c: Likewise.
	* passes.c: Likewise.
	* postreload.c: Likewise.
	* ree.c: Likewise.
	* reg-stack.c: Likewise.
	* regcprop.c: Likewise.
	* regrename.c: Likewise.
	* web.c: Likewise.

From-SVN: r210106
2014-05-06 13:35:40 +00:00
Richard Biener b15458becf c-opts.c (c_common_post_options): For -freestanding...
2014-05-06  Richard Biener  <rguenther@suse.de>

	c-family/
	* c-opts.c (c_common_post_options): For -freestanding,
	-fno-hosted and -fno-builtin disable pattern recognition
	if not enabled explicitely.

From-SVN: r210100
2014-05-06 10:46:18 +00:00
Richard Biener 3d224d46b8 re PR debug/61070 (debug_bitmap writes to stdout)
2014-05-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/61070
	* bitmap.c (debug_bitmap): Dump to stderr, not stdout.
	* tree-ssa-structalias.c (dump_solution_for_var): Likewise.

From-SVN: r210098
2014-05-06 08:30:57 +00:00
Ian Lance Taylor 6f07319115 compiler: Fix bug in embedded method handling.
If the same type was embedded in a struct at different levels,
only the first embedded instance was considered when building
the set of all methods.  A second instance was ignored, even
if it was at a higher level and should therefore override the
first instance.

Test case is bug485.go in master repository.

From-SVN: r210096
2014-05-06 05:33:31 +00:00
Ian Lance Taylor 0c2b1bb7b6 compiler: Use backend interface for array length.
From-SVN: r210093
2014-05-06 01:14:34 +00:00
GCC Administrator 9239c1b47d Daily bump.
From-SVN: r210092
2014-05-06 00:17:17 +00:00
Chris Manghane fb930306ba compiler: Use backend interface for slice construction.
* go-gcc.cc (Gcc_backend::implicit_variable): Rename from
	gc_root_variable.  Add name and is_constant parameters.

From-SVN: r210088
2014-05-06 00:11:29 +00:00
Chris Manghane 3e7b0938f1 compiler: Handle recursive pointer types for unary indirection.
* go-gcc.cc (Gcc_backend::indirect_expression): Add btype
	parameter.
	(Gcc_backend::temporary_variable): Check for erroneous function.

From-SVN: r210087
2014-05-05 23:54:16 +00:00
Jan Hubicka e400f08159 re PR ipa/60965 (IPA: Devirtualization versus placement new)
PR ipa/60965
	* ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
	* g++.dg/ipa/devirt-32.C: New testcase.

From-SVN: r210086
2014-05-05 23:27:40 +00:00
Radovan Obradovic aaeaa9a91c Add call_fusage_contains_non_callee_clobbers hook
2014-05-05  Radovan Obradovic  <robradovic@mips.com>
            Tom de Vries  <tom@codesourcery.com>

	* target.def (call_fusage_contains_non_callee_clobbers): New DEFHOOKPOD.
	* doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
	Hooks to @menu.
	(@node Miscellaneous Register Hooks): New node.
	(@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
	* doc/tm.texi: Regenerate.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r210085
2014-05-05 22:51:36 +00:00
Ian Lance Taylor a29aa02e79 compiler: Use backend interface for type info expressions.
From-SVN: r210084
2014-05-05 21:48:52 +00:00
Marek Polacek c2ac23fe23 re PR driver/61065 ([4.9/4.10 Regresion] invalid args to -fsanitize should be an error not a warning)
PR driver/61065
	* opts.c (common_handle_option): Call error_at instead of warning_at.

From-SVN: r210080
2014-05-05 20:37:47 +00:00
Ian Lance Taylor 535d5152fe compiler: Use backend interface for sink expressions.
From-SVN: r210078
2014-05-05 19:05:59 +00:00
Ian Lance Taylor 36d0631995 compiler: Use backend interface for set and use temporaries.
From-SVN: r210077
2014-05-05 18:49:39 +00:00
Ian Lance Taylor 92a87cb7ff compiler: Use backend interface for struct field offsets.
From-SVN: r210074
2014-05-05 17:55:03 +00:00
Richard Biener 0db7457704 passes.c (execute_function_todo): Don't reset TODO_verify_ssa from last_verified if update_ssa ran.
2014-05-05  Richard Biener  <rguenther@suse.de>

	* passes.c (execute_function_todo): Don't reset TODO_verify_ssa
	from last_verified if update_ssa ran.  Move TODO_verify_rtl_sharing
	under the TODO_verify_il umbrella.

From-SVN: r210073
2014-05-05 17:40:08 +00:00
Ian Lance Taylor 7d7e4e4174 compiler: Use backend interface for bound method expressions.
From-SVN: r210072
2014-05-05 17:22:40 +00:00
Richard Biener 7e7f8713ea passes.c (execute_function_todo): Move TODO_verify_flow under the TODO_verify_ul umbrella.
2014-05-05  Richard Biener  <rguenther@suse.de>

	* passes.c (execute_function_todo): Move TODO_verify_flow under
	the TODO_verify_ul umbrella.

From-SVN: r210068
2014-05-05 09:28:39 +00:00
Richard Biener 7e2c9f1434 re PR middle-end/61010 (Infinite recursion in fold)
2014-05-05  Richard Biener  <rguenther@suse.de>

	PR middle-end/61010
	* fold-const.c (fold_binary_loc): Consistently avoid
	canonicalizing X & CST away from a CST that is the mask
	of a mode.

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

From-SVN: r210066
2014-05-05 09:23:31 +00:00
Jan-Benedict Glaw 33ecf1086a picochip-protos.h (picochip_regno_nregs): Change int argument to enum machine_mode.
2014-05-05  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/picochip/picochip-protos.h (picochip_regno_nregs): Change
	int argument to enum machine_mode.
	(picochip_class_max_nregs): Ditto.
	* config/picochip/picochip.c (picochip_regno_nregs): Ditto.
	(picochip_class_max_nregs): Ditto.

From-SVN: r210065
2014-05-05 08:28:45 +00:00
Andreas Schwab dd14d42936 Update libstdc++ baseline symbols for ia64
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt
(CXXABI_1.3.9): Remove __float128 symbols.

From-SVN: r210063
2014-05-05 08:10:37 +00:00
Andreas Krebbel d56a43a0e0 target.def: Add new target hook.
2014-05-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* target.def: Add new target hook.
	* doc/tm.texi: Regenerate.
	* targhooks.h (default_keep_leaf_when_profiled): Add prototype.
	* targhooks.c (default_keep_leaf_when_profiled): New function.

	* config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
	(TARGET_KEEP_LEAF_WHEN_PROFILED): Define.

2014-05-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.target/s390/leaf-profile.c: New testcase.

From-SVN: r210061
2014-05-05 07:55:26 +00:00
Andreas Krebbel f668cd6f2b hoist-register-pressure-1.c: Replace int with long.
2014-05-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.dg/hoist-register-pressure-1.c: Replace int with long.
	Disable asm scan for s390.
	* gcc.dg/hoist-register-pressure-2.c: Likewise.
	* gcc.dg/hoist-register-pressure-3.c: Likewise.

From-SVN: r210060
2014-05-05 07:53:35 +00:00
Bin Cheng cb8f1a5761 re PR tree-optimization/60363 (logical_op_short_circuit, gcc.dg/tree-ssa/ssa-dom-thread-4.c scan-tree-dump-times dom1 "Threaded" 4)
PR tree-optimization/60363
	* gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
	(copy_phi_args): New parameters.  Call get_value_locus_in_path.
	(update_destination_phis): New parameter.
	(create_edge_and_update_destination_phis): Ditto.
	(ssa_fix_duplicate_block_edges): Pass new arguments.
	(thread_single_edge): Ditto.

	PR tree-optimization/60363
	* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Revert XFAIL test.

From-SVN: r210059
2014-05-05 07:36:30 +00:00
Peter Bergner f93bc5b31a rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
gcc/
	* config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
	(RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
	(TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
	* config/rs6000/rs6000-builtin.def (BU_MISC_1):
	Use RS6000_BTM_HARD_FLOAT.
	(BU_MISC_2): Likewise.
	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
	RS6000_BTM_HARD_FLOAT.
	(rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
	is explicitly used.
	(rs6000_invalid_builtin): Add hard floating builtin support.
	(rs6000_expand_builtin): Relax the gcc_assert to allow the new
	hard float builtins.
	(rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.

gcc/testsuite/
	* gcc.target/powerpc/pack02.c (dg-options): Add -mhard-float.
	(dg-require-effective-target): Change target to powerpc_fprs.
	* gcc.target/powerpc/pack03.c (dg-options): Add -mhard-dfp.
	(dg-require-effective-target): Change target to dfprt.

From-SVN: r210054
2014-05-04 20:52:30 -05:00
GCC Administrator b89184027e Daily bump.
From-SVN: r210053
2014-05-05 00:16:25 +00:00
GCC Administrator 76374c9079 Daily bump.
From-SVN: r210047
2014-05-04 00:16:42 +00:00
Paolo Carlini 32314c3804 re PR c++/58582 ([c++11] ICE defining and instantiating deleted template function)
/cp
2014-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58582
	* decl.c (grokfndecl): Check duplicate_decls return value for
	error_mark_node.
	* pt.c (instantiate_decl): A deleted function is defined.

/testsuite
2014-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58582
	* g++.dg/cpp0x/deleted4.C: New.
	* g++.dg/cpp0x/deleted5.C: Likewise.
	* g++.dg/cpp0x/deleted6.C: Likewise.

From-SVN: r210043
2014-05-03 22:44:22 +00:00
Oleg Endo 579f4e64df sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute): Add missing function* argument.
* config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
	Add missing function* argument.

From-SVN: r210040
2014-05-03 20:22:09 +00:00
Richard Sandiford 0be7287d81 lra-constraints.c (valid_address_p): Move earlier in file.
gcc/
	* lra-constraints.c (valid_address_p): Move earlier in file.
	Add a constraint argument to the address_info version.
	(satisfies_memory_constraint_p): New function.
	(satisfies_address_constraint_p): Likewise.
	(process_alt_operands, curr_insn_transform): Use them.
	(process_address): Pass the constraint to valid_address_p when
	checking address operands.

From-SVN: r210039
2014-05-03 19:19:56 +00:00
Richard Sandiford ad782bc910 mips.c (mips_isa_rev): New variable.
gcc/
	* config/mips/mips.c (mips_isa_rev): New variable.
	(mips_set_architecture): Set it.
	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
	from mips_isa_rev.
	(ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
	(ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
	(ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
	(ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
	(ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
	conditions in terms of mips_isa_rev.
	(mips_isa_rev): Declare.

From-SVN: r210038
2014-05-03 19:18:40 +00:00
Oleg Endo 45731f37b3 sh-mem.cc: Use tabs instead of spaces.
* config/sh/sh-mem.cc: Use tabs instead of spaces.
	(prob_unlikely, prob_likely): Make variables const.

From-SVN: r210037
2014-05-03 17:47:27 +00:00
Denis Chertykov c61dfa6388 avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
* config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.

From-SVN: r210035
2014-05-03 18:23:24 +04:00
Dominique d'Humieres 6855e17c36 2014-05-03 Dominique d'Humieres <dominiq@lps.ens.fr>
Fix typos in log entries.

From-SVN: r210034
2014-05-03 14:16:53 +02:00
Oleg Endo 1b8da635dc sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
* config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.

From-SVN: r210033
2014-05-03 11:50:38 +00:00
Oleg Endo f6982a08ca sh.h (ROUND_ADVANCE): Delete macro.
* config/sh/sh.h (ROUND_ADVANCE): Delete macro.
	(ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
	* config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
	functions.
	(sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
	sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
	sh_pass_in_reg_p.
	Replace usage of ROUND_REG with sh_round_reg.
	Use CEIL instead of ROUND_ADVANCE.

From-SVN: r210032
2014-05-03 09:42:52 +00:00
Dominique d'Humieres 3c922bcd25 re PR testsuite/61025 (FAIL: gfortran.dg/coarray_lib_this_image_1.f90)
2014-05-03  Dominique d'Humieres <dominiq@lps.ens.fr>

	PR fortran/61025
	* gfortran.dg/coarray_lib_this_image_1.f90: Adjust the dg-final
	regexps for -m32.
	* gfortran.dg/coarray_lib_this_image_2.f90: Likewise.
	* gfortran.dg/coarray_poly_7.f90: Likewise.
	* gfortran.dg/coarray_poly_8.f90: Likewise.
	* gfortran.dg/coarray_poly_9.f90: Likewise.

From-SVN: r210031
2014-05-03 11:08:15 +02:00
Oleg Endo 0bcf70f851 re PR target/61026 (sh-rtems4.11 build of 4.9.0 fails on FreeBSD 10 c++ (clang).)
PR target/61026
	* config/sh/sh.c: Include stdlib headers before everything else.

From-SVN: r210028
2014-05-03 07:51:02 +00:00
GCC Administrator 2ec1d0af60 Daily bump.
From-SVN: r210026
2014-05-03 00:16:48 +00:00
Jason Merrill c4fa357222 * decl2.c (vague_linkage_p): Local statics have vague linkage.
From-SVN: r210019
2014-05-02 16:56:41 -04:00
Jason Merrill 43b781fac7 re PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)
PR c++/60992
	* lambda.c (lambda_capture_field_type): Wrap anything dependent
	other than 'this'.
	(add_capture): Check for VLA before calling it.
	* semantics.c (is_this_parameter): Accept any 'this' parameter, not
	just the current one.  Make non-static.
	* cp-tree.h: Declare it.
	* pt.c (tsubst_copy) [VAR_DECL]: Also build a new VAR_DECL if
	the operand was static or constant.

From-SVN: r210017
2014-05-02 15:47:40 -04:00