Commit Graph

141015 Commits

Author SHA1 Message Date
Louis Krupp
7262aee978 Delete undesirable svn:executable property
From-SVN: r228376
2015-10-02 08:41:13 +00:00
Kyrylo Tkachov
6b7e867187 [RTL ifcvt] PR 67786, 67787: Check that intermediate instructions in the basic block don't clobber a reg used in condition
PR rtl-optimization/67786
        PR rtl-optimization/67787
        * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if
        it modifies a reg used in the condition calculation.

        * gcc.dg/pr67786.c: New test.
        * gcc.dg/pr67787.c: Likewise.

From-SVN: r228375
2015-10-02 08:36:45 +00:00
James Greenhalgh
c0233c783d [Patch AArch64] Improve SIMD concatenation with zeroes
gcc/

	* config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add
	alternatives for reads from memory and moves from general-purpose
	registers.
	(*aarch64_combinez_be<mode>): Likewise.

gcc/testsuite/

	* gcc.target/aarch64/vect_combine_zeroes_1.c: New.

From-SVN: r228374
2015-10-02 08:32:12 +00:00
Eric Botcazou
547bbe4977 trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE.
* gcc-interface/trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE.
	(Loop_Statement_to_gnu): Use FOR_EACH_VEC_ELT.
	(finalize_nrv): Use FOR_EACH_VEC_SAFE_ELT and initialize field.
	(build_stmt_group): Add blank lines.

From-SVN: r228373
2015-10-02 08:10:46 +00:00
Kai Tietz
a87926c15d re PR target/51726 (LTO and attribute 'selectany')
PR target/51726
        * g++.dg/ext/selectany2.C: Allow uninitialized variable case.

From-SVN: r228371
2015-10-02 10:08:38 +02:00
Kai Tietz
63578ef993 re PR target/51726 (LTO and attribute 'selectany')
PR target/51726
	* config/i386/winnt.c (ix86_handle_selectany_attribute): Handle
	selectany within this function without need to keep attribute.
	(i386_pe_encode_section_info): Remove selectany-code.

From-SVN: r228370
2015-10-02 10:06:52 +02:00
Richard Biener
6a8b77b2fa tree-ssa-sccvn.c (has_VN_INFO): New function.
2015-10-02  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (has_VN_INFO): New function.
	(free_scc_vn): Use it.
	(visit_use): Remove dead code and refactor to use gassign
	and use less indentation.

From-SVN: r228369
2015-10-02 07:34:53 +00:00
Louis Krupp
d751beac55 [multiple changes]
2015-10-01  Louis Krupp <louis.krupp@zoho.com>

	PR fortran/62242
	PR fortran/52332
	* trans-array.c
	(store_backend_decl): Create new gfc_charlen instance if requested
	(get_array_ctor_all_strlen): Call store_backend_decl requesting
	new gfc_charlen
	(trans_array_constructor): Call store_backend_decl requesting
	new gfc_charlen if get_array_ctor_strlen was called
	(gfc_add_loop_ss_code): Don't try to convert non-constant length

2015-10-01  Louis Krupp     <louis.krupp@zoho.com>

	PR fortran/62242
	PR fortran/52332
	* gfortran.dg/string_array_constructor_1.f90: New.
	* gfortran.dg/string_array_constructor_2.f90: New.
	* gfortran.dg/string_array_constructor_3.f90: New.

From-SVN: r228368
2015-10-02 04:03:34 +00:00
Louis Krupp
5a4d7a169f Approved by FX
From-SVN: r228367
2015-10-02 01:54:37 +00:00
Segher Boessenkool
636172b5be rs6000: Add "cannot_copy" attribute, use it (PR67788, PR67789)
After the shrink-wrapping patches the prologue will often be pushed
"deeper" into the function, which in turn means the software trace cache
pass will more often want to duplicate the basic block containing the
prologue.  This caused failures for 32-bit SVR4 with -msecure-plt PIC.

This configuration uses the load_toc_v4_PIC_1 instruction, which creates
assembler labels without using the normal machinery for that.  If now
the compiler decides to duplicate the insn, it will emit the same label
twice.  Boom.

