Commit Graph

130866 Commits

Author SHA1 Message Date
Uros Bizjak
5b0936da94 configure.host (ieee_flags): Add -mieee for alpha*.
libgfortran/ChangeLog:

	* configure.host (ieee_flags): Add -mieee for alpha*.

	* config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
	GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO.
	* config/fpu-aix.h (support_fpu_rounding_mode): Ditto.

testsuite/ChangeLog:

	* gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Remove -O0.
	* gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add.

From-SVN: r212224
2014-07-02 10:45:08 +02:00
Paolo Carlini
bca23ca20c pt.c (convert_template_argument): Use inform instead of error in three places.
/cp
2014-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (convert_template_argument): Use inform instead of error in
	three places.

/testsuite
2014-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/variadic-ex10.C: Adjust for inform instead of error.
	* g++.dg/cpp0x/variadic-ex14.C: Likewise.
	* g++.dg/parse/error11.C: Likewise.
	* g++.old-deja/g++.brendan/template17.C: Likewise.

From-SVN: r212223
2014-07-02 07:51:40 +00:00
Jan Hubicka
d570d364e6 ipa-utils.h (method_class_type, [...]): Constify.
* ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
	vtable_pointer_value_to_vtable): Constify.
	(contains_polymorphic_type_p): Declare.
	* ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo,
	vtable_pointer_value_to_vtable): Constify.
	(contains_polymorphic_type_p): New predicate.
	* ipa-prop.c (ipa_set_jf_known_type): Allow types containing
	polymorphic types.
	(ipa_set_ancestor_jf): Likewise.
	(detect_type_change): Return false in easy cases.
	(compute_complex_assign_jump_func): Require type to contain
	polymorphic type.
	(compute_known_type_jump_func): Likewise.

From-SVN: r212222
2014-07-02 07:48:00 +00:00
Tobias Burnus
a90532fda1 get_array.f90: Add missing SYNC ALL.
2014-07-02  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/get_array.f90: Add missing SYNC ALL.
        * gfortran.dg/coarray/send_array.f90: Ditto.
        * gfortran.dg/coarray/sendget_array.f90: Ditto.

From-SVN: r212220
2014-07-02 08:18:35 +02:00
Jan Hubicka
549bcbd17f tree.c (decls_same_for_odr, [...]): Remove.
* tree.c (decls_same_for_odr, decls_same_for_odr,
	types_same_for_odr): Remove.
	(type_in_anonymous_namespace_p): Constify argument.
	* tree.h (types_same_for_odr, type_in_anonymous_namespace_p):
	Constify.
	* ipa-devirt.c (odr_type_d): Add ODR_VIOLATED field.
	(main_odr_variant): New function.
	(hash_type_name): Make static; update assert; do not ICE on
	non-records.
	(types_same_for_odr): Bring here from tree.c; simplify
	and remove old structural comparing code that doesn't work
	for templates.
	(odr_hasher::equal): Update assert.
	(add_type_duplicate): Return true when bases should be computed;
	replace incomplete loader by complete; do not output duplicated
	warnings; do not ICE on non-records; set odr_violated flag.
	(get_odr_type): Be ready to replace incomplete type by complete
	one; work on ODR variants instead of main variants; reorder item
	in array so bases have still smaller indexes.
	(dump_type_inheritance_graph): Be ready for holdes in odr_types
	array.
	(possible_polymorphic_call_targets): Do not ICE when BINFO is NULL.

From-SVN: r212218
2014-07-02 03:19:45 +00:00
GCC Administrator
5656ccd782 Daily bump.
From-SVN: r212217
2014-07-02 00:17:07 +00:00
Ian Lance Taylor
ffa98da470 runtime: introduce build targets for running benchmarks
This introduces the "bench" build target, which can be used to run
all benchmarks.

It is also possible to run subsets of benchmarks with the
"package/check" build targets by setting GOBENCH to a matching regex.

From-SVN: r212212
2014-07-01 23:19:24 +00:00
Cary Coutant
25eff60deb This patch fixes a couple of ICEs when using -gsplit-dwarf.
When compiling a small-enough compilation unit that has no address table
entries, but complex enough that -freorder-blocks-and-partition produces
location lists, dwarf2out_finish does not call index_location_lists, but
optimize_location_lists will later assume that the addr_index_table has
been indexed.
Google ref: b/15417905

