Commit Graph

130409 Commits

Author SHA1 Message Date
Tom de Vries 357ddc7d3d Use INTVAL only on CONST_INT in addptrdi3 and addptrsi3
2014-06-04  Tom de Vries  <tom@codesourcery.com>

	* config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
	CONST_INT.

From-SVN: r211246
2014-06-04 20:18:47 +00:00
Marc Glisse ca73a1f7f9 re PR tree-optimization/61385 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu)
2014-06-04  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/61385
gcc/
	* tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
gcc/testsuite/
	* gcc.dg/tree-ssa/pr61385.c: New file.

From-SVN: r211245
2014-06-04 18:38:18 +00:00
Bernd Schmidt ffb1f5ef12 lto-wrapper.c (fatal, [...]): Remove functions.
* lto-wrapper.c (fatal, fatal_perror): Remove functions.  All callers
	changed to use fatal_error.
	(main): Ensure lto_wrapper_cleanup is run atexit.

From-SVN: r211243
2014-06-04 18:23:30 +00:00
Richard Sandiford a953491ef2 lra-constraints.c (valid_address_p): Move earlier in file.
gcc/
	* lra-constraints.c (valid_address_p): Move earlier in file.
	(address_eliminator): New structure.
	(satisfies_memory_constraint_p): New function.
	(satisfies_address_constraint_p): Likewise.
	(process_alt_operands, process_address, curr_insn_transform): Use them.

From-SVN: r211242
2014-06-04 17:44:09 +00:00
Richard Sandiford 0c3317563e lra-int.h (lra_static_insn_data): Make operand_alternative a const pointer.
gcc/
	* lra-int.h (lra_static_insn_data): Make operand_alternative a
	const pointer.
	(target_lra_int, default_target_lra_int, this_target_lra_int)
	(op_alt_data): Delete.
	* lra.h (lra_init): Delete.
	* lra.c (default_target_lra_int, this_target_lra_int): Delete.
	(init_insn_code_data_once): Remove op_alt_data handling.
	(finish_insn_code_data_once): Likewise.
	(init_op_alt_data): Delete.
	(get_static_insn_data): Initialize operand_alternative to null.
	(free_insn_recog_data): Cast operand_alternative before freeing it.
	(setup_operand_alternative): Take the operand_alternative as
	parameter and assume it isn't already cached in the static
	insn data.
	(lra_set_insn_recog_data): Update accordingly.
	(lra_init): Delete.
	* ira.c (ira_init): Don't call lra_init.
	* target-globals.h (this_target_lra_int): Declare.
	(target_globals): Remove lra_int.
	(restore_target_globals): Update accordingly.
	* target-globals.c: Don't include lra-int.h.
	(default_target_globals, save_target_globals): Remove lra_int.

From-SVN: r211241
2014-06-04 17:34:49 +00:00
Richard Sandiford 1145837df5 recog.h (operand_alternative): Convert reg_class, reject, matched and matches into bitfields.
gcc/
	* recog.h (operand_alternative): Convert reg_class, reject,
	matched and matches into bitfields.
	(preprocess_constraints): New overload.
	(preprocess_insn_constraints): New function.
	(preprocess_constraints): Take the insn as parameter.
	(recog_op_alt): Change into a pointer.
	(target_recog): Add x_op_alt.
	* recog.c (asm_op_alt): New variable.
	(recog_op_alt): Change into a pointer.
	(preprocess_constraints): New overload, replacing the old function
	definition with one that doesn't use global state.
	(preprocess_insn_constraints): New function.
	(preprocess_constraints): Use them.  Take the insn as parameter.
	Use asm_op_alt for asms.
	(recog_init): Free existing x_op_alt entries.
	* ira-lives.c (check_and_make_def_conflict): Make operand_alternative
	pointer const.
	(make_early_clobber_and_input_conflicts): Likewise.
	(process_bb_node_lives): Pass the insn to process_constraints.
	* reg-stack.c (check_asm_stack_operands): Likewise.
	(subst_asm_stack_regs): Likewise.
	* regcprop.c (copyprop_hardreg_forward_1): Likewise.
	* regrename.c (build_def_use): Likewise.
	* sched-deps.c (sched_analyze_insn): Likewise.
	* sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
	* config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
	(note_invalid_constants): Likewise.
	* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
	(ix86_legitimate_combined_insn): Make operand_alternative pointer
	const.

