Commit Graph

142339 Commits

Author SHA1 Message Date
Steve Baird
0fe797c584 2015-11-12 Steve Baird <baird@adacore.com>
* sem_ch6.adb (Analyze_Procedure_Call) If CodePeer_Mode is True,
	do not analyze the expression of a machine code insertion.
	* sem_ch13.adb (Analyze_Code_Statement) If CodePeer_Mode is True,
	mark the N_Code_Statement node as analyzed and do nothing else.

From-SVN: r230225
2015-11-12 11:44:37 +01:00
Arnaud Charlet
b420ba79de [multiple changes]
2015-11-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Check_Limited_Return): Make global to package
	for use elsewhere.
	(Analyze_Expression_Function): Remove duplicated code, pre-analyze
	expression to capture names and call Check_Limited_Return so
	that semantic checks are identical to those for regular functions
	returning limited types.

2015-11-12  Gary Dismukes  <dismukes@adacore.com>

	* bindgen.adb: Fix typo.
	* sem_ch6.adb: Minor reformatting.

2015-11-12  Emmanuel Briot  <briot@adacore.com>

	* s-os_lib.adb (Argument_String_To_List): fix handling of
	windows separators

From-SVN: r230224
2015-11-12 11:43:33 +01:00
Christian Bruel
465f1e5d63 mmx-1.c: Adjust for unified asm.
2015-11-12  Christian Bruel  <christian.bruel@st.com>

	* gcc.target/arm/mmx-1.c: Adjust for unified asm.

From-SVN: r230223
2015-11-12 11:20:29 +01:00
Renlin Li
87494f5569 [PATCH][ARM]Fix addsi3_compare_op2 pattern.
gcc/

2015-11-12  Renlin Li  <renlin.li@arm.com>

	* config/arm/arm.md (addsi3_compare_op2): Make the order of
	assembly pattern consistent with constraint order.

From-SVN: r230222
2015-11-12 10:14:35 +00:00
Jonathan Wakely
53dc6fb862 * include/experimental/bits/string_view.tcc: Fix doxygen @file.
From-SVN: r230221
2015-11-12 10:08:49 +00:00
Tom de Vries
73064edc3a gen-pass-instances.awk: Simplify match regexp in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Simplify match regexp.

From-SVN: r230220
2015-11-12 10:02:58 +00:00
Tom de Vries
c741b3dd5e gen-pass-instances.awk: Simplify init of postfix_starts_at in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Simplify init of
	postfix_starts_at.

From-SVN: r230219
2015-11-12 10:02:49 +00:00
Tom de Vries
b2a3c016f3 gen-pass-instances.awk: Rename var where to call_starts_at in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Rename var where to
	call_starts_at.

From-SVN: r230218
2015-11-12 10:02:40 +00:00
Claudiu Zissulescu
b1a827517a arc.c (gen_compare_reg): Swap operands also when we do not expand to rtl.
2015-11-11  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.c (gen_compare_reg): Swap operands also when we
	do not expand to rtl.

From-SVN: r230217
2015-11-12 10:28:19 +01:00
Richard Biener
3826795b8c re PR tree-optimization/58497 (SLP vectorizes identical operations)
2015-11-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58497
	* tree-vect-generic.c: Include gimplify.h.
	(tree_vec_extract): Lookup constant/constructor DEFs.
	(do_cond): Unshare cond.

From-SVN: r230216
2015-11-12 09:00:37 +00:00
Uros Bizjak
c471289ac8 i386.c (ix86_legitimate_combined_insn): Reject combined insn if the alignment of vector mode memory operand is less...
* config/i386/i386.c (ix86_legitimate_combined_insn): Reject
	combined insn if the alignment of vector mode memory operand
	is less than ssememalign.

testsuite/ChangeLog:

	* gcc.target/i386/sse-1.c (swizzle): Assume that a is
	aligned to 64 bits.

From-SVN: r230215
2015-11-12 09:11:11 +01:00
Tom de Vries
61fb1f74fe gen-pass-instances.awk: Make print command clearer in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Print parentheses and pass_name
	explicitly.