When resolve_addr_in_expr replaces a CONST_STRING rtx, it directly
updates the pointer to the old expression with the new one. In the
case of a DW_OP_GNU_addr_index or DW_OP_GNU_const_index, that pointer
may be in an address table entry, which is keyed by the rtx. Instead
of directly replacing the pointer, we need to remove the old address
table entry (i.e., decrement its reference count), and add a new one.
Google ref: b/15957101

gcc/
	* dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
        lookup.
	(resolve_addr_in_expr): When replacing the rtx in a location list
        entry, get a new address table entry.
	(dwarf2out_finish): Call index_location_lists even if there are no
        addr_index_table entries yet.

From-SVN: r212211
2014-07-01 14:35:41 -07:00
James Greenhalgh
454a17a31e gcc/testsuite/
* gcc.target/aarch64/aapcs64/aapcs64.exp:
	(additional_flags_for_func_ret): New variable based on $additional_flags
	with -fno-use-caller-save.
	(func-ret-*.c): Use the new variable.

Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>

From-SVN: r212206
2014-07-01 17:58:11 +00:00
Paolo Carlini
2a4141aa0d re PR c++/59637 ([c++11] ICE with decltype and destructor call in template)
2014-07-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59637
	* g++.dg/cpp0x/decltype60.C: New.

From-SVN: r212205
2014-07-01 17:25:07 +00:00
Trevor Saunders
6ab56804d0 revert r212197 for apparently not actually being obvious
From-SVN: r212200
2014-07-01 15:56:32 +00:00
Dodji Seketeli
14b1760ca7 Revert "PR preprocessor/60723 - missing system-ness marks for macro tokens"
This reverts commit 747e04f26ac3fb775bfc9af61e9170b9461b6cfc.

From-SVN: r212199
2014-07-01 16:04:37 +02:00
Teresa Johnson
08eedf75a2 Correct ChangeLog entries from r212041.
From-SVN: r212198
2014-07-01 13:37:44 +00:00
Trevor Saunders
5c9130b3ab fix -Wunused-parameter warning in winnt.c
gcc/
	* config/i386/winnt.c (i386_pe_section_type_flags): Removed name
	of unused argument.

From-SVN: r212197
2014-07-01 13:28:03 +00:00
Kyrylo Tkachov
39f9091275 [AArch64] Implement some vca*_f[32,64] intrinsics.
* config/aarch64/arm_neon.h (vcage_f64): New intrinsic.
	(vcagt_f64): Likewise.
	(vcale_f64): Likewise.
	(vcaled_f64): Likewise.
	(vcales_f32): Likewise.
	(vcalt_f64): Likewise.
	(vcaltd_f64): Likewise.
	(vcalts_f32): Likewise.

	* gcc.target/aarch64/simd/vcage_f64.c: New test.
	* gcc.target/aarch64/simd/vcagt_f64.c: Likewise.
	* gcc.target/aarch64/simd/vcale_f64.c: Likewise.
	* gcc.target/aarch64/simd/vcaled_f64.c: Likewise.
	* gcc.target/aarch64/simd/vcales_f32.c: Likewise.
	* gcc.target/aarch64/simd/vcalt_f64.c: Likewise.
	* gcc.target/aarch64/simd/vcaltd_f64.c: Likewise.
	* gcc.target/aarch64/simd/vcalts_f32.c: Likewise.

From-SVN: r212196
2014-07-01 12:32:35 +00:00
Paolo Carlini
f280564356 pr59867.C: Fix target selector.
2014-07-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp1y/pr59867.C: Fix target selector.

From-SVN: r212195
2014-07-01 10:58:11 +00:00
Dodji Seketeli
a0bc22680c PR preprocessor/60723 - missing system-ness marks for macro tokens
When a system macro is expanded in a non-system file during
out-of-line preprocessing, it can happen that the preprocessor forgets
to emit line markers to express the system-ness status of tokens that
come after the expansion of the macro.

That can lead to situations where the entire non-system file can be
considered as being a system file and thus have its warnings be
discarded during the compilation of the resulting preprocessed file.

My understanding is that this is due to the preprocessor not
systematically detecting (and reporting) the change in system-ness of
tokens.