From-SVN: r211240
2014-06-04 17:34:40 +00:00
Richard Sandiford 5f2e0797ae recog.c (preprocess_constraints): Don't skip disabled alternatives.
gcc/
	* recog.c (preprocess_constraints): Don't skip disabled alternatives.
	* ira-lives.c (check_and_make_def_conflict): Check for disabled
	alternatives.
	(make_early_clobber_and_input_conflicts): Likewise.
	* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.

From-SVN: r211239
2014-06-04 17:34:19 +00:00
Richard Sandiford 5efe5dec7a recog.h (alternative_class): New function.
gcc/
	* recog.h (alternative_class): New function.
	(which_op_alt): Return a const recog_op_alt.
	* reg-stack.c (check_asm_stack_operands): Update type accordingly.
	(subst_asm_stack_regs): Likewise.
	* config/arm/arm.c (note_invalid_constants): Likewise.
	* regcprop.c (copyprop_hardreg_forward_1): Likewise.  Don't modify
	the operand_alternative; use alternative class instead.
	* sel-sched.c (get_reg_class): Likewise.
	* regrename.c (build_def_use): Likewise.
	(hide_operands, restore_operands, record_out_operands): Update type
	accordingly.

From-SVN: r211238
2014-06-04 17:34:03 +00:00
Richard Sandiford 29d70a0f69 recog.h (recog_op_alt): Convert to a flat array.
gcc/
	* recog.h (recog_op_alt): Convert to a flat array.
	(which_op_alt): New function.
	* recog.c (recog_op_alt): Convert to a flat array.
	(preprocess_constraints): Update accordingly, grouping all
	operands of the same alternative together, rather than the
	other way around.
	* ira-lives.c (check_and_make_def_conflict): Likewise.
	(make_early_clobber_and_input_conflicts): Likewise.
	* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
	* reg-stack.c (check_asm_stack_operands): Use which_op_alt.
	(subst_asm_stack_regs): Likewise.
	* regcprop.c (copyprop_hardreg_forward_1): Likewise.
	* regrename.c (hide_operands, record_out_operands): Likewise.
	(build_def_use): Likewise.
	* sel-sched.c (get_reg_class): Likewise.
	* config/arm/arm.c (note_invalid_constants): Likewise.

From-SVN: r211237
2014-06-04 17:33:51 +00:00
Jason Merrill fe6ebcf193 re PR c++/51253 ([C++11][DR 1030] Evaluation order (sequenced-before relation) among initializer-clauses in braced-init-list)
PR c++/51253
	PR c++/61382
gcc/
	* gimplify.c (gimplify_arg): Non-static.
	* gimplify.h: Declare it.
gcc/cp/
	* cp-gimplify.c (cp_gimplify_expr): Handle CALL_EXPR_LIST_INIT_P here.
	* semantics.c (simplify_aggr_init_expr): Not here, just copy it.

From-SVN: r211235
2014-06-04 11:51:01 -04:00
Richard Biener 38af3208d5 tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from TREE_PUBLIC and DECL_EXTERNAL decls.
2014-06-04  Richard Biener  <rguenther@suse.de>

	* tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
	TREE_PUBLIC and DECL_EXTERNAL decls.

From-SVN: r211233
2014-06-04 13:51:18 +00:00
Matthew Fortune 9ccac7012c regcprop.c (copyprop_hardreg_forward_1): Account for HARD_REGNO_CALL_PART_CLOBBERED.
2014-06-04  Matthew Fortune  <matthew.fortune@imgtec.com>

gcc/
	* regcprop.c (copyprop_hardreg_forward_1): Account for 
	HARD_REGNO_CALL_PART_CLOBBERED.