It isn't so easy to fix this to use labels the compiler knows about (let
alone test that properly).  Instead, this patch wires up a "cannot_copy"
attribute to be used by TARGET_CANNOT_COPY_P, and sets that attribute on
these insns we do not want copied.


2015-10-01  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/67788
	PR target/67789
	* config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New.
	(rs6000_cannot_copy_insn_p): New function.
	* config/rs6000/rs6000.md (cannot_copy): New attribute.
	(load_toc_v4_PIC_1_normal): Set cannot_copy.
	(load_toc_v4_PIC_1_476): Ditto.

gcc/testsuite/
	PR target/67788
	PR target/67789
	* gcc.target/powerpc/pr67789.c: New testcase.

From-SVN: r228366
2015-10-02 03:29:26 +02:00
Steven G. Kargl
d30ecc9c2b PR fortran.67802
2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran.67802
	* decl.c (add_init_expr_to_sym): Numeric constant for character
	length must be an INTEGER.

2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran.67802
	* gfortran.dg/pr67802.f90: New test.

From-SVN: r228365
2015-10-02 00:53:00 +00:00
Steven G. Kargl
220ab6b433 re PR fortran/66979 (gfortran internal compiler error with malformed FLUSH statement)
2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66979
	* io.c (gfc_resolve_filepos): Check for a UNIT number.  Add a nearby
	missing 'return false'.

2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66979
	gfortran.dg/pr66979.f90: new test.

From-SVN: r228364
2015-10-02 00:49:28 +00:00
Steven G. Kargl
b64c3d0696 re PR fortran/67616 (ICE on data initialization of type variable in block)
2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/67616
	* primary.c (gfc_match_structure_constructor): Use a possibly
	host-associated symtree to prevent ICE.

2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/67616
	* gfortran.dg/pr67616.f90: New test.

From-SVN: r228363
2015-10-02 00:45:59 +00:00
GCC Administrator
88a2711ce9 Daily bump.
From-SVN: r228362
2015-10-02 00:16:15 +00:00
Aditya Kumar
0afd32be3c use sese_l throughout scop-detection
Use sese_l throughout SCoP detection and create vec<scop_p> at the very end when
all SCoPs have been identified. 'struct sese_l' is very lightweight (two
pointers) compared to 'struct scop'.

No functional change intended. Passes regtest and bootstrap.

gcc/ChangeLog:

2015-10-01  Aditya Kumar  <hiraditya@msn.com>

        * graphite-scop-detection.c (struct sese_l): New conversion constructor
          so that this type can be pushed into a vec.
        (class scop_builder): use sese_l to collect scops.
        (get_scops): New getter function.
        (remove_intersecting_scops): Use sese_l instead of scops_p.
        (intersects): Same.
        (add_scop): Same.
        (subsumes): Same.
        (remove_subscops): Same.
        (build_scops): Add scops to vec<scops_p> once all the scops have been
        detected.

From-SVN: r228359
2015-10-01 22:04:20 +00:00
Aditya Kumar
65ef70d695 Rename gimple_bb to gimple_poly_bb
Renaming gimple_bb to gimple_poly_bb because there is a function gimple_bb
by the same name in gimple.h. No functional change intended.
Passes regtest and bootstrap.

gcc/ChangeLog:

2015-10-01  Aditya Kumar  <hiraditya@msn.com>

        * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
	Renamed type from gimple_bb_p to gimple_poly_bb_p.
        (translate_isl_ast_node_user): Same.
        * graphite-poly.c (new_poly_bb): Same.
        * graphite-poly.h (gbb_from_bb): Same.
        * sese.h: Same.
        * graphite-sese-to-poly.c (new_gimple_bb): gimple_bb_p -> gimple_poly_bb_p
        (build_scop_scattering): Same.
        (find_params_in_bb): Same.
        (add_conditions_to_domain): Same.
        (sese_dom_walker::before_dom_children): Same.
        (analyze_drs_in_stmts): Same.
        (new_pbb_from_pbb): Same.
        (free_data_refs_aux): New pointer to type base_alias_pair.
        * graphite-sese-to-poly.h: Same.
        * sese.c (if_region_set_false_region): Fixed Indentation.
        (move_sese_in_condition): Same.

