gcc.git
9 years agore PR target/66956 ([avr] Using 32*32=64 multiplicatiion (umulsidi3) for 32=32*32...
Georg-Johann Lay [Tue, 21 Jul 2015 17:25:48 +0000 (17:25 +0000)]
re PR target/66956 ([avr] Using 32*32=64 multiplicatiion (umulsidi3) for 32=32*32 without MUL.)

PR target/66956
* config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
(<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.

From-SVN: r226046

9 years agothumb-bitfld1.c (foo): Add explicit return type.
Alex Velenko [Tue, 21 Jul 2015 14:29:08 +0000 (14:29 +0000)]
thumb-bitfld1.c (foo): Add explicit return type.

2015-07-21  Alex Velenko  <Alex.Velenko@arm.com>

* gcc.target/arm/thumb-bitfld1.c (foo): Add explicit return type.

From-SVN: r226043

9 years agore PR tree-optimization/66948 (Performance regression in bit manipulation code)
Richard Biener [Tue, 21 Jul 2015 14:03:57 +0000 (14:03 +0000)]
re PR tree-optimization/66948 (Performance regression in bit manipulation code)

2015-07-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66948
* genmatch.c (capture_info::walk_match): Also recurse to
captures.  Properly compute expr state from captures of
captures.
* match.pd: Add single-use guards to
(X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.

From-SVN: r226041

9 years agotarget.c (gomp_offload_image_to_device): Rename to ...
Nathan Sidwell [Tue, 21 Jul 2015 13:30:06 +0000 (13:30 +0000)]
target.c (gomp_offload_image_to_device): Rename to ...

libgomp/
* target.c (gomp_offload_image_to_device): Rename to ...
(gomp_load_image_to_device): ... here.
(GOMP_offload_register): Adjust call.
(gomp_init_device): Likewise.
(gomp_unload_image_from_device): New.  Broken out of ...
(GOMP_offload_unregister): ... here.  Call it.
(gomp_unload_device): New.
* libgomp.h (gomp_unload_device): Declare.
* oacc-init.c (acc_shutdown_1): Unload from device before deleting
mem maps.

gcc/
* config/nvptx/mkoffload.c (process): Add static destructor call.

From-SVN: r226039

9 years agoFix r225926's broken testcase
Mikael Morin [Tue, 21 Jul 2015 11:33:15 +0000 (11:33 +0000)]
Fix r225926's broken testcase

gcc/testsuite/
PR fortran/61831
* gfortran.dg/derived_constructor_comps_6.f90: Fix dg directive.
Drop address sanitization.

From-SVN: r226038

9 years agosplit-live-ranges-for-shrink-wrap.c (dg-skip-if): Skip -march=armv4t.
Alex Velenko [Tue, 21 Jul 2015 10:33:42 +0000 (10:33 +0000)]
split-live-ranges-for-shrink-wrap.c (dg-skip-if): Skip -march=armv4t.

2015-07-21  Alex Velenko  <Alex.Velenko@arm.com>
gcc/testsuite/
        * gcc.target/arm/split-live-ranges-for-shrink-wrap.c (dg-skip-if):
Skip -march=armv4t.
        (dg-additional-options): Set armv5t flag.

From-SVN: r226036

9 years agoFix ChangeLog of r225926 (PR fortran/61831)
Mikael Morin [Tue, 21 Jul 2015 10:03:00 +0000 (10:03 +0000)]
Fix ChangeLog of r225926 (PR fortran/61831)

From-SVN: r226033

9 years agounpack-be-order.c: Use -Wno-shift-overflow.
Marek Polacek [Tue, 21 Jul 2015 10:01:53 +0000 (10:01 +0000)]
unpack-be-order.c: Use -Wno-shift-overflow.

* gcc.dg/vmx/unpack-be-order.c: Use -Wno-shift-overflow.
* gcc.dg/vmx/unpack.c: Likewise.
* gcc.target/powerpc/quad-atomic.c: Likewise.

From-SVN: r226032

9 years ago[match.pd] PR middle-end/66915 Restrict A - B -> A + (-B) to non-fixed-point types
Kyrylo Tkachov [Tue, 21 Jul 2015 08:26:32 +0000 (08:26 +0000)]
[match.pd] PR middle-end/66915 Restrict A - B -> A + (-B) to non-fixed-point types

PR middle-end/66915
* match.pd (A - B -> A + (-B)): Don't allow folding
when type if a fixed-point type.

From-SVN: r226028

9 years agoDaily bump.
GCC Administrator [Tue, 21 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226026

9 years agorl78-real.md (andqi3_real): Expand operands for clr1.
DJ Delorie [Mon, 20 Jul 2015 23:21:43 +0000 (19:21 -0400)]
rl78-real.md (andqi3_real): Expand operands for clr1.

* config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
(iorqi3_real): Likewise for set1.

From-SVN: r226023

9 years ago* include/bits/c++config: Fix abi_tag in special modes.
Jason Merrill [Mon, 20 Jul 2015 22:39:54 +0000 (18:39 -0400)]
* include/bits/c++config: Fix abi_tag in special modes.

From-SVN: r226022

9 years agoi386.c (ix86_md_asm_adjust): Handle DImode dest_mode for !TARGET_64BIT.
Uros Bizjak [Mon, 20 Jul 2015 18:52:12 +0000 (20:52 +0200)]
i386.c (ix86_md_asm_adjust): Handle DImode dest_mode for !TARGET_64BIT.

* config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
for !TARGET_64BIT.

testsuite/ChangeLog:

* gcc.target/i386/asm-flag-5.c (f_ll): New.

From-SVN: r226017

9 years agoadd missing changelog
Aditya Kumar [Mon, 20 Jul 2015 18:05:16 +0000 (18:05 +0000)]
add missing changelog

From-SVN: r226015

9 years agoRefactor graphite-isl-ast-to-gimple.c
Aditya Kumar [Mon, 20 Jul 2015 18:02:49 +0000 (18:02 +0000)]
Refactor graphite-isl-ast-to-gimple.c

Refactor graphite-isl-ast-to-gimple.c:
Refactor so that each function can access 'region'. This will help
maintain a parameter rename_map within a region. No functional change intended.
This patch will be followed by another set of patches
where translate_isl_ast_to_gimple::region is used to keep parameters which need
renaming. Since we are planning to remove limit_scops, we now have to maintain a
set of parameters which needs renaming. This refactoring helps avoid passing
`region' to all the functions in this file.

It passes bootstrap and regtest.

gcc/ChangeLog:

2015-07-19  Aditya Kumar  <hiraditya@msn.com>

        * graphite-isl-ast-to-gimple.c:
Refactor so that each function can access 'region'. This will help
maintain a parameter rename_map within a region.

From-SVN: r226014

9 years agoMissed a difference between gomp4 and trunk
Nathan Sidwell [Mon, 20 Jul 2015 17:38:49 +0000 (17:38 +0000)]
Missed a difference between gomp4 and trunk

From-SVN: r226012

9 years agooacc-parallel.c (GOACC_parallel): Move variadic handling into wait=-specific if.
Nathan Sidwell [Mon, 20 Jul 2015 17:31:46 +0000 (17:31 +0000)]
oacc-parallel.c (GOACC_parallel): Move variadic handling into wait=-specific if.

* oacc-parallel.c (GOACC_parallel): Move variadic handling into
wait=-specific if.
(GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
!=0 condition.
(goacc_waits): Move !num_waits handling to ...
(GOACC_wait): ... here, the only caller that might have zero waits.

From-SVN: r226011

9 years agocompiler: Create dummy labels for blank labels.
Ian Lance Taylor [Mon, 20 Jul 2015 17:25:24 +0000 (17:25 +0000)]
compiler: Create dummy labels for blank labels.

    Fixes golang/go#11591.

    Reviewed-on: https://go-review.googlesource.com/12043

From-SVN: r226009

9 years agocompiler: Remove unnecessary check for GCC-specific issue.
Ian Lance Taylor [Mon, 20 Jul 2015 16:47:24 +0000 (16:47 +0000)]
compiler: Remove unnecessary check for GCC-specific issue.

    Reviewed-on: https://go-review.googlesource.com/11800

    compiler: remove name of unused parameter to avoid warning

    Reviewed-on: https://go-review.googlesource.com/12367

From-SVN: r226007

9 years ago* config/rs6000/rs6000.md (*lt0_disi): New.
Segher Boessenkool [Mon, 20 Jul 2015 16:32:55 +0000 (18:32 +0200)]
* config/rs6000/rs6000.md (*lt0_disi): New.

From-SVN: r226006

9 years agore PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)
Segher Boessenkool [Mon, 20 Jul 2015 16:30:56 +0000 (18:30 +0200)]
re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)

PR target/66217
* config/rs6000/constraints.md ("S", "T", "t"): Delete.  Update
"available letters" comment.
* config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
and_2rld_operand):  Delete.
(and_operand): Adjust.
(rotate_mask_operator): New.
* config/rs6000/rs6000-protos.h (build_mask64_2_operands,
includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
extract_ME): Delete.
(rs6000_is_valid_mask, rs6000_is_valid_and_mask,
rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
rs6000_emit_2insn_and): New.
* config/rs6000/rs6000.c (num_insns_constant): Adjust.
(build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
includes_rldic_lshift_p, includes_rldicr_lshift_p,
insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
(rs6000_is_valid_mask, rs6000_is_valid_and_mask,
rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
rs6000_emit_2insn_and): New.
(print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
(rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
handling.
<NOT>: Don't fall through to next case.
<AND>: Handle the various rotate-and-mask cases directly.
<IOR>: Always cost as one insn.
* config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
(and<mode>3): Adjust expander for the new patterns.
(and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
(*and<mode>3_imm_dot_shifted): New.
(*and<mode>3_mask): Delete, rewrite as ...
(and<mode>3_mask): ... New.
(*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
(andsi3_internal0_nomc): Delete.
(*andsi3_internal6): Delete.
(*and<mode>3_2insn): New.
(insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
*insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
*insvsi_internal6, insvdi_internal, *insvdi_internal2,
*insvdi_internal3): Delete.
(*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
*rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
*rotl<mode>3_insert_4, two splitters for multi-precision shifts,
*ior<mode>_mask): New.
(extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
*ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
*lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
Delete.
(ashr<mode>3): Delete expander.
(*ashr<mode>3): Rename to ...
(ashr<mode>3): ... This.
(ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
(*rotldi3_internal4, *rotldi3_internal5 and split,
*rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
and split, *ashldi3_internal6 and split, *ashldi3_internal7,
ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
(*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
(splitter for loading a mask): Adjust.
* doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.

From-SVN: r226005

9 years agoplugin-nvptx.c (struct targ_fn_descriptor): Move later.
Nathan Sidwell [Mon, 20 Jul 2015 16:17:57 +0000 (16:17 +0000)]
plugin-nvptx.c (struct targ_fn_descriptor): Move later.

* plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
(struct ptx_image_data): Move earlier, add fns field.
(struct ptx_device): Add images and image_lock fields.
(ptx_images, ptx_image_lock): Delete.
(nvptx_open_device): Initialize images and image_lock fields.
(nvptx_close_device): Destroy image_lock.
(GOMP_OFFLOAD_load_image): Register image to device-specific fields.
(GOMP_OFFLOAD_unload_image): Unregister image from device-specific
fields.

From-SVN: r226004

9 years agogenemit.c (print_code, [...]): Remove declarations.
Marek Polacek [Mon, 20 Jul 2015 15:57:19 +0000 (15:57 +0000)]
genemit.c (print_code, [...]): Remove declarations.

* genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
output_add_clobbers, output_added_clobbers_hard_reg_p,
gen_rtx_scratch): Remove declarations.

From-SVN: r226003

9 years ago[AArch64][testcase] Restrict got_mem_hoist_1.c with small memory model
Jiong Wang [Mon, 20 Jul 2015 14:33:49 +0000 (14:33 +0000)]
[AArch64][testcase] Restrict got_mem_hoist_1.c with small memory model

From-SVN: r225999

9 years agore PR c++/55095 (Wshift-overflow)
Marek Polacek [Mon, 20 Jul 2015 13:43:45 +0000 (13:43 +0000)]
re PR c++/55095 (Wshift-overflow)

PR c++/55095
* c-common.c (c_fully_fold_internal): Warn about left shift overflows.
Use EXPR_LOC_OR_LOC.
(maybe_warn_shift_overflow): New function.
* c-common.h (maybe_warn_shift_overflow): Declare.
* c-opts.c (c_common_post_options): Set warn_shift_overflow.
* c.opt (Wshift-overflow): New option.

* c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
(build_binary_op): Warn about left shift overflows.

* typeck.c (cp_build_binary_op): Warn about left shift overflows.

* doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.

* c-c++-common/Wshift-overflow-1.c: New test.
* c-c++-common/Wshift-overflow-2.c: New test.
* c-c++-common/Wshift-overflow-3.c: New test.
* c-c++-common/Wshift-overflow-4.c: New test.
* c-c++-common/Wshift-overflow-5.c: New test.
* g++.dg/cpp1y/left-shift-1.C: New test.
* gcc.dg/c90-left-shift-2.c: New test.
* gcc.dg/c90-left-shift-3.c: New test.
* gcc.dg/c99-left-shift-2.c: New test.
* gcc.dg/c99-left-shift-3.c: New test.
* gcc.dg/pr40501.c: Use -Wno-shift-overflow.
* gcc.c-torture/execute/pr40386.c: Likewise.
* gcc.dg/vect/pr33373.c: Likewise.
* gcc.dg/vect/vect-shift-2-big-array.c: Likewise.
* gcc.dg/vect/vect-shift-2.c: Likewise.

Co-Authored-By: Richard Sandiford <richard.sandiford@arm.com>
From-SVN: r225998

9 years ago[simplify-rtx][2/2] Simplify - (y ? -x : x) -> (!y ? -x : x)
Kyrylo Tkachov [Mon, 20 Jul 2015 12:51:45 +0000 (12:51 +0000)]
[simplify-rtx][2/2] Simplify - (y ? -x : x) -> (!y ? -x : x)

* simplify-rtx.c (simplify_unary_operation_1, NEG case):
(neg (x ? (neg y) : y)) -> !x ? (neg y) : y.

* gcc.target/aarch64/neg_abs_1.c: New test.

From-SVN: r225997

9 years ago[PATCH][combine][1/2] Try to simplify before substituting
Kyrylo Tkachov [Mon, 20 Jul 2015 12:49:36 +0000 (12:49 +0000)]
[PATCH][combine][1/2] Try to simplify before substituting

* combine.c (combine_simplify_rtx): Move simplification step
before various transformations/substitutions.

From-SVN: r225996

9 years agoFix partial specialization syntax of wide int traits.
Mikhail Maltsev [Mon, 20 Jul 2015 05:30:12 +0000 (05:30 +0000)]
Fix partial specialization syntax of wide int traits.

gcc/
* wide-int.h (struct binary_traits): Fix partial specialization syntax.
(struct int_traits): Likewise.

From-SVN: r225993

9 years agoDaily bump.
GCC Administrator [Mon, 20 Jul 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225992

9 years agostatus_cxx2017.xml: Fix URL for N4279.
Jonathan Wakely [Sun, 19 Jul 2015 18:32:35 +0000 (19:32 +0100)]
status_cxx2017.xml: Fix URL for N4279.

* doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
* doc/html/manual/status.html: Regenerate.

From-SVN: r225988

9 years agoDaily bump.
GCC Administrator [Sun, 19 Jul 2015 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225987

9 years agofix compilation of vmsdbgout.c
Trevor Saunders [Sat, 18 Jul 2015 21:09:04 +0000 (21:09 +0000)]
fix compilation of vmsdbgout.c

The debug-early branch renamed vmsdbgout_decl to
vmsdbgout_function_decl, but didn't update its prototype.

gcc/ChangeLog:

2015-07-18  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
function to vmsdbgout_function_decl.

From-SVN: r225983

9 years agore PR target/66922 (wrong code for bit-field struct at -O1 and above on x86_64-linux...
Uros Bizjak [Sat, 18 Jul 2015 09:50:37 +0000 (11:50 +0200)]
re PR target/66922 (wrong code for bit-field struct at -O1 and above on x86_64-linux-gnu)

PR target/66922
* config/i386/i386.c (ix86_expand_pextr): Reject extractions
from misaligned positions.
(ix86_expand_pinsr): Reject insertions to misaligned positions.

testsuite/ChangeLog:

PR target/66922
* gcc.target/i386/pr66922.c: New test.

From-SVN: r225980

9 years agofix pr46851 and pr60340: remove unmaintained omega dependence test
Sebastian Pop [Sat, 18 Jul 2015 01:11:05 +0000 (01:11 +0000)]
fix pr46851 and pr60340: remove unmaintained omega dependence test

Regstrapped on amd64-linux.

2015-07-18  Sebastian Pop  <s.pop@samsung.com>

PR middle-end/46851
PR middle-end/60340
* Makefile.in: Removed omega.o.
* common.opt: Remove flag fcheck-data-deps.
* doc/invoke.texi: Remove documentation for fcheck-data-deps and
its associated params: omega-max-vars, omega-max-geqs,
omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
omega-max-keys, omega-eliminate-redundant-constraints.
* doc/loop.texi: Remove all the section on Omega.
* graphite-blocking.c: Include missing params.h: it used to be
included through tree-data-ref.h and omega.h.
* graphite-isl-ast-to-gimple.c: Same.
* graphite-optimize-isl.c: Same.
* graphite-sese-to-poly.c: Same.
* graphite.c: Same.
* omega.c: Remove.
* omega.h: Remove.
* params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
* passes.def: Remove pass_check_data_deps.
* tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
(dump_conflict_function): Same.
(dump_subscript): Same.
(print_direction_vector): Same.
(print_dir_vectors): Same.
(print_lambda_vector): Same.
(print_dist_vectors): Same.
(dump_data_dependence_relation): Same.
(dump_data_dependence_relations): Same.
(dump_dist_dir_vectors): Same.
(dump_ddrs): Same.
(init_omega_eq_with_af): Removed.
(omega_extract_distance_vectors): Removed.
(omega_setup_subscript): Removed.
(init_omega_for_ddr_1): Removed.
(init_omega_for_ddr): Removed.
(ddr_consistent_p): Removed.
(compute_affine_dependence): Do not use omega to check data
dependences.
(compute_data_dependences_for_bb): Removed.
(analyze_all_data_dependences): Removed.
(tree_check_data_deps): Removed.
* tree-data-ref.h: Do not include omega.h.
(compute_data_dependences_for_bb): Removed.
(tree_check_data_deps): Removed.
* tree-ssa-loop.c (pass_check_data_deps): Removed.
(make_pass_check_data_deps): Removed.
* tree-ssa-phiopt.c: Include params.h.
* tree-vect-data-refs.c: Same.
* tree-vect-slp.c: Same.

testsuite/
* gcc.dg/tree-ssa/pr42327.c: Removed.
* g++.dg/other/pr35011.C: Removed.

From-SVN: r225979

9 years agoDaily bump.
GCC Administrator [Sat, 18 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225978

9 years agoi386.md (pushsf splitter): Pass curr_insn to find_constant_src.
Uros Bizjak [Fri, 17 Jul 2015 23:41:11 +0000 (01:41 +0200)]
i386.md (pushsf splitter): Pass curr_insn to find_constant_src.

* config/i386/i386.md (pushsf splitter): Pass curr_insn to
find_constant_src.  FAIL if find_constant_src returns NULL_RTX.
(mem->fpreg splitters): Ditto.
(general_operand->nonimmediate_operand splitter): Use explicit modes.
Disable DFmode for TARGET_64BIT.

From-SVN: r225975

9 years agoReplicate static chain on the stack
H.J. Lu [Fri, 17 Jul 2015 23:02:25 +0000 (23:02 +0000)]
Replicate static chain on the stack

If we put static chain on the stack, we need to replicate it on the stack
when stack is realigned with DRAP so that static chain can be reached via
(argp - 2) slot.

gcc/

PR target/66906
* config/i386/i386.c (ix86_expand_prologue): Replicate static
chain on the stack.

gcc/testsuite/

PR target/66906
* gcc.target/i386/pr66906.c: New test.

From-SVN: r225974

9 years agoAdd missing ChangeLog entries
H.J. Lu [Fri, 17 Jul 2015 22:57:35 +0000 (15:57 -0700)]
Add missing ChangeLog entries

From-SVN: r225973

9 years agocoarray_collectives_16.f90: Fix pattern as follow-up to r225930.
Mikael Morin [Fri, 17 Jul 2015 20:02:38 +0000 (20:02 +0000)]
coarray_collectives_16.f90: Fix pattern as follow-up to r225930.

gcc/testsuite/
* gfortran.dg/coarray_collectives_16.f90: Fix pattern
as follow-up to r225930.

From-SVN: r225965

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Fri, 17 Jul 2015 17:32:09 +0000 (17:32 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

From-SVN: r225958

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Fri, 17 Jul 2015 17:27:42 +0000 (17:27 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

From-SVN: r225957

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Fri, 17 Jul 2015 17:26:42 +0000 (17:26 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

From-SVN: r225956

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Fri, 17 Jul 2015 17:26:12 +0000 (17:26 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

From-SVN: r225955

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Fri, 17 Jul 2015 17:25:55 +0000 (17:25 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

From-SVN: r225953

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Fri, 17 Jul 2015 17:25:04 +0000 (17:25 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

From-SVN: r225948

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Fri, 17 Jul 2015 17:24:49 +0000 (17:24 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

From-SVN: r225947

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Fri, 17 Jul 2015 17:24:32 +0000 (17:24 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

From-SVN: r225946

9 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Fri, 17 Jul 2015 17:23:45 +0000 (17:23 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

From-SVN: r225945

9 years agotarget.c (GOMP_offload_register): Use int for device type arg.
Nathan Sidwell [Fri, 17 Jul 2015 17:17:26 +0000 (17:17 +0000)]
target.c (GOMP_offload_register): Use int for device type arg.

* target.c (GOMP_offload_register): Use int for device type arg.
(GOMP_offload_unregister): Likewise.

From-SVN: r225944

9 years agomkoffload.c (process): Constify host data.
Nathan Sidwell [Fri, 17 Jul 2015 17:12:01 +0000 (17:12 +0000)]
mkoffload.c (process): Constify host data.

gcc/
* config/nvptx/mkoffload.c (process): Constify host data.
* config/i386/intelmic-mkoffload.c (generate_target_descr_file):
Constify host data.
(generate_host_descr_file): Likewise.

libgomp/
* target.c (struct_offload_image_descr): Constify host_table.
(gomp_offload_image_to_device): Likewise.
(GOMP_offload_register, GOMP_offload_unregister): Likewise.

libgcc/
* offloadstuff.c: Constify host data.

From-SVN: r225943

9 years ago[graphite] fix pr61929
Aditya Kumar [Fri, 17 Jul 2015 16:34:21 +0000 (16:34 +0000)]
[graphite] fix pr61929

This fixes bootstrap of GCC with BOOT_CFLAGS="-g -O2 -fgraphite-identity
-floop-nest-optimize -floop-block -floop-interchange -floop-strip-mine".  It
passes regstrap on amd64-linux.  A previous change
(https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=213816), replaced
isl_int with isl_val because isl_int would be deprecated. Since isl_val has
stricter checks, it exposed the bug.  In the test case (isl_set_max_val) would
return infinity which would remain unchecked.  We now check if the value
returned is an integer or not, and bail out if it isn't.  The other problem was
that we were allowing all kinds of data-refs in a scop.  Now we discard a scop
if it has any date-ref other than (ARRAY_REF, MEM_REF, COMPONENT_REF).

PR middle-end/61929
* graphite-dependences.c (add_pdr_constraints): Renamed
pdr->extent to pdr->subscript_sizes.
* graphite-interchange.c (build_linearized_memory_access): Add
back all gcc_assert's that the "isl_int to isl_val conversion"
patch has removed.  Refactored.
(pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
* graphite-poly.c (new_poly_dr): Same.
(free_poly_dr): Same.
* graphite-poly.h (struct poly_dr): Same.
* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
* graphite-scop-detection.h: Fix space.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
back all gcc_assert's removed by a previous patch.
(wrap): Remove the_isl_ctx global variable that the same patch has
added.
(build_loop_iteration_domains): Same.
(add_param_constraints): Same.
(pdr_add_data_dimensions): Same.  Refactored.
(build_poly_dr): Renamed extent to subscript_sizes.

testsuite/
PR middle-end/61929
* gcc.dg/graphite/pr61929.c: New.

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

9 years agostatus_cxx2011.xml: Add caveats for native_handle.
Jonathan Wakely [Fri, 17 Jul 2015 16:08:14 +0000 (17:08 +0100)]
status_cxx2011.xml: Add caveats for native_handle.

* doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
* doc/html/manual/status.html: Regenerate.

From-SVN: r225939

9 years agofold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
Marek Polacek [Fri, 17 Jul 2015 16:03:27 +0000 (16:03 +0000)]
fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...

* fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
* match.pd: ... here.

* gcc.dg/fold-minus-7.c: New test.

From-SVN: r225938

9 years agomkoffload.c (process): Constify target data.
Nathan Sidwell [Fri, 17 Jul 2015 14:07:53 +0000 (14:07 +0000)]
mkoffload.c (process): Constify target data.

gcc/
* config/nvptx/mkoffload.c (process): Constify target data.
* config/i386/intelmic-mkoffload.c (generate_target_descr_file):
Constify target data.
(generate_target_offloadend_file): Likewise.

libgomp/
* libgomp.h (gomp_device_descr): Constify target data arguments.
* target.c (struct offload_image_descr): Constify target_data.
(gomp_offload_image_to_device): Likewise.
(GOMP_offload_register): Likewise.
(GOMP_offload_unrefister): Likewise.
* plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
GOMP_OFFLOAD_unload_image): Constify target data.
* plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.

liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (ImgDevAddrMap): Constify.
(offload_image, GOMP_OFFLOAD_load_image,
OMP_OFFLOAD_unload_image): Constify target data.

From-SVN: r225936

9 years agoFix fortran double address operator with co_reduce
Alessandro Fanfarillo [Fri, 17 Jul 2015 12:18:44 +0000 (06:18 -0600)]
Fix fortran double address operator with co_reduce

gcc/fortran/
2015-07-17  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

* trans-intrinsic.c (conv_co_collective): Remove redundant address
operator in the generated code.

gcc/testsuite/
2015-07-17  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

* gfortran.dg/co_reduce_1.f90: New file.

From-SVN: r225930

9 years agoAdd a testcase for PR target/66824
H.J. Lu [Fri, 17 Jul 2015 11:52:09 +0000 (11:52 +0000)]
Add a testcase for PR target/66824

PR target/66824
* gcc.target/i386/pr66824.c:

From-SVN: r225929

9 years agore PR fortran/66035 (gfortran ICE segfault)
Andre Vehreschild [Fri, 17 Jul 2015 10:16:21 +0000 (12:16 +0200)]
re PR fortran/66035 (gfortran ICE segfault)

gcc/fortran/ChangeLog:

2015-07-17  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/66035
* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
Compute the size to allocate for class and derived type objects
correclty.
(gfc_trans_subcomponent_assign): Only allocate memory for a
component when the object to assign is not an allocatable class
object (the memory is already present for allocatable class objects).
Furthermore use copy_class_to_class for assigning the rhs to the
component (may happen for dummy class objects on the rhs).

gcc/testsuite/ChangeLog:

2015-07-17  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/66035
* gfortran.dg/structure_constructor_13.f03: New test.

From-SVN: r225928

9 years agoFix PR61831: Side-effect variable component deallocation
Mikael Morin [Fri, 17 Jul 2015 09:40:29 +0000 (09:40 +0000)]
Fix PR61831: Side-effect variable component deallocation

gcc/fortran/
2015-07-17  Mikael Morin  <mikael@gcc.gnu.org>
    Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/61831
* trans-array.c (gfc_conv_array_parameter): Guard allocatable
component deallocation code generation with descriptorless
calling convention flag.
* trans-expr.c (gfc_conv_expr_reference): Remove allocatable
component deallocation code generation from revision 212329.
(expr_may_alias_variables): New function.
(gfc_conv_procedure_call): New boolean elemental_proc to factor
check for procedure elemental-ness.  Rename boolean f to nodesc_arg
and declare it in the outer scope.  Use expr_may_alias_variables,
elemental_proc and nodesc_arg to decide whether generate allocatable
component deallocation code.
(gfc_trans_subarray_assign): Set deep copy flag.

gcc/testsuite/
2015-07-17  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/61831
* gfortran.dg/alloc_comp_auto_array_3.f90: Count the number
of generated while loops in the tree dump.
* gfortran.dg/derived_constructor_comps_6.f90: New file.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r225926

9 years agotree-vect-loop-manip.c (rename_variables_in_bb): Add argument to allow renaming of...
Yuri Rumyantsev [Fri, 17 Jul 2015 09:08:31 +0000 (09:08 +0000)]
tree-vect-loop-manip.c (rename_variables_in_bb): Add argument to allow renaming of PHI arguments on edges incoming from outer...

gcc/

* tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
to allow renaming of PHI arguments on edges incoming from outer
loop header, add corresponding check before start PHI iterator.
(slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
with true force_vectorize.  Set-up dominator for outer loop too.
Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
(slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
was marked with force_vectorize and has restricted cfg.
(slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
inner loop.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
do peeling for outer loops.

gcc/testsuite/

* gcc.dg/vect/vect-outer-simd-2.c: New test.

From-SVN: r225923

9 years agoconfigure.ac: Move AC_ARG_WITH checks for native-system-header-dir...
Yvan Roux [Fri, 17 Jul 2015 08:17:11 +0000 (08:17 +0000)]
configure.ac: Move AC_ARG_WITH checks for native-system-header-dir...

2015-07-17  Yvan Roux  <yvan.roux@linaro.org>
    Matthias Klose  <doko@ubuntu.com>

* configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
build-sysroot, sysroot from the `Miscenalleous configure options' to
the `Directories' section and strip trailing `/' from with_sysroot.
(gcc_gxx_include_dir): Don't strip a `/' sysroot value.
* configure: Regenerated.

Co-Authored-By: Matthias Klose <doko@ubuntu.com>
From-SVN: r225921

9 years agolibgcc: fix build with older make
Jan Beulich [Fri, 17 Jul 2015 07:14:25 +0000 (07:14 +0000)]
libgcc: fix build with older make

Make up to 3.80 (documented as minimal permitted version) doesn't
support "else if...".

2015-07-17  Jan Beulich  <jbeulich@suse.com>

* config/t-softfp: Split up "else ifneq".

From-SVN: r225920

9 years agore PR target/66824 (-miamcu doesn't load FP constant into register directly)
Uros Bizjak [Fri, 17 Jul 2015 07:02:29 +0000 (09:02 +0200)]
re PR target/66824 (-miamcu doesn't load FP constant into register directly)

PR target/66824
* config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
(TARGET_HARD_DF_REGS): Ditto.
(TARGET_HARD_XF_REGS): Ditto.
* config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
(*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
(*movsf_internal): Add alternatives 16 and 17. Enable
alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.

From-SVN: r225919

9 years agore PR rtl-optimization/66891 (ICE in expand_call, at calls.c:3407)
Uros Bizjak [Fri, 17 Jul 2015 06:32:58 +0000 (08:32 +0200)]
re PR rtl-optimization/66891 (ICE in expand_call, at calls.c:3407)

PR rtl-optimization/66891
* calls.c (expand_call): Wrap precompute_register_parameters with
NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.

testsuite/ChangeLog:

PR target/66891
* gcc.target/i386/pr66891.c: New test.

From-SVN: r225918

9 years agoDaily bump.
GCC Administrator [Fri, 17 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225916

9 years agore PR fortran/66724 (ICE on input/output statements with wrong specifier data)
Steven G. Kargl [Fri, 17 Jul 2015 00:05:02 +0000 (00:05 +0000)]
re PR fortran/66724 (ICE on input/output statements with wrong specifier data)

2015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66724
PR fortran/66724
* io.c (is_char_type): Call gfc_resolve_expr ().
(match_open_element, match_dt_element, match_inquire_element): Fix
ASYNCHRONOUS case.

From-SVN: r225913

9 years agojit: Add guide for submitting patches to jit docs
David Malcolm [Thu, 16 Jul 2015 19:35:10 +0000 (19:35 +0000)]
jit: Add guide for submitting patches to jit docs

gcc/jit/ChangeLog:
* docs/internals/index.rst (Overview of code structure): Add note
that the implementation is in C++, despite the .c extension.
(Submitting patches): New subsection.

From-SVN: r225905

9 years agostl_algobase.h (__miter_base): Move...
François Dumont [Thu, 16 Jul 2015 19:17:26 +0000 (19:17 +0000)]
stl_algobase.h (__miter_base): Move...

2015-07-16  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_algobase.h (__miter_base): Move...
* include/bits/cpp_type_traits.h: ...here.
* include/debug/functions.h (__foreign_iterator_aux): Use latter.
* testsuite/23_containers/vector/debug/insert7_neg.cc: New.

From-SVN: r225902

9 years agoplugin-nvptx.c (link_ptx): Constify string argument.
Nathan Sidwell [Thu, 16 Jul 2015 17:17:31 +0000 (17:17 +0000)]
plugin-nvptx.c (link_ptx): Constify string argument.

libgomp/
* plugin/plugin-nvptx.c (link_ptx): Constify string argument.
Workaround driver library const error.
(struct nvptx_tdata, nvptx_tdata_t): New.
(GOMP_OFFLOAD_load_image): Use struct for target_data's real
type.

gcc/
* config/nvptx/mkoffload.c (process): Constify mapping variables.
Define target data struct and initialize it.

From-SVN: r225897

9 years ago[ARM][testsuite] Do not override -mcpu in no-volatile-in-it.c
Kyrylo Tkachov [Thu, 16 Jul 2015 15:30:45 +0000 (15:30 +0000)]
[ARM][testsuite] Do not override -mcpu in no-volatile-in-it.c

    * gcc.target/arm/no-volatile-in-it.c: Skip if -mcpu is overriden.

From-SVN: r225892

9 years agore PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c segfaults...
Vladimir Makarov [Thu, 16 Jul 2015 15:26:35 +0000 (15:26 +0000)]
re PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c segfaults w/ -mregparm=3 or -miamcu)

2015-07-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/66626
* ira.h (emit-rtl.h): Include.
(non_spilled_static_chain_regno_p): New.
* ira-color.c (setup_profitable_hard_regs): Clear profitable regs
unless it is non spilled static chain pseudo.
(assign_hard_rego): Spill memory profitable allocno unless it is
non spilled static chain pseudo.
(allocno_spill_priority_compare): Put non spilled static chain
pseudo at the end of sorted array.
(improve_allocation): Do nothing if we have static chain and
non-local goto.
(allocno__priority_compare_func): Put non spilled static chain
pseudo at the beginning of sorted array.
(move_spill_restore): Ignore non spilled static chain pseudo.
* ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
to non spilled static chain pseudo.
* lra-assigns.c (pseudo_compare_func): Put non spilled static chain
pseudo at the beginning of sorted array.
(spill_for): Spill non spilled static chain pseudo last.
* lra-constraints.c (lra_constraints): Remove static chain pseudo
check for equivalence.

2015-07-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/66626
* gcc.target/i386/pr66626-2.c: New.

From-SVN: r225891

9 years agore PR ipa/66896 (ipa-prop.c:2479 runtime error: member call on null pointer of type...
Martin Liska [Thu, 16 Jul 2015 14:48:18 +0000 (16:48 +0200)]
re PR ipa/66896 (ipa-prop.c:2479 runtime error: member call on null pointer of type 'struct ipa_polymorphic_call_context')

Fix PR ipa/66896.

* g++.dg/ipa/pr66896.c: New test.
PR ipa/66896.
* ipa-prop.c (update_jump_functions_after_inlining): Create properly
dst_ctx if it does not exist.

From-SVN: r225887

9 years agohash_set: add iterator and remove method.
Martin Liska [Thu, 16 Jul 2015 14:11:52 +0000 (16:11 +0200)]
hash_set: add iterator and remove method.

* hash-set.h (remove): New function.
(iterator): New iteration class for hash_set.

From-SVN: r225885

9 years agogenattrtab.c (make_canonical): Add a file_location parameter.
Richard Sandiford [Thu, 16 Jul 2015 13:55:50 +0000 (13:55 +0000)]
genattrtab.c (make_canonical): Add a file_location parameter.

gcc/
* genattrtab.c (make_canonical): Add a file_location parameter.
Use fatal_at rather than fatal.
(get_attr_value): Likewise.  Update call to make_canonical.
(fill_attr, make_length_attrs, optimize_attrs, gen_attr)
(make_internal_attr): Update calls accordingly.

From-SVN: r225884

9 years agoread-md.h (message_with_line, [...]): Delete.
Richard Sandiford [Thu, 16 Jul 2015 13:52:22 +0000 (13:52 +0000)]
read-md.h (message_with_line, [...]): Delete.

gcc/
* read-md.h (message_with_line, error_with_line): Delete.
* read-md.c (message_with_line, error_with_line): Delete.
* gensupport.h: Include read-md.h.
(md_rtx_info): New structure.
(read_md_rtx): Use it.  Return a bool success value.
* gensupport.c (read_md_rtx): Likewise.
* genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
(main): Update after interface changes.
* genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
(main): Update after interface changes.
* genattrtab.c (insn_code_number): Delete.
(optimize_attrs): Add a max_insn_code parameter and use it instead
of insn_code_number.
(gen_attr): Take an md_rtx_info rather than an rtx and lineno.
Use *_at rather than *_with_line functions.
(gen_insn): Likewise.
(gen_delay): Likewise.
(gen_insn_reserv): Likewise.
(gen_bypass): Take an md_rtx_info rather than an rtx.
(main): Update after interface changes.  Use a local max_insn_code
variable instead of insn_code_number.
* genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
an rtx.  Use fatal_at rather than fatal.
(gen_query_cpu_unit, gen_bypass, gen_excl_set)
(gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
(gen_absence_set, gen_final_absence_set, gen_automaton)
(gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
(main): Update after interface changes.
* gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
and code number.
(main): Update after interface changes.
* genconditions.c (main): Use new read_md_rtx interface.
* genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
(gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
(main): Update after interface changes.
* genemit.c (insn_code_number, insn_index_number): Delete.
(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
Use fatal_at rather than fatal.
(gen_expand): Take an md_rtx_info rather than an rtx.  Use fatal_at
rather than fatal.
(gen_split): Likewise.
(main): Update after interface changes.
* genextract.c (line_no): Delete.
(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
Update call to walk_rtx.
(VEC_safe_set_locstr): Add an md_rtx_info argument.  Use message_at
rather than message_with_line.
(walk_rtx): Add an md_rtx_info argument.  Update call to
VEC_safe_set_locstr.
(main): Update after interface changes.
* genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
and lineno.  Use error_at rather than separate message_with_line
calls and have_error assignments.
(main): Update after interface changes.
* genmddump.c (main): Use new read_md_rtx interface.
* genopinit.c (insn): Take an md_rtx_info rather than an rtx.
(main): Update after interface changes.
* genoutput.c (next_code_number): Delete.
(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
(gen_peephole, gen_expand, gen_split): Likewise.
(note_constraint): Likewise.  Use *_at rather than *_with_line
functions.
(main): Update after interface changes.
* genpeep.c (gen_peephole): Take an md_rtx_info rather than an
rtx and lineno.
(main): Update after interface changes.
* genpreds.c (process_define_predicate): Take an md_rtx_info rather
than an rtx and lineno.
(process_define_constraint): Likewise.
(process_define_register_constraint): Likewise.
(main): Update after interface changes.
* genrecog.c (next_insn_code, pattern_lineno): Delete.
(validate_pattern): Replace top-level rtx with an md_rtx_info.
Use *_at rather than *_with_line functions.
(match_pattern_2): Likewise.
(match_pattern_1, match_pattern): Add an md_rtx_info parameter.
(get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
Use *_at rather than *_with_line functions.
* gentarget-def.c (add_insn): New function.
(main): Use it.  Use new read_md_rtx interface.

From-SVN: r225883

9 years agogensupport.h (compute_test_codes): Take a file_location rather than a line number.
Richard Sandiford [Thu, 16 Jul 2015 13:50:08 +0000 (13:50 +0000)]
gensupport.h (compute_test_codes): Take a file_location rather than a line number.

gcc/
* gensupport.h (compute_test_codes): Take a file_location rather
than a line number.
* gensupport.c (compute_test_codes): Likewise.  Use *_at functions
rather than *_with_line functions.
(process_define_predicate): Update call to compute_test_codes.
* genpreds.c (validate_exp): Take a file_location rather than a
line number.  Use *_at functions rather than *_with_line functions.
(process_define_predicate): Update call to validate_exp.
(constraint_data): Replace lineno field with a file_location.
(add_constraint): Take a file_location rather than a line number.
Use *_at functions rather than *_with_line functions.  Fix error
message for address constraints.  Update after changes to
validate_exp, constraint_data and compute_test_codes.
(process_define_constraint): Update accordingly.
(process_define_register_constraint): Likewise.

From-SVN: r225882

9 years agogenoutput.c (data): Use a file_location to record the source position.
Richard Sandiford [Thu, 16 Jul 2015 13:47:48 +0000 (13:47 +0000)]
genoutput.c (data): Use a file_location to record the source position.

gcc/
* genoutput.c (data): Use a file_location to record the source
position.
(nothing): Delete.
(idata, idata_end): Remove initialization.
(constraint_data): Replace lineno with a file_location.
(output_insn_data): Update after changes to data.
(gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
(scan_operands): Likewise, using *_at rather than *_with_line
functions.
(process_template): Likewise.
(validate_insn_alternatives): Likewise.
(validate_insn_operands): Likewise.
(validate_optab_operands): Likewise.
(init_insn_for_nothing): Initialize idata and idata_end.
(note_constraint): Update after changes to constraint_data,
using at rather than with_line functions.
(mdep_constraint_len): Take a file_location rather than a
line number.  Use at rather than with_line functions.

From-SVN: r225881

9 years agoread-md.h (fatal_at): Declare.
Richard Sandiford [Thu, 16 Jul 2015 13:45:20 +0000 (13:45 +0000)]
read-md.h (fatal_at): Declare.

gcc/
* read-md.h (fatal_at): Declare.
* read-md.c (fatal_at): New function.
* genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
to record the source position.
(check_attr_test): Take a file_location instead of a line number.
Use fatal_at instead of fatal.
(check_attr_value): Update after above changes, using "at"
rather than "with_line" reporting functions.
(convert_set_attr_alternative): Likewise.
(gen_attr): Likewise.
(check_defs): Likewise.  Don't assign to read_md_filename.
(gen_insn): Update initialization after above changes.
(gen_delay): Likewise.
(write_insn_cases): Print the filename for a define_peephole.
(gen_insn_reserv): Take a line number as argument and update
the call to check_attr_test.
(main): Pass a line number to gen_insn_reserv.

From-SVN: r225880

9 years agoread-md.h (file_location): New structure.
Richard Sandiford [Thu, 16 Jul 2015 13:41:41 +0000 (13:41 +0000)]
read-md.h (file_location): New structure.

gcc/
* read-md.h (file_location): New structure.
(directive_handler_t): Take a file_location rather than a line number.
(message_at, error_at): Declare.
(read_skip_construct): Delete.
* read-md.c (message_with_line_1): Replace with...
(message_at_1): ...this new function.
(message_at, error_at): New functions.
(message_with_line, error_with_line): Update to use message_at_1.
(handle_enum): Take a file_location rather than a line number
and use error_at for error reporting.
(handle_include): Likewise.
(read_skip_construct): Likewise.  Make static.
(handle_file): Update after above changes.  Pass a file_location
rather than a line number to handle_directive.
* gensupport.c (queue_elem): Replace separate filename and lineno
with a file_location.
(queue_pattern): Replace filename and lineno arguments with a
file_location.  Update after change to queue_elem.
(process_define_predicate): Replace lineno argument with a
file_location and use error_at for error reporting.  Update
after above changes.
(process_rtx): Likewise.
(subst_pattern_match): Likewise.
(get_alternatives_number): Likewise.
(alter_predicate_for_insn): Likewise.
(rtx_handle_directive): Likewise.
(is_predicable): Update after above changes, using error_at rather
than error_with_line.
(has_subst_attribute): Likewise.
(identify_predicable_attribute): Likewise.
(alter_attrs_for_subst_insn): Likewise.
(process_one_cond_exec): Likewise.
(process_substs_on_one_elem): Likewise.
(process_define_subst): Likewise.
(check_define_attr_duplicates): Likewise.
(read_md_rtx): Update after change to queue_elem.

From-SVN: r225879

9 years agogenoutput.c (next_index_number): Delete.
Richard Sandiford [Thu, 16 Jul 2015 13:20:48 +0000 (13:20 +0000)]
genoutput.c (next_index_number): Delete.

gcc/
* genoutput.c (next_index_number): Delete.
(data): Remove index_number.
(gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
(main): Remove manipulation of next_index_number.

From-SVN: r225876

9 years agogenattrtab.c (check_attr_value): Remove handling of null attrs.
Richard Sandiford [Thu, 16 Jul 2015 13:16:39 +0000 (13:16 +0000)]
genattrtab.c (check_attr_value): Remove handling of null attrs.

gcc/
* genattrtab.c (check_attr_value): Remove handling of null attrs.
(make_canonical): Likewise.

From-SVN: r225875

9 years agosparc.md (save_stack_nonlocal): Use adjust_address instead of adjust_address_nv.
Eric Botcazou [Thu, 16 Jul 2015 13:00:55 +0000 (13:00 +0000)]
sparc.md (save_stack_nonlocal): Use adjust_address instead of adjust_address_nv.

* config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
instead of adjust_address_nv.
(restore_stack_nonlocal): Likewise.
(nonlocal_goto): Likewise.

From-SVN: r225874

9 years agoHandle exit phi without header phi in create_parallel_loop
Tom de Vries [Thu, 16 Jul 2015 11:51:38 +0000 (11:51 +0000)]
Handle exit phi without header phi in create_parallel_loop

2015-07-16  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (create_parallel_loop): Handle case that exit phi does
not have a corresponding loop header phi.

From-SVN: r225873

9 years agoHandle unused reduction in create_loads_for_reductions
Tom de Vries [Thu, 16 Jul 2015 11:51:28 +0000 (11:51 +0000)]
Handle unused reduction in create_loads_for_reductions

2015-07-16  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (create_loads_for_reductions): Handle case that
reduction is unused.

From-SVN: r225872

9 years agore PR tree-optimization/66894 (wrong code at -Os and above on x86_64-linux-gnu)
Richard Biener [Thu, 16 Jul 2015 11:27:34 +0000 (11:27 +0000)]
re PR tree-optimization/66894 (wrong code at -Os and above on x86_64-linux-gnu)

2015-07-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66894
* tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
about deriving NE_EXPR from truncated values.

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

From-SVN: r225870

9 years agoAdd new object_allocator and clean-up allocator usage.
Martin Liska [Thu, 16 Jul 2015 11:26:05 +0000 (13:26 +0200)]
Add new object_allocator and clean-up allocator usage.

* c-format.c (static void check_format_info_main): Use
object_allocator instead of pool_allocator.
(check_format_arg): Likewise.
(check_format_info_main): Likewise.
* alloc-pool.h
(object_allocator): Add new class.
(pool_allocator::initialize): Use the underlying class.
(pool_allocator::allocate): Likewise.
(pool_allocator::remove): Likewise.
(operator new): A new generic allocator.
* asan.c (struct asan_mem_ref): Remove unused members.
(asan_mem_ref_new): Replace new operator with
object_allocator::allocate.
(free_mem_ref_resources): Change deallocation.
* cfg.c (initialize_original_copy_tables): Replace pool_allocator
with object_allocator.
* config/sh/sh.c (add_constant): Replace new operator with
object_allocator::allocate.
(sh_reorg): Change call to a release method.
* cselib.c (struct elt_list): Remove unused members.
(new_elt_list): Replace new operator with
object_allocator::allocate.
(new_elt_loc_list): Likewise.
(new_cselib_val): Likewise.
(unchain_one_elt_list): Change delete operator with remove method.
(unchain_one_elt_loc_list): Likewise.
(unchain_one_value): Likewise.
(cselib_finish): Release newly added static allocators.
* cselib.h (struct cselib_val): Remove unused members.
(struct elt_loc_list): Likewise.
* df-problems.c (df_chain_alloc): Replace pool_allocator with
object_allocator.
* df-scan.c (struct df_scan_problem_data): Likewise.
(df_scan_alloc): Likewise.
* df.h (struct dataflow): Likewise.
* dse.c (struct read_info_type): Likewise.
(struct insn_info_type): Likewise.
(struct dse_bb_info_type): Likewise.
(struct group_info): Likewise.
(struct deferred_change): Likewise.
(get_group_info): Likewise.
(delete_dead_store_insn): Likewise.
(free_read_records): Likewise.
(replace_read): Likewise.
(check_mem_read_rtx): Likewise.
(scan_insn): Likewise.
(dse_step1): Likewise.
(dse_step7): Likewise.
* et-forest.c (struct et_occ): Remove unused members.
(et_new_occ): Use allocate instead of new operator.
(et_new_tree): Likewise.
(et_free_tree): Call release method explicitly.
(et_free_tree_force): Likewise.
(et_free_pools): Likewise.
(et_split): Use remove instead of delete operator.
* et-forest.h (struct et_node): Remove unused members.
* ipa-cp.c: Change pool_allocator to object_allocator.
* ipa-inline-analysis.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-prop.h: Likewise.
* ira-build.c (initiate_cost_vectors): Cast return value.
(ira_allocate_cost_vector): Likewise.
* ira-color.c (struct update_cost_record): Remove unused members.
* lra-int.h (struct lra_live_range): Likewise.
(struct lra_copy): Likewise.
(struct lra_insn_reg): Likewise.
* lra-lives.c (lra_live_ranges_finish): Release new static allocator.
* lra.c (new_insn_reg): Replace new operator with allocate method.
(free_insn_regs): Same for operator delete.
(finish_insn_regs): Release new static allocator.
(finish_insn_recog_data): Likewise.
(lra_free_copies): Replace delete operator with remove method.
(lra_create_copy): Replace operator new with allocate method.
(invalidate_insn_data_regno_info): Same for remove method.
* regcprop.c (struct queued_debug_insn_change): Remove unused members.
(free_debug_insn_changes): Replace delete operator with remove method.
(replace_oldest_value_reg): Replace operator new with allocate method.
(pass_cprop_hardreg::execute): Release new static variable.
* sched-deps.c (sched_deps_init): Change pool_allocator to
object_allocator.
* sel-sched-ir.c: Likewise.
* sel-sched-ir.h: Likewise.
* stmt.c (expand_case): Likewise.
(expand_sjlj_dispatch_table): Likewise.
* tree-sra.c (struct access): Remove unused members.
(struct assign_link): Likewise.
(sra_deinitialize): Release newly added static pools.
(create_access_1):Replace operator new with allocate method.
(build_accesses_from_assign): Likewise.
(create_artificial_child_access): Likewise.
* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
pool_allocator to object_allocator.
* tree-ssa-pre.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c (allocate_vn_table): Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* var-tracking.c (onepart_pool_allocate): New function.
(unshare_variable): Use the newly added function.
(variable_merge_over_cur): Likewise.
(variable_from_dropped): Likewise.
(variable_was_changed): Likewise.
(set_slot_part): Likewise.
(emit_notes_for_differences_1): Likewise.
(vt_finalize): Release newly added static pools.

From-SVN: r225869

9 years agoGive struct param_aa_atatus and struct func_body_info an ipa_ prefix.
Martin Jambor [Thu, 16 Jul 2015 09:48:20 +0000 (11:48 +0200)]
Give struct param_aa_atatus and struct func_body_info an ipa_ prefix.

2015-07-16  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status.  Adjust
all uses.  Fix two typos in its general comment.
(func_body_info): Rename to ipa_func_body_info.  Adjust all uses.

From-SVN: r225867

9 years agolinux-common.h (LINK_MPX): New.
Ilya Enkovich [Thu, 16 Jul 2015 08:36:02 +0000 (08:36 +0000)]
linux-common.h (LINK_MPX): New.

gcc/

* config/i386/linux-common.h (LINK_MPX): New.
(MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
* configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
indicating '-z bndplt' support by linker.
* configure: Regenerate.
* config.in: Regenerate.

libmpx/

* configure.ac: Remove link_mpx.
* libmpx.spec.in: Likewise.
* configure: Regenerate.

From-SVN: r225862

9 years agofold-const.c (fold_widened_comparison): Remove.
Richard Biener [Thu, 16 Jul 2015 08:28:51 +0000 (08:28 +0000)]
fold-const.c (fold_widened_comparison): Remove.

2015-07-16  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_widened_comparison): Remove.
(fold_sign_changed_comparison): Likewise.
(fold_comparison): Move widened and sign-changed comparison
simplification ...
* match.pd: ... to patterns here.
* generic-match-head.c: Include target.h.
* gimple-match-head.c: Likewise.

* gcc.dg/tree-ssa/pr21031.c: Adjust.

From-SVN: r225861

9 years agotree-ssa-dom.c (dom_valueize): New function.
Richard Biener [Thu, 16 Jul 2015 07:19:24 +0000 (07:19 +0000)]
tree-ssa-dom.c (dom_valueize): New function.

2015-07-16  Richard Biener  <rguenther@suse.de>

* tree-ssa-dom.c (dom_valueize): New function.
(record_temporary_equivalences): Also record equivalences
for dominating stmts that have uses of equivalences we are
about to record.

From-SVN: r225860

9 years agotree-ssa-loop-ivopts.c (add_candidate): Remove call to add_autoinc_candidates.
Bin Cheng [Thu, 16 Jul 2015 05:49:47 +0000 (05:49 +0000)]
tree-ssa-loop-ivopts.c (add_candidate): Remove call to add_autoinc_candidates.

* tree-ssa-loop-ivopts.c (add_candidate): Remove call to
add_autoinc_candidates.
(add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
(add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
(add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
(add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
Call new function.
(add_iv_value_candidates): Rename to add_iv_candidate_for_use.
(add_iv_candidate_for_use): Rename from add_iv_value_candidates.
Remove parameter struct iv*.  Call add_autoinc_candidates here.
(add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
(add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
Call new function.
(find_iv_candidates): Call new functions.

From-SVN: r225859

9 years agonios2.c (nios2_emit_stack_limit_check): Fix uninitialized-variable warning.
Sandra Loosemore [Thu, 16 Jul 2015 03:30:31 +0000 (23:30 -0400)]
nios2.c (nios2_emit_stack_limit_check): Fix uninitialized-variable warning.

2015-07-16  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
uninitialized-variable warning.

From-SVN: r225857

9 years agore PR target/65249 (unable to find a register to spill in class 'R0_REGS' when compil...
Kaz Kojima [Thu, 16 Jul 2015 00:48:33 +0000 (00:48 +0000)]
re PR target/65249 (unable to find a register to spill in class 'R0_REGS' when compiling protobuf on sh4)

PR target/65249
* config/sh/sh.md (movdi): Split simple reg move to two movsi when
  the destination is R0 so as to lower R0-register pressure.

From-SVN: r225856

9 years agoDaily bump.
GCC Administrator [Thu, 16 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225855

9 years agore PR target/66866 (incorrect load address on manual vector shuffle)
Uros Bizjak [Wed, 15 Jul 2015 22:20:17 +0000 (00:20 +0200)]
re PR target/66866 (incorrect load address on manual vector shuffle)

PR target/66866
* config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
* config/i386/i386.c (ix86_expand_pextr): New function.
(ix86_expand_pinsr): Handle V1TI and TI modes.  Call ix86_expand_pextr
for non-lowpart subregs.
* config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
(insv<mode>): Use SWI248 mode iterator.
(insv<mode>_1): Ditto.

testsuite/ChangeLog:

PR target/66866
* g++.dg/pr66866.C: New test.

From-SVN: r225852

9 years agoOne of the code refactorings introducing phi node iterators modified the semantics...
Aditya Kumar [Wed, 15 Jul 2015 21:37:07 +0000 (21:37 +0000)]
One of the code refactorings introducing phi node iterators modified the semantics of this code.

One of the code refactorings introducing phi node iterators modified
the semantics of this code.  Revert that change to what was before.

        * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
        iterator to use_stmt.

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

9 years ago[graphite] discard scops for which entry==exit
Aditya Kumar [Wed, 15 Jul 2015 21:37:01 +0000 (21:37 +0000)]
[graphite] discard scops for which entry==exit

In this patch we discard the scops where entry and exit are the same BB.
This is an effort to remove graphite-scop-detection.c:limit_scops.
Removing the limit_scops function introduces correctness regressions.
We are making relevant changes in incremental steps to fix those bugs,
and finally we intend to remove limit_scops.

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

        * graphite-scop-detection.c (build_scops_1): Discard scops for which entry==exit

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

9 years agographite-scop-detection.c (stmt_simple_for_scop_p): Bail out in case of a return...
Aditya Kumar [Wed, 15 Jul 2015 21:36:55 +0000 (21:36 +0000)]
graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in case of a return statement in scop.

        * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
        case of a return statement in scop.

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

9 years agographite-sese-to-poly.c (parameter_index_in_region): Only handle INTEGER_TYPE parameters.
Aditya Kumar [Wed, 15 Jul 2015 21:36:49 +0000 (21:36 +0000)]
graphite-sese-to-poly.c (parameter_index_in_region): Only handle INTEGER_TYPE parameters.

        * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
        INTEGER_TYPE parameters.
        (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
        VECTOR_CST in scan_tree_for_params.
        (add_conditions_to_domain): Only constrain on INTEGER_TYPE.

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

9 years agogimple-pretty-print.h: Don't include pretty-print.h.
Andrew MacLeod [Wed, 15 Jul 2015 19:57:03 +0000 (19:57 +0000)]
gimple-pretty-print.h: Don't include pretty-print.h.

* gimple-pretty-print.h: Don't include pretty-print.h.
* tree-streamer.h: Don't include lto-streamer.h.
* gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
* gimple-streamer-in.c: Remove redundant includes.
* gimple-streamer-out.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-polymorphic-call.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* lto/lto.c: Remove redundant includes.

From-SVN: r225847

9 years agoopth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't include input.h.
Andrew MacLeod [Wed, 15 Jul 2015 19:50:23 +0000 (19:50 +0000)]
opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't include input.h.

2015-07-15  Andrew MacLeod  <amacleod@redhat.com>

* opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
include input.h.
* opts.c: Remove multiline #include comment.

2015-07-15  Andrew MacLeod  <amacleod@redhat.com>

* java/expr.c: Remove multiline #include comment.

2015-07-15  Andrew MacLeod  <amacleod@redhat.com>

* fortran/trans-types.c: Remove multiline #include comment.

2015-07-15  Andrew MacLeod  <amacleod@redhat.com>

* c-family/c-opts.c: Remove multiline #include comment.

From-SVN: r225846