And this is what this patch does.  Each time the system-ness of a
given token is different from the previous token that was emitted by
the preprocessor, it emits a line marker for the sole purpose of
marking the new system-ness of the subsequent tokens to come.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/c-family/ChangeLog:
	* c-ppoutput.c (struct print::prev_was_system_token): New data
	member.
	(init_pp_output): Initialize it.
	(maybe_print_line_1, maybe_print_line, print_line_1, print_line)
	(do_line_change): Return a flag saying if a line marker was
	emitted or not.
	(scan_translation_unit): Detect if the system-ness of the token we
	are about to emit is different from the one of the previously
	emitted token.  If so, emit a line marker.  Avoid emitting
	useless adjacent line markers.
	(scan_translation_unit_directives_only): Adjust.

gcc/testsuite/ChangeLog:
	* gcc.dg/cpp/syshdr{4,5}.{c,h}: New test files.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

From-SVN: r212194
2014-07-01 11:17:14 +02:00
Marek Polacek
52ec0ea334 invoke.texi: Document -Wint-conversion.
* doc/invoke.texi: Document -Wint-conversion.
c-family/
	* c.opt (Wint-conversion): New option.
c/
	* c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
	instead of 0 to WARN_FOR_ASSIGNMENT.
testsuite/
	* gcc.dg/Wint-conversion.c: New test.

From-SVN: r212193
2014-07-01 08:53:12 +00:00
Marek Polacek
d5c3d343bd re PR c/58286 (Need option to make incompatible pointer type warnings into compiler errors)
PR c/58286
	* doc/invoke.texi: Document -Wincompatible-pointer-types.
c-family/
	* c.opt (Wincompatible-pointer-types): New option.
c/
	* c-typeck.c (convert_for_assignment): Pass
	OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
testsuite/
	* gcc.dg/Wincompatible-pointer-types.c: New test.