From-SVN: r228358
2015-10-01 22:04:14 +00:00
Sebastian Pop
6652875ffe correctly handle non affine data references
2015-10-01  Sebastian Pop  <s.pop@samsung.com>
            Aditya Kumar  <aditya.k7@samsung.com>
        PR tree-optimization/66980
        * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false
        when data reference analysis has failed.

Co-Authored-By: Aditya Kumar <aditya.k7@samsung.com>

From-SVN: r228357
2015-10-01 22:04:07 +00:00
Ville Voutilainen
55fec44def re PR c++/54430 ([C++11] For-Loop: Scope of iterating variable begins too early)
PR c++/54430

/cp
2015-10-01  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR c++/54430
	* name-lookup.c (push_binding): Make non-static.
	* name-lookup.h (push_binding): Declare it.
	* parser.c (cp_parser_range_for): Use it, get the range
	declaration away from the scope until the range expression
	has been parsed, then restore the declaration.

/testsuite
2015-10-01  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR c++/54430
	* g++.dg/cpp0x/range-for30.C: New.

From-SVN: r228354
2015-10-01 22:22:08 +03:00
Joseph Myers
0d1a8f7517 Do not describe -std=c11 etc. as experimental in c.opt help text.
I noticed that c.opt still described -std=c11 and related options as
experimental in the --help text.  This patch fixes this.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

	* c.opt (std=c11): Do not describe as experimental.
	(std=gnu11): Likewise.
	(std=iso9899:2011): Likewise.

From-SVN: r228349
2015-10-01 18:00:14 +01:00
Jonathan Wakely
7b8089a3c6 * doc/html/manual/errno.html: Add new file.
From-SVN: r228348
2015-10-01 17:02:54 +01:00
Sebastian Pop
95ad241797 call scev analysis in scop-detection as in sese-to-poly
Before our rewrite of the scop detection, we used to not have a valid SESE
region under hand, and so we used to do more ad-hoc analysis of data references
by trying to prove that at all levels of a loop nest the data references would
be still valid.

Now that we have a valid SESE region, we can call the scev analysis in the same
way on the same computed loop nest in the scop-detection as in the sese-to-poly.

Next step will be to cache the data references analyzed in the scop detection
and not compute the same info in sese-to-poly.

The patch fixes block-1.f90 that used to ICE on x86_64-linux when compiled with
-m32.  Patch passed bootstrap with BOOT_CFLAGS="-g -O2 -fgraphite-identity
-floop-nest-optimize" and check on x86_64-linux using ISL-0.15.

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

	PR tree-optimization/67754
	* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
	scev analysis on the same loop nest as analyze_drs_in_stmts.
	* graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and renamed...
	(try_generate_gimple_bb): Call outermost_loop_in_sese.
	(analyze_drs_in_stmts): Same.
	* sese.c (outermost_loop_in_sese): ...here.

Co-Authored-By: Aditya Kumar <aditya.k7@samsung.com>

From-SVN: r228347
2015-10-01 15:17:58 +00:00
Sebastian Pop
cf72400ff3 add recursion on the inner loops
We now check that all data references in the current loop and inner loops
contained within loop are valid in an outer region before declaring that the
outer loop is a valid scop.

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

	PR tree-optimization/67754
	* graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
	recursion on the inner loops.

Co-Authored-By: Aditya Kumar <aditya.k7@samsung.com>

From-SVN: r228346
2015-10-01 15:17:51 +00:00
Trevor Saunders
526ceb6836 remove many typedefs
gcc/ChangeLog:

2015-10-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
	function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
	tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
	tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
	tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
unneeded typedefs.

From-SVN: r228344
2015-10-01 15:12:31 +00:00
Marek Polacek
f6f69fb09c re PR c/65345 (ICE with _Generic selection on _Atomic int)
PR c/65345
	* config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
	create_tmp_var_raw rather than create_tmp_var.

	* gcc.dg/atomic/pr65345-4.c: New test.
	* gcc.dg/pr65345-3.c: New test.

From-SVN: r228343
2015-10-01 14:53:10 +00:00
Ian Lance Taylor
209919e2fd re PR go/66870 (split stack issues on ppc64le and ppc64)
PR go/66870
	* gospec.c (lang_specific_driver): Only look for OPT_m32 if
	TARGET_CAN_SPLIT_STACK_64BIT is defined.