From-SVN: r211230
2014-06-04 13:10:49 +00:00
Richard Biener 35987ae95d configure.ac: Check whether the underlying type of int64_t is long or long long.
2014-06-04  Richard Biener  <rguenther@suse.de>

	* configure.ac: Check whether the underlying type of int64_t
	is long or long long.
	* configure: Regenerate.
	* config.in: Likewise.
	* hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
	(HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.

From-SVN: r211228
2014-06-04 12:35:26 +00:00
Richard Biener 0ea48022b8 re PR tree-optimization/60098 (DSE fails to DSE errno settings)
2014-06-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/60098
	* tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
	we hit a kill.
	(dse_optimize_stmt): Simplify, now that we found a kill
	earlier.

	* gcc.dg/tree-ssa/ssa-dse-15.c: New testcase.

From-SVN: r211224
2014-06-04 11:56:34 +00:00
Richard Biener b1259d34e9 tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling of accesses with non-invariant address.
2014-06-04  Richard Biener  <rguenther@suse.de>

	* tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
	of accesses with non-invariant address.

	* gcc.dg/tree-ssa/ssa-dse-16.c: New testcase.

From-SVN: r211223
2014-06-04 11:55:29 +00:00
Martin Liska 8be2dc8cb2 New callgraph wrapper function creation added
* cgraph.h (cgraph_make_wrapper): New function introduced.
	* cgraphunit.c (cgraph_make_wrapper): The function implementation.
	* ipa-inline.h (inline_analyze_function): The function is global.
	* ipa-inline-analysis.c (inline_analyze_function): Likewise.

From-SVN: r211222
2014-06-04 11:11:09 +00:00
Igor Zamyatin 9dc7743c78 re PR c/58942 (cilkplus internal compiler error: tree check __sec_reduce_max_ind)
gcc/c/
	PR c/58942
	* c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
	with a pointer.

gcc/cp/
	PR c/58942
	* cp-array-notation.c (expand_sec_reduce_builtin): Handle the case
	with a pointer.

gcc/testsuite/
	PR c/58942
	* c-c++-common/cilk-plus/AN/pr58942.c: Check for correct handling of
	the case with a pointer.

From-SVN: r211220
2014-06-04 10:07:21 +00:00
Martin Liska 8a57e88dc6 New attribute lookup function addition
* tree.h (private_lookup_attribute_starting): New function.
	(lookup_attribute_starting): Likewise.
	* tree.c (private_lookup_attribute_starting): Likewise.

From-SVN: r211219
2014-06-04 09:44:33 +00:00
Martin Liska d211e47192 Enhancement of call graph API
* cgraph.h (expand_thunk): New argument added.
	(address_taken_from_non_vtable_p): New global function.
	* ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
	* cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
	* cgraphunit.c (analyze_function): Likewise.
	(assemble_thunks_and_aliases): Argument added to call.
	(expand_thunk): New argument forces to produce GIMPLE thunk.

From-SVN: r211218
2014-06-04 09:39:24 +00:00
Martin Liska a96bf0d3ce Make coverage_compute_cfg_checksum callable with arg.
* coverage.h (coverage_compute_cfg_checksum): Argument added.
	* coverage.c (coverage_compute_cfg_checksum): Likewise.
	* profile.c (branch_prob): Likewise.

From-SVN: r211217
2014-06-04 09:31:25 +00:00
Martin Jambor 7d2268ead3 re PR ipa/61340 (ipa-pure-const.c, ipa-reference.c: possible missing switch cases ?)
2014-06-04  Martin Jambor  <mjambor@suse.cz>

	PR ipa/61340
	* ipa-pure-const.c (propagate_pure_const): Add unreachable default
	handler for switch on an ipa_ref_use enum.
	* ipa-reference.c (analyze_function): Likewise.

From-SVN: r211216
2014-06-04 11:23:52 +02:00
Thomas Preud'homme 153fcd418b Add myself to the MAINTAINERS file.
2014-06-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r211215
2014-06-04 09:11:48 +00:00
Kai Tietz 0dac3001d4 recog.c (peep2_attempt): Copy SIBLING_CALL_P flag from old call-instruction.
* recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
	from old call-instruction.

From-SVN: r211213
2014-06-04 09:46:55 +02:00
Marek Polacek 9d548dfb67 re PR c/30020 (improve diagnostics for limited range warning for a switch statement)
PR c/30020
	* c-common.c (check_case_bounds): Add location parameter.
	Use it.
	(c_add_case_label): Pass loc to check_case_bounds.

	* c-c++-common/pr30020.c: New test.

From-SVN: r211212
2014-06-04 07:26:06 +00:00
Bin Cheng 348d4b0a54 * config/aarch64/aarch64.c (aarch64_classify_address)
(aarch64_legitimize_reload_address): Support full addressing modes
	for vector modes.
	* config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
	(*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.

From-SVN: r211211
2014-06-04 03:45:50 +00:00
GCC Administrator 1b1b580c5b Daily bump.
From-SVN: r211210
2014-06-04 00:17:09 +00:00
Andrew Pinski b9e3afe9b4 aarch64.c (aarch64_if_then_else_costs): Allow non comparisons for OP0.
2014-06-03  Andrew Pinski  <apinski@cavium.com>

	* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
	for OP0.

2014-06-03  Andrew Pinski  <apinski@cavium.com>

	* gcc.c-torture/compile/20140528-1.c: New testcase.

From-SVN: r211206
2014-06-03 15:44:39 -07:00
Andrew Pinski 2d5ffe4631 aarch64.c (aarch64_if_then_else_costs): New function.
2014-06-03  Andrew Pinski  <apinski@cavium.com>

	* config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
	(aarch64_rtx_costs): Use aarch64_if_then_else_costs.

From-SVN: r211205
2014-06-03 15:42:47 -07:00
Kai Tietz 3ce7abdd2f i386.c (ix86_function_value_regno_p): Disallow DX_REG for 64-bit ms-abi.
* config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
        for 64-bit ms-abi.

From-SVN: r211204
2014-06-04 00:01:19 +02:00
Dehao Chen 47e78f984e tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in the same loop.
2014-06-03  Dehao Chen  <dehao@google.com>

	* tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
	the same loop.
	* gcc.dg/tree-prof/merge_block.c: New test.

From-SVN: r211202
2014-06-03 21:36:05 +00:00
Uros Bizjak eb7404d46a mv14.C (dg-options): Add -march=x86-64.
* g++.dg/ext/mv14.C (dg-options): Add -march=x86-64.
	* g++.dg/ext/mv15.C (dg-options): Ditto.

From-SVN: r211196
2014-06-03 19:57:42 +02:00
Paolo Carlini 3c61a5ba37 DR 1423 PR c++/52174
gcc/cp
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 1423
	PR c++/52174
	* call.c (standard_conversion): Convert nullptr to bool only
	in case of direct-initialization.
	(convert_like_real): Provide informative error message.

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

	DR 1423
	PR c++/52174
	* g++.dg/cpp0x/nullptr31.C: New.
	* g++.dg/cpp0x/sfinae-nullptr1.C: Likewise.
	* g++.dg/cpp0x/nullptr17.C: Update.

libstdc++-v3
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 1423
	PR c++/52174
	* testsuite/20_util/is_assignable/value.cc: Update.

From-SVN: r211195
2014-06-03 17:48:36 +00:00
Marek Polacek fedfecef5e re PR c/60439 (No warning for case overflow in switch statement.)
PR c/60439
	* doc/invoke.texi: Document -Wswitch-bool.
	* function.c (stack_protect_epilogue): Cast controlling expression of
	the switch to int.
	* gengtype.c (walk_type): Generate switch expression with its
	controlling expression cast to int.
c/
	* c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
	c_start_case.
	* c-tree.h (c_start_case): Update.
	* c-typeck.c (c_start_case): Add new boolean parameter.  Warn if
	switch condition has boolean value.
cp/
	* semantics.c (finish_switch_cond): Warn if switch condition has
	boolean value.
c-family/
	* c.opt (Wswitch-bool): New option.
testsuite/
	* c-c++-common/pr60439.c: New test.
	* g++.dg/eh/scope1.C (f4): Add dg-warning.

From-SVN: r211194
2014-06-03 17:35:34 +00:00
Denis Chertykov e4f36438a9 avr-mcus.def: Add new avr25 devices attiny441, attiny828 and attiny841.
* config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
	and attiny841.
	* config/avr/avr-tables.opt: Regenerate.
	* config/avr/t-multilib: Regenerate.
	* doc/avr-mmcu.texi: Regenerate.

	* config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
	(ata6617c, ata664251): Add new avr35 devices.
	(ata6612c): Add new avr4 device.
	(ata6613c, ata6614q): Add new avr5 devices.
	* config/avr/avr-tables.opt: Regenerate.
	* config/avr/t-multilib: Regenerate.
	* doc/avr-mmcu.texi: Regenerate.

From-SVN: r211189
2014-06-03 20:26:09 +04:00
Jason Merrill 093e62d274 re PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)
PR c++/60992
	* pt.c (tsubst_copy) [VAR_DECL]: Try lookup first.  Add a new
	variable to local_specializations.

From-SVN: r211188
2014-06-03 11:39:20 -04:00
Alan Lawrence 918621d3a8 [PATCH AArch64 2/2] Correct signedness of builtins, remove casts from arm_neon.h
* gcc/config/aarch64/aarch64-builtins.c
	(aarch64_types_binop_ssu_qualifiers): New static data.
	(TYPES_BINOP_SSU): Define.
	* gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
	urshr_n, ushll_n): Use appropriate unsigned qualifiers.
	* gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
	vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
	vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
	vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
	vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
	vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
	vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
	suffix to builtin function name, remove cast.
	(vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
	vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
	vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.

From-SVN: r211186
2014-06-03 15:06:01 +00:00
Alan Lawrence de10bcced9 [PATCH AArch64 1/2] Correct signedness of builtins, remove casts from arm_neon.h
* gcc/config/aarch64/aarch64-builtins.c
	(aarch64_types_binop_uus_qualifiers,
	aarch64_types_shift_to_unsigned_qualifiers,
	aarch64_types_unsigned_shiftacc_qualifiers): Define.
	* gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
	uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
	sqshlu_n, uqshl_n): Update qualifiers.
	* gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
	vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
	vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
	vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
	vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
	vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
	vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
	vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
	vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
	vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
	vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
	vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
	vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
	vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
	vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
	vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
	vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
	vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
	vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
	vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
	vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
	vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
	vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
	vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
	vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
	vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
	vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.