From-SVN: r212192
2014-07-01 08:31:58 +00:00
Martin Liska
e55637b715 IPA REF alias refactoring
* cgraph.h (iterate_direct_aliases): New function.
	(FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
	* cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
	FOR_EACH_ALIAS added.
	(cgraph_for_node_and_aliases): Likewise.
	* cgraphunit.c (assemble_thunks_and_aliases): Likewise.
	* ipa-inline.c (reset_edge_caches): Likewise.
	(update_caller_keys): Likewise.
	* trans-mem.c (ipa_tm_execute): Likewise.
	*varpool.c (varpool_analyze_node): Likewise.
	(varpool_for_node_and_aliases): Likewise.
	* ipa-ref.h (first_alias): New function.
	(last_alias): Likewise.
	(has_aliases_p): Likewise.
	* ipa-ref.c (ipa_ref::remove_reference): Removal function
	is sensitive to IPA_REF_ALIASes.
	* symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
	are put at the beginning of the list.
	(symtab_node::iterate_direct_aliases): New function.

	* lto-partition.c (add_symbol_to_partition_1): Usage of
	FOR_EACH_ALIAS added.

From-SVN: r212191
2014-07-01 06:45:26 +00:00
David Holsgrove
705c7d5709 scanasm.exp (dg-function-on-line): Add MicroBlaze specific pattern.
2014-06-30  David Holsgrove <david.holsgrove@xilinx.com>

	* gcc/testsuite/lib/scanasm.exp (dg-function-on-line): Add
	MicroBlaze specific pattern.

--This line, and those below, 

M    ChangeLog
M    lib/scanasm.exp

From-SVN: r212189
2014-07-01 05:45:13 +00:00
Tim Shen
05ae5af25a * ChangeLog: Correct the PR id from 61061 to 61601.
From-SVN: r212187
2014-07-01 03:18:17 +00:00
Edward Smith-Rowland
9378b06e5c re PR c++/58781 (Unicode strings broken in a strange way)
cp/

2014-06-28  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR c++/58781
	PR c++/60249
	PR c++/59867
	* parser.c (cp_parser_userdef_string_literal()): Take a tree
	not a cp_token*. (cp_parser_string_literal(): Don't hack
	the token stream!


testsuite/

2014-06-28  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR c++/58781
	PR c++/60249
	PR c++/59867
	* testsuite/g++.dg/cpp0x/pr58781.C: New.
	* testsuite/g++.dg/cpp0x/pr60249.C: New.
	* testsuite/g++.dg/cpp1y/pr59867.C: New.

From-SVN: r212186
2014-07-01 03:13:17 +00:00
Tim Shen
5bcb66dffa re PR testsuite/61061 (FAIL: g++.dg/inherit/covariant7.C)
PR libstdc++/61061
	PR libstdc++/61582
	* include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
	a NFA state limit. If it's exceeded, regex_constants::error_space
	will be throwed.
	* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
	map (which is sparse) instead of vector. This reduce n times clones'
	cost from O(n^2) to O(n).
	* include/std/regex: Add map dependency.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
	testcase.

From-SVN: r212185
2014-07-01 03:05:45 +00:00
Tim Shen
ad9ec7b3c5 re PR libstdc++/61424 (std::regex matches right to left, not leftmost longest)
PR libstdc++/61424
	* include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
	not just regex containing back-references.
	* include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
	exchange _M_next and _M_alt for alternative operator,
	making matching from left to right.
	* include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
	Add position tracking fom DFS.
	* include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
	_Executor<>::_M_dfs): Likewise.
	* include/bits/regex_scanner.h: Remove unused enum entry.
	* testsuite/28_regex/algorithms/regex_search/61424.cc: New
	testcase from PR.

From-SVN: r212184
2014-07-01 02:10:31 +00:00
Tim Shen
25f28ff0ea * MAINTAINERS: Update my email address.
From-SVN: r212183
2014-07-01 01:46:57 +00:00
GCC Administrator
1eef638a7a Daily bump.
From-SVN: r212182
2014-07-01 00:16:57 +00:00
Jan Hubicka
010f4e272f revert: tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type is complete.
Revert:
	* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
	is complete.
	(write_ts_type_common_tree_pointers): Do not stream fields not set for incomplete
	types; do not stream duplicated fields for variants; sanity check that variant
	and type match.
	(write_ts_type_non_common_tree_pointers): Likewise.
	* tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in TYPE_SIZE whether
	type is complete.
	(lto_input_ts_type_common_tree_pointers): Do same changes as in
	write_ts_type_common_tree_pointers
	(lto_input_ts_type_non_common_tree_pointers): Likewise.

	* lto.c (lto_copy_fields_not_streamed): New function.
	(compare_tree_sccs_1): Do not compare fields shared in between type
	and variant.
	(lto_read_decls): Fixup types first before inserting into hash.

From-SVN: r212179
2014-06-30 22:18:25 +00:00
Joseph Myers
0ca5983055 var-tracking.c (add_stores): Return instead of asserting if old and new values for conditional store are the...
* var-tracking.c (add_stores): Return instead of asserting if old
	and new values for conditional store are the same.

From-SVN: r212178
2014-06-30 21:53:33 +01:00
Jason Merrill
5796bf3422 re PR ipa/61659 (Extra undefined symbol because of devirtualization)
PR c++/61659
	PR lto/53808
gcc/cp
	* decl2.c (maybe_emit_vtables): Mark all vtable entries if
	devirtualizing.
	* init.c (build_vtbl_address): Don't mark destructor.
	* class.c (finish_struct_1): Add all classes to keyed_classes
	if devirtualizing.
libstdc++-v3/
	* libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
	is pure, not inline.

From-SVN: r212174
2014-06-30 16:20:55 -04:00
Richard Henderson
fc56f9d284 re PR rtl-optimization/61608 (FAIL: gcc.target/arm/epilog-1.c scan-assembler tests)
PR rtl-opt/61608

        PR target/39284
        * bb-reorder.c (pass_duplicate_computed_gotos::execute): Cleanup
        the cfg if there were any changes.
        * passes.def: Revert move of peephole2 after reorder_blocks;
        move duplicate_computed_gotos before peephole2.

From-SVN: r212172
2014-06-30 13:14:42 -07:00
Uros Bizjak
a4a51a5262 except.c (emit_note_eh_region_end): New helper function.
* except.c (emit_note_eh_region_end): New helper function.
	(convert_to_eh_region_ranges): Use emit_note_eh_region_end to
	emit EH_REGION_END note.
	* jump.c (cleanup_barriers): Do not split a call and its
	corresponding CALL_ARG_LOCATION note.

From-SVN: r212171
2014-06-30 21:30:52 +02:00
Uros Bizjak
5acd5cf072 ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r212170
2014-06-30 21:29:02 +02:00
Bill Schmidt
96a4066f86 round_4.f90: Skip for powerpc*-*-linux* since the test requires greater precision than the...
2014-06-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gfortran.dg/round_4.f90: Skip for powerpc*-*-linux* since the
	test requires greater precision than the current PowerPC long
	double implementation supports.

From-SVN: r212169
2014-06-30 19:21:12 +00:00
Jason Merrill
f36ae62867 re PR c++/61647 (internal compiler error: in push_access_scope, at cp/pt.c:219 for a c++ header, clang++ 3.4 generate .pch without error)
PR c++/61647
	* pt.c (type_dependent_expression_p): Check BASELINK_OPTYPE.

From-SVN: r212168
2014-06-30 15:09:57 -04:00
Jason Merrill
cae7c96095 re PR c++/61566 (ICE in write_unscoped_name)
PR c++/61566
	* mangle.c (decl_mangling_context): Look through a TEMPLATE_DECL.

From-SVN: r212165
2014-06-30 14:51:29 -04:00
Jason Merrill
1d7e2ec760 decl.c (build_ptrmemfunc_type): Don't give a PMF RECORD_TYPE TYPE_BINFO or TYPE_LANG_SPECIFIC.
* decl.c (build_ptrmemfunc_type): Don't give a PMF RECORD_TYPE
	TYPE_BINFO or TYPE_LANG_SPECIFIC.
	* cp-tree.h (TYPE_PTRMEMFUNC_FLAG): Use TYPE_LANG_FLAG_2.
	(TYPE_PTRMEMFUNC_P): Don't expect TYPE_LANG_SPECIFIC.
	* typeck.c (build_ptrmemfunc_access_expr): Don't use lookup_member.
	* pt.c (unify): Also check whether the argument is a PMF.

From-SVN: r212164
2014-06-30 14:51:22 -04:00
Paolo Carlini
17adeaa773 re PR c++/54891 ([C++11] lambda-expression and explicit type conversion (cast notation))
/cp
2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54891
	* parser.c (cp_parser_tokens_start_cast_expression): In C++11
	a '[' can also start a primary-expression.
	(cp_parser_cast_expression): Parse a cast-expression only tentatively
	when cp_parser_tokens_start_cast_expression returns -1.

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

	PR c++/54891
	* g++.dg/cpp0x/lambda/lambda-cast1.C: New.

From-SVN: r212162
2014-06-30 18:30:50 +00:00
Paolo Carlini
6e7ceb171d re PR c++/51400 ([c++0x] ICE with constexpr and attribute noreturn)
/c-family
2014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51400
	* c-common.c (handle_noreturn_attribute, handle_const_attribute):
	Do not discard TYPE_QUALS of type.

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

	PR c++/51400
	* g++.dg/cpp0x/constexpr-attribute3.C: New.

From-SVN: r212155
2014-06-30 15:41:16 +00:00
Jason Merrill
e8b27b0809 re PR c++/61539 (ICE: in unify_one_argument, at cp/pt.c:15465)
PR c++/61539
	* pt.c (unify_one_argument): Type/expression mismatch just causes
	deduction failure.

From-SVN: r212154
2014-06-30 11:11:14 -04:00
Jason Merrill
71d1add363 semantics.c (simplify_aggr_init_expr): Remove remnants of 2014-04-11 change.
* semantics.c (simplify_aggr_init_expr): Remove remnants of
	2014-04-11 change.

From-SVN: r212153
2014-06-30 11:11:07 -04:00
Jeff Law
4f82fed2f6 tree-ssa-threadedge.c (simplify_control_stmt_condition): Look deeper into the SSA_NAME_VALUE chain.
tree-optimization/61607
	* tree-ssa-threadedge.c (simplify_control_stmt_condition): Look
	deeper into the SSA_NAME_VALUE chain.

	tree-optimization/61607
	* gcc.dg/tree-ssa/pr61607.c: New test.

From-SVN: r212149
2014-06-30 08:08:50 -06:00
Marek Polacek
6a7253a4a9 convert.c (convert_to_integer): Don't instrument conversions if the function has no_sanitize_undefined attribute.
* convert.c (convert_to_integer): Don't instrument conversions if the
	function has no_sanitize_undefined attribute.
	* ubsan.c: Don't run the ubsan pass if the function has
	no_sanitize_undefined attribute.
c/
	* c-decl.c (grokdeclarator): Don't instrument VLAs if the function
	has no_sanitize_undefined attribute.
cp/
	* cp-gimplify.c (cp_genericize): Don't instrument returns if the
	function has no_sanitize_undefined attribute.
	* decl.c (compute_array_index_type): Don't instrument VLAs if the
	function has no_sanitize_undefined attribute.
testsuite/
	* c-c++-common/ubsan/attrib-2.c: New test.
	* g++.dg/ubsan/return-3.C: New test.

From-SVN: r212148
2014-06-30 13:15:20 +00:00
Jakub Jelinek
670d96d730 invoke.texi (-fsanitize=bounds): Move to the table with -fsanitize=undefined suboptions.
* doc/invoke.texi (-fsanitize=bounds): Move to the table with
	-fsanitize=undefined suboptions.

From-SVN: r212146
2014-06-30 14:52:30 +02:00
Alan Lawrence
f7c4e5b837 [AArch64] fix and enable non-const shuffle for bigendian using TBL instruction
* config/aarch64/aarch64-simd.md (vec_perm): Enable for bigendian.
	* config/aarch64/aarch64.c (aarch64_expand_vec_perm): Remove assert
	against bigendian and adjust indices.

From-SVN: r212142
2014-06-30 11:07:58 +00:00
Gerald Pfeifer
10e4b63297 * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit.
From-SVN: r212140
2014-06-30 09:43:19 +00:00
Igor Zamyatin
5e88a8f4fb re PR middle-end/57541 ([Cilkplus]: internal compiler error: in gimplify_expr, at gimplify.c:7809)
PR middle-end/57541
gcc/c/
	* c-array-notation.c (fix_builtin_array_notation_fn):
	Check for 0 arguments in builtin call. Check that bultin argument is
	correct.
	* c-parser.c (c_parser_array_notation): Check for incorrect initial
	index.

gcc/cpp/
	* cp-array-notation.c (expand_sec_reduce_builtin):
	Check that bultin argument is correct.
	* call.c (build_cxx_call): Check for 0 arguments in builtin call.

gcc/testsuite/
	* c-c++-common/cilk-plus/AN/pr57541.c: New case added.
	* c-c++-common/cilk-plus/AN/pr57541-2.c: New test.

From-SVN: r212138
2014-06-30 08:14:39 +00:00
Marcus Shawcroft
21a7b5e1db [AArch64] Fix register clobber in, aarch64_ashr_sisd_or_int_<mode>3 split.
PR target/61633

The two split patterns associated with
aarch64_ashr_sisd_or_int_<mode>3 split the instruction into a NEG
followed by an SHL.  The split uses one of the input operands as a
scratch register to hold the output of the NEG resulting in register
corruption.

This patch adjusts the splits to use the output operand as the scratch
register.

2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>

       PR target/61633
       * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
       Add alternative; make early clobber.  Adjust both split patterns
       to use operand 0 as the working register.

From-SVN: r212137
2014-06-30 07:54:59 +00:00
Jakub Jelinek
85c00e0b91 ira-build.c (sort_conflict_id_map): Don't call qsort if num is 0, as ira_object_id_map might be NULL, or 1.
* ira-build.c (sort_conflict_id_map): Don't call
	qsort if num is 0, as ira_object_id_map might be NULL, or 1.

From-SVN: r212136
2014-06-30 09:33:41 +02:00
Zhenqiang Chen
51a6916856 loop-invariant.c (get_inv_cost): Handle register class.
ChangeLog:
2014-06-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* loop-invariant.c (get_inv_cost): Handle register class.
	(gain_for_invariant): Check the register pressure of the inv
	and its overlapped register class, other than all.

testsuite/ChangeLog:
2014-06-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* ira-loop-pressure.c: New test.

From-SVN: r212135
2014-06-30 03:36:47 +00:00