From-SVN: r228342
2015-10-01 14:43:57 +00:00
Marek Polacek
9edaabf3d2 re PR tree-optimization/67769 (VRP pass does wrong optimization)
PR tree-optimization/67769
	* tree-ssa-phiopt.c (conditional_replacement): Call
	reset_flow_sensitive_info_in_bb.
	(minmax_replacement): Likewise.
	(abs_replacement): Likewise.

	* gcc.dg/torture/pr67769.c: New test.

From-SVN: r228341
2015-10-01 14:25:42 +00:00
Nathan Sidwell
4812613802 builtins.c: Don't include gomp-constants.h.
* builtins.c: Don't include gomp-constants.h.
	(fold_builtin_1): Don't fold acc_on_device here.
	* gimple-fold.c: Include gomp-constants.h.
	(gimple_fold_builtin_acc_on_device): New.
	(gimple_fold_builtin): Call it.

From-SVN: r228340
2015-10-01 14:13:30 +00:00
H.J. Lu
d878e79bf8 Enable bt and and movzx for Lakemont
* config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for
	Lakemont.
	(X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont.

From-SVN: r228337
2015-10-01 06:34:49 -07:00
Uros Bizjak
91470073d6 pr55113_0.c: Skip on all x86 targets.
* gcc.dg/lto/pr55113_0.c: Skip on all x86 targets.

From-SVN: r228334
2015-10-01 14:46:19 +02:00
Oleg Endo
7e623de550 Fix typo in ChangeLog.
From-SVN: r228333
2015-10-01 12:38:28 +00:00
Oleg Endo
298b0f3f70 re PR target/54236 ([SH] Improve addc and subc insn utilization)
gcc/testsuite/
	PR target/54236
	* gcc.target/sh/pr54236-6.c: Fix assembler-no string.

From-SVN: r228332
2015-10-01 12:36:15 +00:00
Jonathan Wakely
f14decafae Save-and-restore errno more carefully in libstdc++
* doc/xml/manual/diagnostics.xml: Document use of errno.
	* doc/html/*: Regenerate.
	* config/locale/generic/c_locale.cc (_Save_errno): New helper.
	(__convert_to_v): Use _Save_errno.
	* include/ext/string_conversions.h (__stoa): Only restore errno when
	it isn't set to non-zero.

From-SVN: r228328
2015-10-01 12:23:39 +01:00
Marek Polacek
aabef2de2f * c-typeck.c (convert_for_assignment): Improve commentary.
From-SVN: r228327
2015-10-01 10:14:39 +00:00
Uros Bizjak
228ae4702c pr65105-1.c: Require sse2 effective target.
* gcc.target/i386/pr65105-1.c: Require sse2 effective target.
	(main): Rename to sse2_test.  Abort if count != 5.
	(dg-options): Add -save-temps.  Use "-msse2 -mtune=slm" instead
	of -march=slm.
	* gcc.target/i386/pr46865-2.c (dg-options): Remove -save-temps.

From-SVN: r228326
2015-10-01 12:06:27 +02:00
James Greenhalgh
295bdf5c3b [ChangeLog] Fix typo in 228324.
s/Liekwise/Likewise/

From-SVN: r228325
2015-10-01 09:36:01 +00:00
James Greenhalgh
cdc1afa3c0 [Patch 2/2 ARM/AArch64] Add a new Cortex-A53 scheduling model
* config/arm/aarch-common-protos.h
	(aarch_accumulator_forwarding): New.
	(aarch_forward_to_shift_is_not_shifted_reg): Likewise.
	* config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
	(aarch_forward_to_shift_is_not_shifted_reg): Liekwise.
	* config/arm/cortex-a53.md: Rewrite.

From-SVN: r228324
2015-10-01 09:33:40 +00:00
Richard Biener
34050b6bee gimple-match.h (mprts_hook): Declare.
2015-10-01  Richard Biener  <rguenther@suse.de>

	* gimple-match.h (mprts_hook): Declare.
	* gimple-match.head.c (mprts_hook): Define.
	(maybe_push_res_to_seq): Use new hook.
	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
	* tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq.
	(vn_ssa_aux::has_constants): Remove.
	* tree-ssa-sccvn.c: Include gimple-match.h.
	(VN_INFO_GET): Assert we don't re-use SSA names.
	(vn_get_expr_for): Remove.
	(expr_has_constants): Likewise.
	(stmt_has_constants): Likewise.
	(simplify_binary_expression): Likewise.
	(simplify_unary_expression): Likewise.
	(vn_lookup_simplify_result): New hook.
	(visit_copy): Adjust.
	(visit_reference_op_call): Likewise.
	(visit_phi): Likewise.
	(visit_use): Likewise.
	(process_scc): Likewise.
	(init_scc_vn): Likewise.
	(visit_reference_op_load): Likewise.  Use match-and-simplify and
	a gimple seq for inserted expressions.
	(try_to_simplify): Remove GENERIC stmt combining code.
	(sccvn_dom_walker::before_dom_children): Use match-and-simplify.
	* tree-ssa-pre.c (eliminate_insert): Adjust.
	(eliminate_dom_walker::before_dom_children): Likewise.

	* gcc.dg/tree-ssa/ssa-fre-7.c: Adjust.
	* gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.

From-SVN: r228320
2015-10-01 07:54:26 +00:00
Segher Boessenkool
e01c66ca30 bb-reorder: Documentation updates
2015-09-23   Segher Boessenkool  <segher@kernel.crashing.org>

	* doc/invoke.texi (Optimization Options): Add
	-freorder-blocks-algorithm=.
	(Optimize Options) <-O>: Add -freorder-blocks.
	<-O2>: Remove -freorder-blocks.  Add -freorder-blocks-algorithm=stc.
	<-Os>: Add -freorder-blocks-algorithm=stc as not enabled.
	<-freorder-blocks>: Also enabled at levels -O and -Os.
	<-freorder-blocks-algorithm=>: Document new option.

From-SVN: r228319
2015-10-01 08:40:01 +02:00
Segher Boessenkool
59faab7cc4 bb-reorder: Add -freorder-blocks-algorithm= and wire it up
This adds an -freorder-blocks-algorithm=[simple|stc] flag, with "simple"
as default.  For -O2 and up (except -Os) it is switched to "stc" instead.
Targets that never want STC can override this.  This changes -freorder-blocks
to be on at -O1 and up (was -O2 and up).

In effect, the changes are for -O1 (which now gets "simple" instead of
nothing), -Os (which now gets "simple" instead of "stc", since STC results
in much bigger code), and for targets that wish to never use STC (not in
this patch though).


2015-09-23   Segher Boessenkool  <segher@kernel.crashing.org>

	* bb-reorder.c (reorder_basic_blocks): Use the algorithm selected
	with flag_reorder_blocks_algorithm.
	* common.opt (freorder-blocks-algorithm=): New flag.
	(reorder_blocks_algorithm): New enum.
	* flag-types.h (reorder_blocks_algorithm): New enum.
	* opts.c (default_options_table): Use -freorder-blocks at -O1 and up,
	and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os).

From-SVN: r228318
2015-10-01 08:38:24 +02:00
Segher Boessenkool
248c16c49a bb-reorder: Add the "simple" algorithm
2015-10-01  Segher Boessenkool  <segher@kernel.crashing.org>

	* bb-reorder.c: Add intro comment.
	(reorder_basic_blocks_software_trace_cache): Print a header to
	the dump file.
	(edge_order): New function.
	(reorder_basic_blocks_simple): New function.
	(reorder_basic_blocks): Choose between the STC and the simple
	algorithms (always choose the former).

From-SVN: r228317
2015-10-01 08:35:57 +02:00
Segher Boessenkool
af71fa391d bb-reorder: Split out STC
2015-09-23   Segher Boessenkool  <segher@kernel.crashing.org>

	* bb-reorder.c (reorder_basic_blocks_software_trace_cache): New
	function, factored out from ...
	(reorder_basic_blocks): ... here.

From-SVN: r228316
2015-10-01 08:33:09 +02:00
Tom de Vries
26e5d47d44 Make dumping of function attributes resemble source syntax
2015-10-01  Tom de Vries  <tom@codesourcery.com>

	* tree-cfg.c (dump_function_to_file): Dump function attributes using
	__attribute__(()) string.  Move dumping of function attributes to before
	function name.

From-SVN: r228315
2015-10-01 05:42:50 +00:00
GCC Administrator
aeecd3d212 Daily bump.
From-SVN: r228314
2015-10-01 00:16:12 +00:00
Lynn Boger
402565b61f re PR go/66870 (split stack issues on ppc64le and ppc64)
PR target/66870
	* config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
	* configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
	based on gold linker version.
	* gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
	HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
	* configure, config.in: Regenerate.
go:
	* gospec.c (lang_specific_driver): Set appropriate split stack
	options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.

From-SVN: r228311
2015-09-30 23:06:11 +00:00
Alan Modra
7dc396e20f [RS6000] Make -msingle-pic-base remove the ELFv2 global entry code
For other ABIs, -msingle-pic-base makes gcc omit loading of the PIC
register in function prologues.  This patch makes the option affect
ELFv2 too.

	* config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
	r2_setup_needed when TARGET_SINGLE_PIC_BASE.
	(rs6000_output_mi_thunk): Likewise.

From-SVN: r228309
2015-10-01 07:49:18 +09:30
Nathan Sidwell
cc3cd79bc2 mkoffload.c (process): Change offload data format.
gcc/
	* config/nvptx/mkoffload.c (process): Change offload data format.

	libgomp/
	* plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
	(struct targ_ptx_obj): New.
	(nvptx_tdata): Move earlier, change data format.
	(link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
	objects.
	(GOMP_OFFLOAD_load_image): Adjust.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>

From-SVN: r228308
2015-09-30 21:35:47 +00:00
Alan Modra
c57173b69a [RS6000] Correct powerpc sysv stack argument accounting
ppc32 starts using the stack for integer arg passing when we run out
of integer arg passing registers.  Similarly, we start using the stack
for floating point args when we run out of floating point registers.
The decision on where an integer arg goes does not depend on number of
floating point args, nor does the decision on where a floating point
arg goes depend on number of integer args.  Alignment of stack args
also simply depends on number of stack args.

This patch untangles the horrible mess we had, with intarg_count being
wrongly used to count both integer args and stack words.

	* src/powerpc/ffi_sysv.c (ffi_prep_cif_sysv_core): Count fprs,
	gprs, and stack words separately.
	(ffi_prep_args_SYSV): Similarly.

From-SVN: r228307
2015-10-01 06:59:00 +09:30
Jeff Law
d64f8dd280 [PATCH] Improve DOM's optimization of control statements
* tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
	with constant conditions.
	* tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
	(remove_ctrl_stmt_and_useless_edges): No longer static.
	* tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
	(remove_ctrl_stmt_and_useless_edges): Likewise.

	* gcc.dg/tree-ssa/ssa-dom-branch-1.c: New test.

From-SVN: r228306
2015-09-30 14:28:14 -06:00
François Dumont
9702ee6a6f messages_members.cc (Catalog_info, Catalogs): Move...
2015-09-30  François Dumont  <fdumont@gcc.gnu.org>
	    Jonathan Wakely  <jwakely@redhat.com>

	* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
	Move...
	* config/locale/gnu/c++locale_internal.h: ...here in std namespace.
	* config/locale/gnu/c_locale.cc: Move implementation of latter here.
	* src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
	* src/c++98/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Adjust.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r228305
2015-09-30 20:04:43 +00:00
Nathan Sidwell
94829f87ca nvptx.c (nvptx_goacc_validate_dims): New.
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
	(TARGET_GOACC_VALIDATE_DIMS): Override.
	* target.def (TARGET_GOACC): New target hook prefix.
	(validate_dims): New hook.
	* targhooks.h (default_goacc_validate_dims): New.
	* omp-low.c (oacc_validate_dims): New.
	(execute_oacc_device_lower): New.
	(default_goacc_validate_dims): New.
	(pass_data_oacc_device_lower): New.
	(pass_oacc_device_lower): New pass.
	(make_pass_oacc_device_lower): New.
	* tree-pass.h (make_pass_oacc_device_lower): Declare.
	* passes.def (pass_oacc_device_lower): Add it.
	* doc/tm.texi: Rebuilt.
	* doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
	* doc/invoke.texi (oaccdevlow): Document tree dump flag.

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

From-SVN: r228304
2015-09-30 19:16:29 +00:00