From-SVN: r230213
2015-11-12 07:31:47 +00:00
Tom de Vries
504943f42f gen-pass-instances.awk: Add pass_num, prefix and postfix vars in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Add pass_num, prefix and postfix
	vars.

From-SVN: r230212
2015-11-12 07:31:38 +00:00
Tom de Vries
9fa1a40255 gen-pass-instances.awk: Add comments in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Add comments.

From-SVN: r230211
2015-11-12 07:31:30 +00:00
Tom de Vries
7d3e64f727 gen-pass-instances.awk: Rename len_of_end to len_of_close in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Rename len_of_end to
	len_of_close.

From-SVN: r230210
2015-11-12 07:31:22 +00:00
Tom de Vries
0f73e6679b gen-pass-instances.awk: Add len_of_call var in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Add len_of_call variable.

From-SVN: r230209
2015-11-12 07:31:13 +00:00
Tom de Vries
d2616f3df6 gen-pass-instances.awk: Use early-out in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Restructure using early-out.

From-SVN: r230208
2015-11-12 07:31:01 +00:00
Tom de Vries
2182471e3c gen-pass-instances.awk: Unify semicolon use in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Unify semicolon use.

From-SVN: r230207
2015-11-12 07:30:52 +00:00
Tom de Vries
3d0ceb985f gen-pass-instances.awk: Remove unused var in handle_line
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk (handle_line): Remove unused var line_length.

From-SVN: r230206
2015-11-12 07:30:44 +00:00
Tom de Vries
a3a5ff4286 gen-pass-instances.awk: Add emacs indent setting
2015-11-12  Tom de Vries  <tom@codesourcery.com>

	* gen-pass-instances.awk: Add emacs indent setting.