From-SVN: r211185
2014-06-03 14:57:22 +00:00
Teresa Johnson 878d361864 tree-sra.c (modify_function): Record caller nodes after rebuild.
2014-06-03  Teresa Johnson  <tejohnson@google.com>

	* tree-sra.c (modify_function): Record caller nodes after rebuild.

From-SVN: r211180
2014-06-03 14:12:51 +00:00
Jason Merrill 010bc40a6c re PR c++/60848 (Crash while experimenting with c++-0x initializer lists)
PR c++/60848
	* call.c (is_std_init_list): Check CLASSTYPE_TEMPLATE_INFO.

From-SVN: r211179
2014-06-03 10:11:10 -04:00
Jason Merrill 616abc647c re PR c++/61020 (typeid(typeid(X)) produces 'ud2')
PR c++/61020
	* varpool.c (ctor_for_folding): Handle uninitialized vtables.

From-SVN: r211178
2014-06-03 07:56:58 -04:00
Alan Lawrence b31e65bb60 Detect EXT patterns to vec_perm_const, use for EXT intrinsics.
(part 2, fix ICE at -O0)

	* config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
	location == 0.

From-SVN: r211177
2014-06-03 11:56:24 +00:00
Alan Lawrence 923fcec3d8 Recognize shuffle patterns for REV instructions on AArch64, rewrite intrinsics.
* config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
        New pattern.
        * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
        (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
        * config/aarch64/iterators.md (REVERSE): New iterator.
        (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
        (rev_op): New int_attribute.
        * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
        vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
        vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
        vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
        vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
        vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
        vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
        Replace temporary __asm__ with __builtin_shuffle.

From-SVN: r211174
2014-06-03 11:28:55 +00:00
Andrew Bennett 2b3bd04055 Add support for MIPS r3 and r5.
2014-06-03  Andrew Bennett  <andrew.bennett@imgtec.com> 

	* config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
	mips64r5.
	* config/mips/mips-tables.opt: Regenerate.
	* config/mips/mips.c (mips_compute_frame_info): Changed if statement
	to use mips_isa_rev rather than ISA_MIPS32R2.
	* config/mips/mips.h (ISA_MIPS32R3): New define.
	(ISA_MIPS32R5): New define.
	(ISA_MIPS64R3): New define.
	(ISA_MIPS64R5): New define.
	(TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3, ISA_MIPS32R5,
	ISA_MIPS64R3 and ISA_MIPS64R5.
	(MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
	and mips64r5.
	(MIPS_ISA_SYNCI_SPEC): Likewise.
	(ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
	(LINK_SPEC): Added mips32r3 and mips32r5.
	* config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
	to mips32r2; and mips64r3 and mips64r5 to mips64r2.
	* config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
	* config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
	* config/mips/t-sde (MULTILIB_MATCHES): Likewise.
	* config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
	* doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.

From-SVN: r211173
2014-06-03 11:10:05 +00:00
Andrew Bennett 35773f5380 Add support for the MIPS -mxpa command line option.
2014-06-03  Andrew Bennett  <andrew.bennett@imgtec.com>

	* doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
	options.
	* config/mips/mips.opt (mxpa): New option.
	* config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the 
	assembler.

From-SVN: r211172
2014-06-03 10:22:09 +00:00
Martin Jambor d3fb5cf063 re PR ipa/61160 (wrong code with -O3 (or ICE: verify_cgraph_node failed: edge points to wrong declaration))
2014-06-03  Martin Jambor  <mjambor@suse.cz>

	PR ipa/61160
	* ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
	thunks.

testsuite/
	* g++.dg/ipa/pr61160-1.C: New test.

From-SVN: r211170
2014-06-03 12:09:20 +02:00
Andrew Bennett e25d96321c Add myself to the MAINTAINERS file.
2014-06-03  Andrew Bennett  <andrew.bennett@imgtec.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r211167
2014-06-03 09:37:13 +00:00
Thomas Preud'homme 3cc272c178 re PR tree-optimization/61328 (valgrind finds problem in find_bswap_or_nop_1)
2014-06-03  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	PR tree-optimization/61328
	* tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
        initialization from find_bswap_or_nop_1.
        (find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
        in source_expr2 before using the size value the function sets. Also
        make use of init_symbolic_number () in both the old place and
        find_bswap_or_nop_load () to avoid reading uninitialized memory when
        doing recursion in the GIMPLE_BINARY_RHS case.

From-SVN: r211166
2014-06-03 09:29:06 +00:00
Richard Biener 597c6315ca re PR tree-optimization/61383 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
2014-06-03  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61383
	* tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
	stmts can't trap.

	* gcc.dg/torture/pr61383-1.c: New testcase.

From-SVN: r211163
2014-06-03 08:48:28 +00:00
Richard Sandiford b48e9677e5 gcc/
* defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
	(EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
	(CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
	(REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
	in this file.
	(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
	(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
	* system.h: ...here and make it unconditional.
	* target.def (conditional_register_usage): Mention
	define_register_constraint instead of old-style constraint macros.
	* doc/tm.texi.in: Remove documentation for old-style constraint macros.
	* doc/tm.texi: Regenerate.
	* genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
	protected by !USE_MD_CONSTRAINTS.
	* config/frv/frv.md: Remove quote from old version of documentation.
	* config/frv/frv.c (frv_conditional_register_usage): Likewise.
	* config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
	CONST_DOUBLE_OK_FOR_LETTER.
	* config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.

From-SVN: r211161
2014-06-03 07:27:13 +00:00
Jason Merrill 99d14de62f re PR c++/61046 (ICE in lookup_field_1, at cp/search.c:384)
PR c++/61046
	* decl.c (reshape_init_class): Handle un-folded
	constant-expressions.

From-SVN: r211160
2014-06-03 00:57:39 -04:00