From-SVN: r230205
2015-11-12 07:30:32 +00:00
Naveen H.S
5711ac884b fold-const.c (fold_binary_loc): Move Convert A/B/C to A/(B*C) to match.pd.
2015-11-12  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C)
	to match.pd.
	Move Convert A/(B/C) to (A/B)*C to match.pd.
	Move Convert C1/(X*C2) into (C1/C2)/X to match.pd.
	Move Optimize (X & (-A)) / A where A is a power of 2, to
	X >> log2(A) to match.pd.

	* match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier.
	(rdiv @0 (rdiv:s @1 @2)): New simplifier.
	(div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2):
	New simplifier.
	(rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier.

From-SVN: r230204
2015-11-12 05:34:54 +00:00
Charles Baylis
ab68f86562 [ARM] remove unused variable
gcc/Changelog

2015-11-12  Charles Baylis  <charles.baylis@linaro.org>

        * config/arm/neon.md: (neon_vld2_lane<mode>): Remove unused max
        variable.
        (neon_vst2_lane<mode>): Likewise.
        (neon_vld3_lane<mode>): Likewise.
        (neon_vst3_lane<mode>): Likewise.
        (neon_vld4_lane<mode>): Likewise.
        (neon_vst4_lane<mode>): Likewise.

From-SVN: r230203
2015-11-12 02:24:24 +00:00
Jason Merrill
9e4c469a24 decl.c (duplicate_decls): When combining typedefs, remove the new type from the variants list.
* decl.c (duplicate_decls): When combining typedefs, remove the
	new type from the variants list.

From-SVN: r230202
2015-11-11 20:16:59 -05:00
Jason Merrill
c7360ed2f9 pt.c (instantiate_class_template_1): Set function_depth around instantiation of lambda op().
* pt.c (instantiate_class_template_1): Set function_depth around
	instantiation of lambda op().

From-SVN: r230201
2015-11-11 19:53:19 -05:00
Aditya Kumar
65b016eb13 Preserve the original program while using graphite.
Earlier, graphite used to translate portions of the original program after
scop-detection in order to represent the SCoP into polyhedral model.  This was
required because each basic block was represented as independent basic block in
the polyhedral model. So all the cross-basic-block dependencies were translated
out-of-ssa.

With this patch those dependencies are also exposed to the ISL, so there is no
need to modify the original structure of the program.

After this patch we should be able to enable graphite at some default
optimization level.

Highlights:
Remove cross bb scalar to array translation
For reductions, add support for more than just INT_CST
Early bailout on codegen.
Verify loop-closed ssa structure during copy of renames
The uses of exprs should come from bb which dominates the bb
Collect the init value of close phi in loop-guard
Do not follow vuses for close-phi, postpone loop-close phi until the
    corresponding loop-phi is processed
Bail out if no bb found to place cond/loop -phis
Move insertion of liveouts at the end of codegen
Insert loop-phis in the loop-header.

This patch passes regtest and bootstrap with BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize'

2015-11-11  Aditya Kumar  <aditya.k7@samsung.com>
      Sebastian Pop  <s.pop@samsung.com>

	* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
	  New member codegen_error
	(translate_isl_ast_for_loop): Remove call to single_succ_edge and early return.
	(translate_isl_ast_node_user): Early return in case of error.
	(translate_isl_ast_to_gimple::translate_isl_ast): Same.
	(translate_isl_ast_to_gimple::translate_pending_phi_nodes): New.
	(add_parameters_to_ivs_params): Remove macro.
	(graphite_regenerate_ast_isl): Add if_region pointer to region.
	* graphite-poly.c (new_poly_dr): Remove macro.
	(print_pdr): Same.
	(new_gimple_poly_bb): Same.
	(free_gimple_poly_bb): Same.
	(print_scop_params): Same.
	* graphite-poly.h (struct poly_dr): Same.
	(struct poly_bb): Add new_bb.
	(gbb_from_bb): Remove dead code.
	(pbb_from_bb): Same.
	* graphite-scop-detection.c (parameter_index_in_region_1): Same.
	(parameter_index_in_region): Same.
	(find_scop_parameters): Same.
	(build_cross_bb_scalars_def): New.
	(build_cross_bb_scalars_use): New.
	(graphite_find_cross_bb_scalar_vars): New
	(try_generate_gimple_bb): Reads and Writes.
	(build_alias_set): Move.
	(gather_bbs::before_dom_children): Gather bbs visited.
	(build_scops): call build_alias_set.
	* graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete.
	(remove_simple_copy_phi): Delete.
	(remove_invariant_phi): Delete.
	(simple_copy_phi_p): Delete.
	(reduction_phi_p): Delete.
	(isl_id_for_dr): Remove unused param.
	(parameter_index_in_region_1): Remove macro usage.
	(set_scop_parameter_dim): Same.
	(add_param_constraints): Same.
	(add_conditions_to_constraints): Same
	(build_scop_iteration_domain): Same.
	(pdr_add_alias_set): Comment.
	(add_scalar_version_numbers): New.
	(build_poly_dr): ISL id.
	(build_scop_drs): Move.
	(build_poly_sr_1): Same.
	(insert_stmts): Remove.
	(build_poly_sr): New.
	(new_pbb_from_pbb): Delete.
	(insert_out_of_ssa_copy_on_edge): Delete.
	(create_zero_dim_array): Delete.
	(scalar_close_phi_node_p): Delete.
	(propagate_expr_outside_region): Delete.
	(rewrite_close_phi_out_of_ssa): Delete.
	(rewrite_phi_out_of_ssa): Delete.
	(rewrite_degenerate_phi): Delete.
	(rewrite_reductions_out_of_ssa): Delete.
	(rewrite_cross_bb_scalar_dependence): Delete.
	(handle_scalar_deps_crossing_scop_limits):
	(rewrite_cross_bb_scalar_deps): Delete.
	(build_poly_scop): Remove calls to out-of-ssa functions.
	* graphite.c (graphite_transform_loops): Early return in case of codegen error.
	* sese.c (debug_rename_map_1): Delete.
	(debug_rename_map): Delete.
	(sese_record_loop): Remove macro.
	(build_sese_loop_nests): Same.
	(new_sese_info): Same.
	(free_sese_info): Same.
	(sese_insert_phis_for_liveouts):
	(is_loop_closed_ssa_use): New.
	(number_of_phi_nodes): New.
	(bb_contains_loop_close_phi_nodes): New.
	(bb_contains_loop_phi_nodes): New.
	(phi_uses_name): New.
	(is_valid_rename):
	(get_rename): Add old_bb and loop_phi for more precise matching of
	exprs.
	(set_rename): Pass region.
	(later_of_the_two): New.
	(gsi_insert_earliest): New.
	(collect_all_ssa_names): New.
	(substitute_ssa_name): New.
	(rename_all_uses): New.
	(get_rename_from_scev): New.
	(rename_uses): Pass old_bb for more precise matching of exprs.
	(get_def_bb_for_const): New.
	(get_new_name): New.
	(get_loc): New.
	(get_edges): New.
	(copy_loop_phi_args): New.
	(copy_loop_phi_nodes): New.
	(get_loop_init_value): New.
	(find_init_value): New.
	(find_init_value_close_phi): New.
	(copy_loop_close_phi_args): New.
	(copy_loop_close_phi_nodes): New.
	(add_phi_arg_for_new_expr): New.
	(copy_cond_phi_args): New.
	(copy_cond_phi_nodes): New.
	(copy_phi_nodes): New.
	(should_copy_to_new_region): New.
	(set_rename_for_each_def): New.
	(graphite_copy_stmts_from_block): Early return in case of error.
	(copy_bb_and_scalar_dependences): Same.
	* sese.h (vec_find): New.
	(SESE_PARAMS): Delete.
	(SESE_LOOPS): Delete.
	(SESE_LOOP_NEST): Delete.
	(sese_contains_loop): Remove macro usage.
	(sese_nb_params): Same.
	(struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r230200
2015-11-12 00:37:47 +00:00
GCC Administrator
f891c4f0b3 Daily bump.
From-SVN: r230199
2015-11-12 00:16:11 +00:00
David Edelsohn
42aa1c4280 * gcc.dg/pr65521.c: Fail on AIX.
From-SVN: r230195
2015-11-11 16:32:09 -05:00
Abderrazek Zaafrani
eefa4bafa5 improve construction of the original schedule
The patch builds the original schedule based on the now optimized scattering
dimension instead of building one based on the loop index only.

The implementation is simpler and catches more cases where the original schedule
and the transformed schedule are the same, such as the one below:

for (i = 0; i < 1000; i++)
{
  Temp = F[i];
  for (j = 0; j < 1000; j++)
 {
    D[j] = E[j]  * Temp;
    A[i][j] = A[i][j]  + B[i][j] * C[i][j] - D[j] ;
  }
  D[i] = E[i] * F[i];
}

  * graphite-sese-to-poly.c (build_scop_original_schedule): Call
  isl_union_map_add_map on every pbb->schedule.

From-SVN: r230191
2015-11-11 20:43:51 +00:00
Sebastian Pop
d82f8c85fc add testsuite automatic dg-options and dg-do action for isl-ast-gen-* and fuse-* files
* gcc.dg/graphite/fuse-1.c: Adjust pattern.  Remove dg-do.
        * gcc.dg/graphite/fuse-2.c: Same.
        * gcc.dg/graphite/graphite.exp (opt_files): Add fuse-*.c and
        isl-ast-gen-*.c files.
        * gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove dg-do and dg-options.
        * gcc.dg/graphite/isl-ast-gen-blocks-2.c: Same.
        * gcc.dg/graphite/isl-ast-gen-blocks-3.c: Same.
        * gcc.dg/graphite/isl-ast-gen-blocks-4.c: Same.
        * gcc.dg/graphite/isl-ast-gen-if-1.c: Same.
        * gcc.dg/graphite/isl-ast-gen-if-2.c: Same.
        * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Same.
        * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Same.
        * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Same.
        * gcc.dg/graphite/isl-ast-gen-user-1.c: Same.
        * gcc.dg/graphite/isl-codegen-loop-dumping.c: Remove.

From-SVN: r230190
2015-11-11 20:43:45 +00:00
Tom de Vries
a6f4d493ba Make create_parallel_loop return void
2015-11-11  Tom de Vries  <tom@codesourcery.com>

	* tree-parloops.c (create_parallel_loop): Return void.

From-SVN: r230189
2015-11-11 20:22:22 +00:00
Tom de Vries
d42ba2d233 Insert new exit block only when needed in transform_to_exit_first_loop_alt
2015-11-11  Tom de Vries  <tom@codesourcery.com>

	* tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit
	block only when needed.

From-SVN: r230188
2015-11-11 20:22:12 +00:00
Jonathan Wakely
c5bd8d521a * libsupc++/new_handler.cc: Fix for explicit constructor change.
From-SVN: r230184
2015-11-11 17:29:39 +00:00
Jonathan Wakely
f55e699d3d Loop in std::this_thread sleep functions
PR libstdc++/60421
	* include/std/thread (this_thread::sleep_for): Retry on EINTR.
	(this_thread::sleep_until): Retry if time not reached.
	* src/c++11/thread.cc (__sleep_for): Retry on EINTR.
	* testsuite/30_threads/this_thread/60421.cc: Test interruption and
	non-steady clocks.

From-SVN: r230183
2015-11-11 17:08:51 +00:00
Uros Bizjak
f83e226207 alpha-protos.h (print_operand): Remove.
* config/alpha/alpha-protos.h (print_operand): Remove.
	(print_operand_address): Remove.
	* config/alpha/alpha.h (PRINT_OPERAND): Remove.
	(PRINT_OPERAND_ADDRESS): Remove.
	(PRINT_OPERAND_PUNCT_VALID_P): Remove.
	* config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define.
	(TARGET_PRINT_OPERAND_ADDRESS): New hook define.
	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
	(print_operand_address): Rename to...
	(alpha_print_operand_address): ...this and make static.
	(print_operand): Rename to...
	(alpha_print_operand): ...this and make static.
	(alpha_print_operand_punct_valid_p): New static function.

From-SVN: r230181
2015-11-11 17:17:47 +01:00
Ville Voutilainen
e3907f12a5 Correct the Changelog date of the previous commit.
From-SVN: r230177
2015-11-11 16:56:17 +02:00
Ville Voutilainen
269fa2a91b LWG 2510, make the default constructors of library tag types explicit.
2015-11-10  Ville Voutilainen  <ville.voutilainen@gmail.com>

	LWG 2510, make the default constructors of library tag types
	explicit.
	* include/bits/mutex.h (defer_lock_t, try_lock_t,
	adopt_lock_t): Add an explicit default constructor.
	* include/bits/stl_pair.h (piecewise_construct_t): Likewise.
	* include/bits/uses_allocator.h (allocator_arg_t): Likewise.
	* libsupc++/new (nothrow_t): Likewise.
	* testsuite/17_intro/tag_type_explicit_ctor.cc: New.

From-SVN: r230175
2015-11-11 16:47:19 +02:00
Marek Polacek
e78bede6f7 re PR c/68107 (Non-VLA type whose size is half or more of the address space constructed via a pointer)
PR c/68107
	PR c++/68266
	* c-common.c (valid_array_size_p): New function.
	* c-common.h (valid_array_size_p): Declare.

	* c-decl.c (grokdeclarator): Call valid_array_size_p.  Remove code
	checking the size of an array.

	* decl.c (grokdeclarator): Call valid_array_size_p.  Remove code
	checking the size of an array.

	* c-c++-common/pr68107.c: New test.
	* g++.dg/init/new38.C (large_array_char): Adjust dg-error.
	(large_array_char_template): Likewise.
	* g++.dg/init/new44.C: Adjust dg-error.

From-SVN: r230174
2015-11-11 14:47:03 +00:00
Richard Biener
a5b50aa1fb tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment): Declare.
2015-11-11  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment):
	Declare.
	(vect_analyze_data_refs_alignment): Make loop vect specific.
	(vect_verify_datarefs_alignment): Likewise.
	* tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences):
	Add missing continue.
	(vect_compute_data_ref_alignment): Export.
	(vect_compute_data_refs_alignment): Merge into...
	(vect_analyze_data_refs_alignment): ... this.
	(verify_data_ref_alignment): Split out from ...
	(vect_verify_datarefs_alignment): ... here.
	(vect_slp_analyze_and_verify_node_alignment): New function.
	(vect_slp_analyze_and_verify_instance_alignment): Likewise.
	* tree-vect-slp.c (vect_supported_load_permutation_p): Remove
	misplaced checks on alignment.
	(vect_slp_analyze_bb_1): Add fatal output parameter.  Do
	alignment analysis after SLP discovery and do it per instance.
	(vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not
	bother to re-try using different vector sizes.

From-SVN: r230173
2015-11-11 14:40:36 +00:00
Dominique d'Humieres
4ac93c7cf6 re PR bootstrap/68271 (Boostrap fails on x86_64-apple-darwin14 at r230084)
gcc/cp/ChangeLog
2015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>

	PR bootstrap/68271
	* parser.h (cp_token): Update pragma_kind to 8.

gcc/c-family/ChangeLog
2015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>

	PR bootstrap/68271
	* c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.

From-SVN: r230172
2015-11-11 15:30:16 +01:00
Andrew MacLeod
bd94906f98 count-headers: Initial file.
2015-11-11  Andrew MacLeod  <amacleod@redhat.com>

	* count-headers: Initial file.
	* gcc-order-headers: Initial file.
	* graph-header-logs: Initial file.
	* graph-include-web: Initial file.
	* headerutils.py: Initial file.
	* included-by: Initial file.
	* README: Initial file.
	* reduce-headers: Initial file.
	* replace-header: Initial file.
	* show-headers: Initial file.

From-SVN: r230171
2015-11-11 14:28:46 +00:00
Eric Botcazou
7337ccc4b2 re PR target/67265 ([x86] 'asm' operand has impossible constraints with -fstack-check)
PR target/67265
	* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.

From-SVN: r230170
2015-11-11 14:24:39 +00:00
Nathan Sidwell
182190f2b3 gimplify.c (enum omp_region_type): Add ORT_ACC, ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS.
gcc/
	* gcc/gimplify.c (enum  omp_region_type): Add ORT_ACC,
	ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS.  Adjust ORT_NONE.
	(gimple_add_tmp_var): Add ORT_ACC checks.
	(gimplify_var_or_parm_decl): Likewise.
	(omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a
	mask.
	(omp_add_variable): Look in outer contexts for openacc and allow
	reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA
	checks.
	(omp_notice_variable, omp_is_private, omp_check_private): Add
	ORT_ACC checks.
	(gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE.
	Permit private openacc reductions.
	(gimplify_oacc_cache): Specify ORT_ACC.
	(gimplify_omp_workshare): Adjust OpenACC region types.
	(gimplify_omp_target_update): Likewise.
	* gcc/omp-low.c (scan_sharing_clauses): Remove Openacc
	firstprivate sorry.
	(lower-rec_input_clauses): Don't handle openacc firstprivate
	references here.
	(lower_omp_target): Emit initializers for openacc firstprivate vars.

	gcc/testsuite/
	* gfortran.dg/goacc/private-3.f95: Remove xfail.
	* gfortran.dg/goacc/combined_loop.f90: Remove xfail.

	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Remove xfail.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Remove xfail.
	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r230169
2015-11-11 14:24:09 +00:00
Eric Botcazou
7700cd858f re PR target/67265 ([x86] 'asm' operand has impossible constraints with -fstack-check)
PR target/67265
	* ira.c (ira_setup_eliminable_regset): Do not necessarily create the
	frame pointer for stack checking if non-call exceptions aren't used.
	* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.

From-SVN: r230168
2015-11-11 14:22:43 +00:00
Segher Boessenkool
0bf5130af0 rs6000: Extend 20050603-3.c testcase to 64-bit
The testcase used to fail on 64-bit, but it was disabled there.
This patch makes it run there, and beefs up the checking of the
generated code a bit.


gcc/testsuite/
	* gcc.target/powerpc/20050603-3.c: Don't restrict to ilp32.  Do more
	tests for the expected generated code.

From-SVN: r230167
2015-11-11 15:21:25 +01:00
Andrew MacLeod
69f293c908 decl.c: Remove unused header files.
ada

	* gcc-interface/decl.c: Remove unused header files.
	* gcc-interface/misc.c: Likewise.
	* gcc-interface/targtyps.c: Likewise.
	* gcc-interface/trans.c: Likewise.
	* gcc-interface/utils.c: Likewise.
c

	* c-array-notation.c: Remove unused header files.
	* c-aux-info.c: Likewise.
	* c-convert.c: Likewise.
	* c-decl.c: Likewise.
	* c-errors.c: Likewise.
	* c-lang.c: Likewise.
	* c-objc-common.c: Likewise.
	* c-parser.c: Likewise.
	* c-typeck.c: Likewise.
	* gccspec.c: Likewise.

c-family

	* array-notation-common.c: Remove unused header files.
	* c-ada-spec.c: Likewise.
	* c-cilkplus.c: Likewise.
	* c-common.c: Likewise.
	* c-cppbuiltin.c: Likewise.
	* c-dump.c: Likewise.
	* c-format.c: Likewise.
	* c-gimplify.c: Likewise.
	* c-indentation.c: Likewise.
	* c-lex.c: Likewise.
	* c-omp.c: Likewise.
	* c-opts.c: Likewise.
	* c-pch.c: Likewise.
	* c-ppoutput.c: Likewise.
	* c-pragma.c: Likewise.
	* c-pretty-print.c: Likewise.
	* c-semantics.c: Likewise.
	* c-ubsan.c: Likewise.
	* cilk.c: Likewise.
	* stub-objc.c: Likewise.

cp

	* call.c: Remove unused header files.
	* class.c: Likewise.
	* constexpr.c: Likewise.
	* cp-array-notation.c: Likewise.
	* cp-cilkplus.c: Likewise.
	* cp-gimplify.c: Likewise.
	* cp-lang.c: Likewise.
	* cp-objcp-common.c: Likewise.
	* cp-ubsan.c: Likewise.
	* cvt.c: Likewise.
	* cxx-pretty-print.c: Likewise.
	* decl.c: Likewise.
	* decl2.c: Likewise.
	* dump.c: Likewise.
	* error.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* friend.c: Likewise.
	* g++spec.c: Likewise.
	* init.c: Likewise.
	* lambda.c: Likewise.
	* lex.c: Likewise.
	* mangle.c: Likewise.
	* method.c: Likewise.
	* name-lookup.c: Likewise.
	* optimize.c: Likewise.
	* parser.c: Likewise.
	* pt.c: Likewise.
	* ptree.c: Likewise.
	* repo.c: Likewise.
	* rtti.c: Likewise.
	* search.c: Likewise.
	* semantics.c: Likewise.
	* tree.c: Likewise.
	* typeck.c: Likewise.
	* typeck2.c: Likewise.
	* vtable-class-hierarchy.c: Likewise.

Fortran

	* array.c: Remove unused header files.
	* convert.c: Likewise.
	* cpp.c: Likewise.
	* decl.c: Likewise.
	* f95-lang.c: Likewise.
	* frontend-passes.c: Likewise.
	* iresolve.c: Likewise.
	* match.c: Likewise.
	* module.c: Likewise.
	* options.c: Likewise.
	* parse.c: Likewise.
	* target-memory.c: Likewise.
	* trans-array.c: Likewise.
	* trans-common.c: Likewise.
	* trans-const.c: Likewise.
	* trans-decl.c: Likewise.
	* trans-expr.c: Likewise.
	* trans-intrinsic.c: Likewise.
	* trans-io.c: Likewise.
	* trans-openmp.c: Likewise.
	* trans-stmt.c: Likewise.
	* trans-types.c: Likewise.
	* trans.c: Likewise.

go

	* go-backend.c: Remove unused header files.
	* go-gcc.cc: Likewise.
	* go-lang.c: Likewise.
	* gospec.c: Likewise.

Java

	* boehm.c: Remove unused header files.
	* builtins.c: Likewise.
	* class.c: Likewise.
	* constants.c: Likewise.
	* decl.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* java-gimplify.c: Likewise.
	* jcf-dump.c: Likewise.
	* jcf-io.c: Likewise.
	* jcf-parse.c: Likewise.
	* jvgenmain.c: Likewise.
	* lang.c: Likewise.
	* mangle.c: Likewise.
	* mangle_name.c: Likewise.
	* resource.c: Likewise.
	* typeck.c: Likewise.
	* verify-glue.c: Likewise.
	* verify-impl.c: Likewise.
	* zextract.c: Likewise.

jit

	* dummy-frontend.c: Remove unused header files.
	* jit-builtins.c: Likewise.
	* jit-playback.c: Likewise.
	* jit-recording.c: Likewise.
	* jit-spec.c: Likewise.
	* libgccjit.c: Likewise.

lto

	* lto-lang.c: Remove unused header files.
	* lto-object.c: Likewise.
	* lto-partition.c: Likewise.
	* lto-symtab.c: Likewise.
	* lto.c: Likewise.

objc

	* objc-act.c: Remove unused header files.
	* objc-encoding.c: Likewise.
	* objc-gnu-runtime-abi-01.c: Likewise.
	* objc-lang.c: Likewise.
	* objc-map.c: Likewise.
	* objc-next-runtime-abi-01.c: Likewise.
	* objc-next-runtime-abi-02.c: Likewise.
	* objc-runtime-shared-support.c: Likewise.

objcp

	* objcp-decl.c: Remove unused header files.
	* objcp-lang.c: Likewise.

From-SVN: r230166
2015-11-11 14:18:08 +00:00
Segher Boessenkool
3b1da8bb77 simplify-rtx: Simplify trunc of and of shiftrt
If we have

	(truncate:M1 (and:M2 (lshiftrt:M2 (x:M2) C) C2))

we can write it instead as

	(and:M1 (lshiftrt:M1 (truncate:M1 (x:M2)) C) C2)

(if that is valid, of course), which has smaller modes for the
binary ops, and the truncate can often simplify further (if "x"
is a register, for example).


	* gcc/simplify-rtx.c (simplify_truncation): Simplify TRUNCATE
	of AND of [LA]SHIFTRT.

From-SVN: r230164
2015-11-11 15:09:30 +01:00
Martin Liska
7ad291c0e8 re PR rtl-optimization/68287 (conditional jump or move depends on uninitialized value in lra-lives.c:1048)
Fix PR rtl-optimization/68287

	PR rtl-optimization/68287
	* lra-lives.c (lra_create_live_ranges_1): Reserve the right
	number of elements.

Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r230163
2015-11-11 14:04:47 +00:00
Simon Dardis
dcfe3c8f32 Undo delay slot filling and use compact branches in selected cases.
gcc/
	* config/mips/mips.c (mips_breakable_sequence_p): New function.
	(mips_break_sequence): New function. 
	(mips_reorg_process_insns) Use them. Use compact branches in selected
          situations.
    
gcc/testsuite/
        * gcc.target/mips/split-ds-sequence.c: New test.

From-SVN: r230160
2015-11-11 13:40:08 +00:00
Alan Lawrence
c08de51488 Fix whitespace+typo from "Share code from fold_array_ctor_reference with fold."
* fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo.

From-SVN: r230159
2015-11-11 13:31:46 +00:00
Jiong Wang
03f3914528 [ARM] PR67305, tighten neon_vector_mem_operand on eliminable registers
2015-11-11  Jiong Wang  <jiong.wang@arm.com>
	    Jim Wilson  <wilson@gcc.gnu.org>

	PR target/67305
	* config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict
	be true and eliminable registers mentioned.


Co-Authored-By: Jim Wilson <wilson@gcc.gnu.org>

From-SVN: r230158
2015-11-11 12:30:46 +00:00