]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years agoRespect --param ipa-max-agg-items=0
jamborm [Wed, 18 May 2016 13:06:24 +0000 (13:06 +0000)] 
Respect --param ipa-max-agg-items=0

2016-05-18  Martin Jambor  <mjambor@suse.cz>

PR ipa/70646
* ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early
if parameter PARAM_IPA_MAX_AGG_ITEMS is zero.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236390 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR 70646] Store size to inlining predicate conditions
jamborm [Wed, 18 May 2016 13:04:23 +0000 (13:04 +0000)] 
[PR 70646] Store size to inlining predicate conditions

2016-05-18  Martin Jambor  <mjambor@suse.cz>

PR ipa/70646
* ipa-inline.h (condition): New field size.
* ipa-inline-analysis.c (add_condition): New parameter SIZE, use it
for comaprison and store it into the new condition.
(evaluate_conditions_for_known_args): Use condition size to check
access sizes for all but CHANGED conditions.
(unmodified_parm_1): New parameter size_p, store access size into it.
(unmodified_parm): Likewise.
(unmodified_parm_or_parm_agg_item): Likewise.
(eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p.
(set_cond_stmt_execution_predicate): Extract access sizes and store
them to conditions.
(set_switch_stmt_execution_predicate): Likewise.
(will_be_nonconstant_expr_predicate): Likewise.
(will_be_nonconstant_predicate): Likewise.
(inline_read_section): Stream condition size.
(inline_write_summary): Likewise.

testsuite/
* gcc.dg/ipa/pr70646.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236389 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: Add fp16 tests.
clyon [Wed, 18 May 2016 12:57:53 +0000 (12:57 +0000)] 
* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: Add fp16 tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236388 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add missing tests for vreinte...
clyon [Wed, 18 May 2016 12:54:13 +0000 (12:54 +0000)] 
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add missing tests for vreinterpretq_p{8,16}.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236387 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago* gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Add checks for vsliq_n_s64 and...
clyon [Wed, 18 May 2016 12:52:51 +0000 (12:52 +0000)] 
* gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Add checks for vsliq_n_s64 and vsliq_n_u64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236385 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK,
clyon [Wed, 18 May 2016 12:50:34 +0000 (12:50 +0000)] 
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK,
CHECK_FP, CHECK_CUMULATIVE_SAT): Print which type was checked.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236384 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.target/aarch64/advsimd-intrinsics/vmul.c: Remove useless #ifdef.
clyon [Wed, 18 May 2016 12:48:47 +0000 (12:48 +0000)] 
* gcc.target/aarch64/advsimd-intrinsics/vmul.c: Remove useless #ifdef.
* gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vtst.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236383 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Fix typo in comment.
clyon [Wed, 18 May 2016 12:46:23 +0000 (12:46 +0000)] 
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Fix typo in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236382 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix ChangeLog date.
clyon [Wed, 18 May 2016 12:41:50 +0000 (12:41 +0000)] 
Fix ChangeLog date.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236381 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.target/aarch64/noplt_3.c: Scan for "br\t".
clyon [Wed, 18 May 2016 12:33:36 +0000 (12:33 +0000)] 
* gcc.target/aarch64/noplt_3.c: Scan for "br\t".
* gcc.target/aarch64/tail_indirect_call_1.c: Scan for "br\t",
"blr\t" and switch to scan-assembler-times.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236377 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-18 Richard Biener <rguenther@suse.de>
rguenth [Wed, 18 May 2016 12:32:46 +0000 (12:32 +0000)] 
2016-05-18  Richard Biener  <rguenther@suse.de>

* tree-ssa-loop-im.c (determine_max_movement): Properly add
condition cost to PHI cost instead of total_cost.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236376 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSet DECL_PT_UID for merged variables in IPA ICF (PR70856).
marxin [Wed, 18 May 2016 11:48:50 +0000 (11:48 +0000)] 
Set DECL_PT_UID for merged variables in IPA ICF (PR70856).

PR fortran/70856
* ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for
merged variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236375 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-18 Richard Biener <rguenther@suse.de>
rguenth [Wed, 18 May 2016 11:21:33 +0000 (11:21 +0000)] 
2016-05-18  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (LTO_major_version): Bump to 6.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236374 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agofunction: Factor out make_*logue_seq
segher [Wed, 18 May 2016 11:07:20 +0000 (11:07 +0000)] 
function: Factor out make_*logue_seq

Make new functions make_split_prologue_seq, make_prologue_seq, and
make_epilogue_seq.

* function.c (make_split_prologue_seq, make_prologue_seq,
make_epilogue_seq): New functions, factored out from...
(thread_prologue_and_epilogue_insns): Here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236373 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agofunction: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before
segher [Wed, 18 May 2016 10:58:57 +0000 (10:58 +0000)] 
function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not before

We should do CLEANUP_EXPENSIVE after shrink-wrapping, because shrink-
wrapping creates constructs that CLEANUP_EXPENSIVE can optimise, and
nothing runs CLEANUP_EXPENSIVE later.

* function.c (rest_of_handle_thread_prologue_and_epilogue): Call
cleanup_cfg with CLEANUP_EXPENSIVE after shrink-wrapping instead
of before.  Add a comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236372 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * tree-ssa-loop-ivopts.c (get_computation_cost_at): Check inv
amker [Wed, 18 May 2016 10:41:28 +0000 (10:41 +0000)] 
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Check inv
expression pointer, not pointer to the pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236371 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[testsuite] Guard float64_t with __aarch64__
jiwang [Wed, 18 May 2016 09:43:04 +0000 (09:43 +0000)] 
[testsuite] Guard float64_t with __aarch64__

gcc/testsuite/
        * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Guard float64_t
        with __aarch64__.
        * gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c: Guard variable
        declarations under __aarch64__ and __ARM_FEATURE_FMA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236370 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/sse.md (pbroadcast_evex_isa): New mode attr.
jakub [Wed, 18 May 2016 09:24:59 +0000 (09:24 +0000)] 
* config/i386/sse.md (pbroadcast_evex_isa): New mode attr.
(avx2_pbroadcast<mode>): Add another alternative with v instead
of x constraints in it, using <pbroadcast_evex_isa> isa.
(avx2_pbroadcast<mode>_1): Similarly, add two such alternatives.

* gcc.target/i386/avx512bw-vpbroadcast-1.c: New test.
* gcc.target/i386/avx512bw-vpbroadcast-2.c: New test.
* gcc.target/i386/avx512bw-vpbroadcast-3.c: New test.
* gcc.target/i386/avx512vl-vpbroadcast-1.c: New test.
* gcc.target/i386/avx512vl-vpbroadcast-2.c: New test.
* gcc.target/i386/avx512vl-vpbroadcast-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236369 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/sse.md (<ssse3_avx2>_palignr<mode>): Use
jakub [Wed, 18 May 2016 09:24:15 +0000 (09:24 +0000)] 
* config/i386/sse.md (<ssse3_avx2>_palignr<mode>): Use
constraint x instead of v in second alternative, add avx512bw
alternative.

* gcc.target/i386/avx512vl-vpalignr-3.c: New test.
* gcc.target/i386/avx512bw-vpalignr-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236368 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/sse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use
jakub [Wed, 18 May 2016 09:23:39 +0000 (09:23 +0000)] 
* config/i386/sse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use
constraint x instead of v in second alternative, add avx512bw
alternative.

* gcc.target/i386/avx512vl-vpshufb-3.c: New test.
* gcc.target/i386/avx512bw-vpshufb-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236367 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use
jakub [Wed, 18 May 2016 09:23:03 +0000 (09:23 +0000)] 
* config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use
constraint x instead of v in second alternative, add avx512bw
alternative.

* gcc.target/i386/avx512vl-vpmulhrsw-3.c: New test.
* gcc.target/i386/avx512bw-vpmulhrsw-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236366 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/sse.md (avx2_pmaddubsw256, ssse3_pmaddubsw128): Add
jakub [Wed, 18 May 2016 09:22:28 +0000 (09:22 +0000)] 
* config/i386/sse.md (avx2_pmaddubsw256, ssse3_pmaddubsw128): Add
avx512bw alternative.

* gcc.target/i386/avx512bw-vpmaddubsw-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236365 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoi386. Extend static buffers. Fix SF mode operand constraint to `Yv' in storehpd pattern.
kyukhin [Wed, 18 May 2016 09:16:09 +0000 (09:16 +0000)] 
i386. Extend static buffers. Fix SF mode operand constraint to `Yv' in storehpd pattern.

gcc/
        * gcc/config/i386/sse.md (define_insn "*andnot<mode>3"): Extend static
array to 128 chars.
(define_insn "*andnottf3"): Ditto.
(define_insn "*<code><mode>3"/any_logic): Ditto.
(define_insn "*<code>tf3"/any_logic): Ditto.
(define_insn "sse2_storehpd"): Use Yv constraint for scalar
operand to block AVX-512VL insn variant emit when it is not enabled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236364 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAVX-512. Use `Yv' for SF mode operand in vec_concat pattern.
kyukhin [Wed, 18 May 2016 09:11:10 +0000 (09:11 +0000)] 
AVX-512. Use `Yv' for SF mode operand in vec_concat pattern.

gcc/
* config/i386/sse.md (define_insn "*vec_concatv2sf_sse4_1"): Use 'Yv'
constraint fot SF mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236363 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix patterns to enable sse-14.c to compile with -masm=intel.
kyukhin [Wed, 18 May 2016 09:06:11 +0000 (09:06 +0000)] 
Fix patterns to enable sse-14.c to compile with -masm=intel.

gcc/
        * config/i386/sse.md (define_insn "srcp14<mode>"): Use proper operand
modifiers.
(define_insn "rsqrt14<mode>"): Ditto.
(define_insn "<mask_codefor>avx512dq_cvtps2qqv2di<mask_name>"): Ditto.
(define_insn "<fixsuffix>fix_truncv2sfv2di2<mask_name>"): Ditto.
(define_insn "avx512f_<code>v8div16qi2_mask_store"): Ditto.
(define_insn "vec_set_hi_<mode><mask_name>"): Ditto.
(define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>"):
Ditto.
(define_insn "*avx512f_gatherdi<mode>"): Ditto.
(define_insn "*avx512f_scatterdi<mode>"): Ditto.
* config/i386/i386.c (ix86_print_operand): Expand check for size
override codes for Intel syntax.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236362 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-18 Richard Biener <rguenther@suse.de>
rguenth [Wed, 18 May 2016 08:10:20 +0000 (08:10 +0000)] 
2016-05-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71168
* tree-loop-distribution.c (distribute_loop): Move *destroy_p
initialization earlier.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236361 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64] Simplify reduc_plus_scal_v2[sd]f sequence
jgreenhalgh [Wed, 18 May 2016 08:00:33 +0000 (08:00 +0000)] 
[Patch AArch64] Simplify reduc_plus_scal_v2[sd]f sequence

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_reduc_plus_internal<mode>): Rename to...
(reduc_plus_scal): ...This, and remove previous implementation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236360 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdding the testcase which was not addaed as part of r236356.
kugan [Wed, 18 May 2016 07:50:05 +0000 (07:50 +0000)] 
Adding the testcase which was not addaed as part of r236356.
gcc/testsuite/ChangeLog:

2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/63586
* gcc.dg/tree-ssa/pr63586-2.c: New test.
* gcc.dg/tree-ssa/pr63586.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236359 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-18 Richard Biener <rguenther@suse.de>
rguenth [Wed, 18 May 2016 07:41:09 +0000 (07:41 +0000)] 
2016-05-18  Richard Biener  <rguenther@suse.de>

* passes.def: Put late dse and cd_dce in canonical order.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236358 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * ipa-inline-transform.c (preserve_function_body_p): Look for
hubicka [Wed, 18 May 2016 07:12:46 +0000 (07:12 +0000)] 
* ipa-inline-transform.c (preserve_function_body_p): Look for
first non-thunk clone.
(save_function_body): Save into first non-thunk.
* lto-cgraph.c (lto_output_edge): When streaming thunk do not look
up call stmt id.
(lto_output_node): Inline thunks don't need body in every
partition.
* lto-streamer-in.c: Do not fixup thunk clones.
* cgraphclones.c (cgraph_node::create_edge_including_clone): Skip
thunks.
* tree-inline.c (copy_bb): Be prepared for target node to be new after
folding suceeds.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236357 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/testsuite/ChangeLog:
kugan [Wed, 18 May 2016 00:58:45 +0000 (00:58 +0000)] 
gcc/testsuite/ChangeLog:

2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/63586
* gcc.dg/tree-ssa/pr63586-2.c: New test.
* gcc.dg/tree-ssa/pr63586.c: New test.
* gcc.dg/tree-ssa/reassoc-14.c: Adjust multiplication count.

gcc/ChangeLog:

2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/63586
* tree-ssa-reassoc.c (transform_add_to_multiply): New.
(reassociate_bb): Call transform_add_to_multiply.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236356 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/ChangeLog:
kugan [Wed, 18 May 2016 00:46:58 +0000 (00:46 +0000)] 
gcc/ChangeLog:

2016-05-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

* config/aarch64/aarch64.c (all_extensions): Removed unused static variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236355 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 18 May 2016 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236354 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * da.po: Update.
jsm28 [Wed, 18 May 2016 00:13:34 +0000 (00:13 +0000)] 
* da.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236349 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * da.po, sv.po: Update.
jsm28 [Wed, 18 May 2016 00:10:15 +0000 (00:10 +0000)] 
* da.po, sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236347 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.c-torture/execute/20030222-1.c: Skip on ptx.
nathan [Tue, 17 May 2016 21:28:11 +0000 (21:28 +0000)] 
* gcc.c-torture/execute/20030222-1.c: Skip on ptx.
* gcc.dg/pr68671.c: Fix ptx xfail-if.
* gcc.dg/torture/pr54261-1.c: Allocate atomic var statically.
* gcc.dg/torture/type-generic-1.c: Enable UNSAFE for ptx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236346 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/nvptx/nvptx.c (nvptx_function_arg_boundary): New.
nathan [Tue, 17 May 2016 21:16:49 +0000 (21:16 +0000)] 
* config/nvptx/nvptx.c (nvptx_function_arg_boundary): New.
(TARGET_FUNCTION_ARG_BOUNDARY): Override.

testsuite/
* gcc.target/nvptx/abi-vararg-3.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236345 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFold bit_not through ASR and rotate
miyuki [Tue, 17 May 2016 20:50:22 +0000 (20:50 +0000)] 
Fold bit_not through ASR and rotate

gcc/

PR tree-optimization/54579
PR middle-end/55299
* match.pd (~(~X >> Y), ~(~X >>r Y), ~(~X <<r Y)): New patterns.

gcc/testsuite

PR tree-optimization/54579
PR middle-end/55299
* gcc.dg/fold-notrotate-1.c: New test.
* gcc.dg/fold-notshift-1.c: New test.
* gcc.dg/fold-notshift-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236344 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR ipa/71146
mpolacek [Tue, 17 May 2016 20:00:41 +0000 (20:00 +0000)] 
PR ipa/71146
* tree-inline.c (expand_call_inline): Call
maybe_remove_unused_call_args.

* g++.dg/ipa/pr71146.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236343 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agojit: gcc diagnostics are jit errors
dmalcolm [Tue, 17 May 2016 19:28:47 +0000 (19:28 +0000)] 
jit: gcc diagnostics are jit errors

libgccjit performs numerous checks at the API boundary, but
if these succeed, it ignores errors and other diagnostics emitted
within the core of gcc, and treats the compile of a gcc_jit_context
as having succeeded.

This patch ensures that if any diagnostics are emitted, they
are visible from the libgccjit API, and that the the context is
flagged as having failed.

For now any kind of diagnostic is treated as a jit error,
so warnings and notes also count as errors.

gcc/jit/ChangeLog:
* dummy-frontend.c: Include diagnostic.h.
(jit_begin_diagnostic): New function.
(jit_end_diagnostic): New function.
(jit_langhook_init): Register jit_begin_diagnostic
and jit_end_diagnostic with the global_dc.
* jit-playback.c: Include diagnostic.h.
(gcc::jit::playback::context::add_diagnostic): New method.
* jit-playback.h (struct diagnostic_context): Add forward
declaration.
(gcc::jit::playback::context::add_diagnostic): New method.

gcc/testsuite/ChangeLog:
* jit.dg/test-error-array-bounds.c: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236342 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agojit: document gcc_jit_context_new_call_through_ptr
dmalcolm [Tue, 17 May 2016 19:17:19 +0000 (19:17 +0000)] 
jit: document gcc_jit_context_new_call_through_ptr

gcc/jit/ChangeLog:
* docs/topics/expressions.rst (Function calls): Document
gcc_jit_context_new_call_through_ptr.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236341 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix minor doc bugs, signalling typo, major version changes rare.
wilson [Tue, 17 May 2016 18:50:22 +0000 (18:50 +0000)] 
Fix minor doc bugs, signalling typo, major version changes rare.

gcc/
* doc/cpp.texi (__GNUC__): Major version changes are no longer rare.
* doc/invoke.texi (-mnan=2008): Change signalling to signaling.
* doc/md.texi (fmin@var{m}3): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236340 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agox & C -> x if we know that x & ~C == 0
glisse [Tue, 17 May 2016 17:57:27 +0000 (17:57 +0000)] 
x & C -> x if we know that x & ~C == 0

2016-05-17  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (X & C): New transformation.

gcc/testsuite/
* gcc.dg/tree-ssa/and-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236338 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago~X & Y to X ^ Y in some cases
glisse [Tue, 17 May 2016 17:54:28 +0000 (17:54 +0000)] 
~X & Y to X ^ Y in some cases

2016-05-17  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (~X & Y): New transformation.

gcc/testsuite/
* gcc.dg/tree-ssa/pr69270.c: Adjust.
* gcc.dg/tree-ssa/andnot-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236337 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoVRP: range info of new variables
glisse [Tue, 17 May 2016 17:50:55 +0000 (17:50 +0000)] 
VRP: range info of new variables

2016-05-17  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-vrp.c (simplify_truth_ops_using_ranges): Set range
information for new SSA_NAME.
(simplify_conversion_using_ranges): Get range through get_range_info
instead of get_value_range.

gcc/testsuite/
* gcc.dg/tree-ssa/pr69270.c: Adjust.
* gcc.dg/tree-ssa/vrp99.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236336 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64, 4/4] Reimplement vmvn* intrinscis, remove inline assembly
jiwang [Tue, 17 May 2016 16:41:18 +0000 (16:41 +0000)] 
[AArch64, 4/4] Reimplement vmvn* intrinscis, remove inline assembly

gcc/
* config/aarch64/arm_neon.h (vmvn_s8): Reimplement using C operator.
Remove inline assembly.
(vmvn_s16): Likewise.
(vmvn_s32): Likewise.
(vmvn_u8): Likewise.
(vmvn_u16): Likewise.
(vmvn_u32): Likewise.
(vmvnq_s8): Likewise.
(vmvnq_s16): Likewise.
(vmvnq_s32): Likewise.
(vmvnq_u8): Likewise.
(vmvnq_u16): Likewise.
(vmvnq_u32): Likewise.
(vmvn_p8): Likewise.
(vmvnq_p16): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236334 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64, 3/4] Reimplement multiply by element to get rid of inline assembly
jiwang [Tue, 17 May 2016 16:39:39 +0000 (16:39 +0000)] 
[AArch64, 3/4] Reimplement multiply by element to get rid of inline assembly

gcc/
* config/aarch64/aarch64-simd.md (vmul_n_f32): Remove inline assembly.
Use builtin.
(vmul_n_s16): Likewise.
(vmul_n_s32): Likewise.
(vmul_n_u16): Likewise.
(vmul_n_u32): Likewise.
(vmulq_n_f32): Likewise.
(vmulq_n_f64): Likewise.
(vmulq_n_s16): Likewise.
(vmulq_n_s32): Likewise.
(vmulq_n_u16): Likewise.
(vmulq_n_u32): Likewise.

gcc/testsuite/
* gcc.target/aarch64/simd/vmul_elem_1.c: Use intrinsics.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236333 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64, 2/4] Extend vector mutiply by element to all supported modes
jiwang [Tue, 17 May 2016 16:37:19 +0000 (16:37 +0000)] 
[AArch64, 2/4] Extend vector mutiply by element to all supported modes

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_mul3_elt_to_128df): Extend to
all supported modes.  Rename to "*aarch64_mul3_elt_from_dup".

gcc/testsuite/
* gcc.target/aarch64/simd/vmul_elem_1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236332 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64, 1/4] Add the missing support of vfms_n_f32, vfmsq_n_f32, vfmsq_n_f64
jiwang [Tue, 17 May 2016 16:34:46 +0000 (16:34 +0000)] 
[AArch64, 1/4]  Add the missing support of vfms_n_f32, vfmsq_n_f32, vfmsq_n_f64

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_to_128df): Rename
to *aarch64_fma4_elt_from_dup<mode>.
(*aarch64_fnma4_elt_to_128df): Rename to
*aarch64_fnma4_elt_from_dup<mode>.
* config/aarch64/arm_neon.h (vfma_n_f64): New.
(vfms_n_f32): Likewise.
(vfms_n_f64): Likewise.
(vfmsq_n_f32): Likewise.
(vfmsq_n_f64): Likewise.

gcc/testsuite/
* gcc.target/aarch64/fmla_intrinsic_1.c: Allow ".d[index]" besides
".2d[index]" when scan the assembly.
* gcc.target/aarch64/fmls_intrinsic_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: New entry for
float64x1.
* gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236331 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * wide-int.h: Change fixed_wide_int_storage from class to struct.
gerald [Tue, 17 May 2016 14:56:45 +0000 (14:56 +0000)] 
* wide-int.h: Change fixed_wide_int_storage from class to struct.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236324 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-17 Richard Biener <rguenther@suse.de>
rguenth [Tue, 17 May 2016 12:53:30 +0000 (12:53 +0000)] 
2016-05-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71132
* tree-loop-distribution.c (create_rdg_cd_edges): Pass in loop.
Only add control dependences for blocks in the loop.
(build_rdg): Adjust.
(generate_code_for_partition): Return whether loop should
be destroyed and delay that.
(distribute_loop): Likewise.
(pass_loop_distribution::execute): Record loops to be destroyed
and perform delayed destroying of loops.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236320 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * g++.dg/inherit/think1.C: Fix dg-do and dg-skip order.
clyon [Tue, 17 May 2016 12:22:33 +0000 (12:22 +0000)] 
* g++.dg/inherit/think1.C: Fix dg-do and dg-skip order.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236319 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] PR target/70809: Delete aarch64_vmls<mode> pattern
ktkachov [Tue, 17 May 2016 12:15:05 +0000 (12:15 +0000)] 
[AArch64] PR target/70809: Delete aarch64_vmls<mode> pattern

PR target/70809
* config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236318 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64] Delete ASM_OUTPUT_DEF and fallback to default .set directive
jgreenhalgh [Tue, 17 May 2016 11:10:10 +0000 (11:10 +0000)] 
[Patch AArch64] Delete ASM_OUTPUT_DEF and fallback to default .set directive

gcc/

* config/aarch64/aarch64-elf.h (ASM_OUTPUT_DEF): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236317 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][tests] Skip cpu-diagnostics tests when overriding -mcpu
ktkachov [Tue, 17 May 2016 10:22:07 +0000 (10:22 +0000)] 
[AArch64][tests] Skip cpu-diagnostics tests when overriding -mcpu

* gcc.target/aarch64/cpu-diagnostics-1.c: Skip if -mcpu is overriden.
* gcc.target/aarch64/cpu-diagnostics-2.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-3.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-4.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236316 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Tue, 17 May 2016 09:28:15 +0000 (09:28 +0000)] 
gcc/

PR target/71114
* config/i386/i386.c (dimode_scalar_chain::convert_op): Fix
insertion point for instructions generated by validize_mem.

gcc/testsuite/

PR target/71114
* gcc.target/i386/pr70799-1.c: Fix scan for Darwin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236315 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR sanitizer/71160
jakub [Tue, 17 May 2016 09:17:54 +0000 (09:17 +0000)] 
PR sanitizer/71160
* asan/asan_malloc_linux.cc: Cherry pick upstream r254395
and r269633.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236314 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch onbious] Fix indentation in c-typeck.c parser_build_unary_op
jgreenhalgh [Tue, 17 May 2016 09:02:19 +0000 (09:02 +0000)] 
[Patch onbious] Fix indentation in c-typeck.c parser_build_unary_op

gcc/c/

* c-typeck.c (parser_build_unary_op): Fix formatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236313 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch obvious AArch64] Wrap SHIFT_COUNT_TRUNCATED in brackets
jgreenhalgh [Tue, 17 May 2016 08:56:57 +0000 (08:56 +0000)] 
[Patch obvious AArch64] Wrap SHIFT_COUNT_TRUNCATED in brackets

* config/aarch64/aarch64.c (SHIFT_COUNT_TRUNCATED): Wrap definition
in brackets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236312 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64 trivial] Don't define a macro when a variable will do
jgreenhalgh [Tue, 17 May 2016 08:54:19 +0000 (08:54 +0000)] 
[AArch64 trivial] Don't define a macro when a variable will do

* config/aarch64/aarch64.c
(aarch64_output_simd_mov_immediate): Make "buf_size" a variable
rather than a macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236311 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Tue, 17 May 2016 08:07:52 +0000 (08:07 +0000)] 
2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>

libgomp/
* oacc-init.c (acc_init): Remove !cached_base_dev condition on call
to gomp_init_targets_once.
(acc_set_device_type): Remove !cached_base_dev condition on call to
gomp_init_targets_once, move call to before acc_device_lock acquire,
to avoid deadlock.
(acc_get_device_num): Remove !cached_base_dev condition on call to
gomp_init_targets_once.
(acc_set_device_num): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236310 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 17 May 2016 00:16:24 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236305 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config.guess: Import version 2016-04-02 (newest).
law [Mon, 16 May 2016 22:13:37 +0000 (22:13 +0000)] 
* config.guess: Import version 2016-04-02 (newest).
* config.sub: Import version 2016-05-10 (newest).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236301 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-13 Anton Kolesov <anton.kolesov@synopsys.com>
law [Mon, 16 May 2016 20:37:43 +0000 (20:37 +0000)] 
2016-05-13  Anton Kolesov  <anton.kolesov@synopsys.com>

* configure.ac: Add ARC support to libgloss.
* configure: Regenerate

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236300 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * ipa-inline-analysis.c (compute_inline_parameters): Disable inlinig
hubicka [Mon, 16 May 2016 19:33:02 +0000 (19:33 +0000)] 
* ipa-inline-analysis.c (compute_inline_parameters): Disable inlinig
into instrumentation thunks.
* cif-code.def (CIF_CHKP): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236299 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/xopintrin.h: Correct "unsinged" typo in the comments.
uros [Mon, 16 May 2016 18:56:33 +0000 (18:56 +0000)] 
* config/i386/xopintrin.h: Correct "unsinged" typo in the comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236297 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[hsa] Increase hsa symbol alignment to natural one
jamborm [Mon, 16 May 2016 17:49:44 +0000 (17:49 +0000)] 
[hsa] Increase hsa symbol alignment to natural one

2016-05-16  Martin Jambor  <mjambor@suse.cz>

* hsa-gen.c (fillup_for_decl): Increase alignment to natural one.
(get_symbol_for_decl): Sorry if a global symbol in under-aligned.

libgomp/
        * testsuite/libgomp.hsa.c/complex-align-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236295 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gimple.c (maybe_remove_unused_call_args): Fix typos in the
mpolacek [Mon, 16 May 2016 17:33:23 +0000 (17:33 +0000)] 
* gimple.c (maybe_remove_unused_call_args): Fix typos in the
commentary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236294 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR 70857] Copy RESULT_DECL of HSA outlined kernel function
jamborm [Mon, 16 May 2016 15:40:30 +0000 (15:40 +0000)] 
[PR 70857] Copy RESULT_DECL of HSA outlined kernel function

2016-05-16  Martin Jambor  <mjambor@suse.cz>

PR hsa/70857
* omp-low.c (grid_expand_target_grid_body): Copy RESULT_DECL of
the outlined kernel function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236291 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUpdate documentation of AArch64 options for GCC6 to be more accurate,
wilco [Mon, 16 May 2016 14:55:15 +0000 (14:55 +0000)] 
Update documentation of AArch64 options for GCC6 to be more accurate,
fix a few minor mistakes and remove some duplication.

        * doc/invoke.texi (AArch64 Options): Various updates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236290 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoEnable LSA/DLSA for MSA.
rts [Mon, 16 May 2016 14:21:02 +0000 (14:21 +0000)] 
Enable LSA/DLSA for MSA.

* config/mips/mips.h (ISA_HAS_LSA): Enable for -mmsa.
(ISA_HAS_DLSA): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236289 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoCorrect the latency of loads in M5100
rts [Mon, 16 May 2016 14:20:47 +0000 (14:20 +0000)] 
Correct the latency of loads in M5100

gcc/
* config/mips/m5100.md (m51_int_load): Update the latency to 2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236288 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/nvptx/nvptx.c (nvptx_mangle_decl_assembler_name): Revert.
nathan [Mon, 16 May 2016 13:16:28 +0000 (13:16 +0000)] 
* config/nvptx/nvptx.c (nvptx_mangle_decl_assembler_name): Revert.
(nvptx_name_replacement): Restore.  Add comment.
(write_fn_proto, write_fn_proto_from_insn,
nvptx_output_call_insn): Restore
(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236286 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSome patterns are using '%w2' for immediate operands, which means that a zero
wilco [Mon, 16 May 2016 12:52:22 +0000 (12:52 +0000)] 
Some patterns are using '%w2' for immediate operands, which means that a zero
immediate is actually emitted as 'wzr' or 'xzr'.  This not only changes an
immediate operand into a register operand but may emit illegal instructions
from legal RTL (eg. ORR x0, SP, xzr rather than ORR x0, SP, 0).

* config/aarch64/aarch64.md
(add<mode>3_compareC_cconly_imm): Remove use of %w.
(add<mode>3_compareC_imm): Likewise.
(<optab>si3_uxtw): Split into register and immediate variants.
(andsi3_compare0_uxtw): Likewise.
(and<mode>3_compare0): Likewise.
(and<mode>3nr_compare0): Likewise.
(stack_protect_test_<mode>): Don't use %x for memory operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236285 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix multi-line brackets in mips-cpus.def
mpf [Mon, 16 May 2016 12:45:31 +0000 (12:45 +0000)] 
Fix multi-line brackets in mips-cpus.def

gcc/
* config/mips/mips-cpus.def (p5600): Add multi-line brackets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236284 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build
ebotcazou [Mon, 16 May 2016 11:33:01 +0000 (11:33 +0000)] 
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build
a specific type for the object if it is deemed a constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236283 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * freeze.adb (Freeze_Record_Type): Extend pragma Implicit_Packing to
ebotcazou [Mon, 16 May 2016 11:20:45 +0000 (11:20 +0000)] 
* freeze.adb (Freeze_Record_Type): Extend pragma Implicit_Packing to
components of any elementary types and of composite types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236282 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * freeze.adb (Freeze_Array_Type): Call Addressable predicate instead
ebotcazou [Mon, 16 May 2016 11:16:42 +0000 (11:16 +0000)] 
* freeze.adb (Freeze_Array_Type): Call Addressable predicate instead
of testing for individual sizes.
(Freeze_Entity): Rework implementation of pragma Implicit_Packing for
array types, in particular test for suitable sizes upfront and do not
mimic the processing that will be redone later in Freeze_Array_Type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236281 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/trans.c (elaborate_all_entities_for_package): Also skip
ebotcazou [Mon, 16 May 2016 11:11:47 +0000 (11:11 +0000)] 
* gcc-interface/trans.c (elaborate_all_entities_for_package): Also skip
formal objects.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236280 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * doc/gnat_rm/implementation_defined_attributes.rst
ebotcazou [Mon, 16 May 2016 11:08:53 +0000 (11:08 +0000)] 
* doc/gnat_rm/implementation_defined_attributes.rst
(Scalar_Storage_Order): Adjust restriction for packed array types.
* einfo.ads (Is_Bit_Packed_Array): Adjust description.
(Is_Packed): Likewise.
(Is_Packed_Array_Impl_Type): Likewise.
(Packed_Array_Impl_Type): Likewise.
* exp_ch4.adb (Expand_N_Indexed_Component): Do not do anything special
if the prefix is not a packed array implemented specially.
* exp_ch6.adb (Expand_Actuals): Expand indexed components only for
bit-packed array types.
* exp_pakd.adb (Install_PAT): Set Is_Packed_Array_Impl_Type flag on
the PAT before analyzing its declaration.
(Create_Packed_Array_Impl_Type): Remove redundant statements.
* freeze.adb (Check_Component_Storage_Order): Reject packed array
components only if they are bit packed.
(Freeze_Array_Type): Fix logic detecting bit packing and do not bit
pack for composite types whose size is multiple of a byte.
Create the implementation type for packed array types only when it is
needed, i.e. bit packing or packing because of holes in index types.
Make sure the Has_Non_Standard_Rep and Is_Packed flags agree.
* gcc-interface/gigi.h (make_packable_type): Add MAX_ALIGN parameter.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
Call maybe_pad_type instead of building the padding type manually.
(gnat_to_gnu_entity) <E_Array_Subtype>: Do not assert that
Packed_Array_Impl_Type is present for packed arrays.
(gnat_to_gnu_component_type): Also handle known alignment for packed
types by passing it to make_packable_type.
* gcc-interface/utils.c (make_packable_type): Add MAX_ALIGN parameter
and deal with it in the array case.  Adjust recursive call.  Simplify
computation of new size and cap the alignment to BIGGEST_ALIGNMENT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236279 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoThis patch fixes the attributes of integer immediate shifts which were
wilco [Mon, 16 May 2016 11:01:36 +0000 (11:01 +0000)] 
This patch fixes the attributes of integer immediate shifts which were
incorrectly modelled as register controlled shifts.  Also change EXTR
attribute to being a rotate.

* gcc/config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
Split integer shifts into shift_reg and bfm.
(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
(ror<mode>3_insn): Likewise.
(<optab>si3_insn_uxtw): Likewise.
(<optab><mode>3_insn): Change to rotate_imm.
(extr<mode>5_insn_alt): Likewise.
(extrsi5_insn_uxtw): Likewise.
(extrsi5_insn_uxtw_alt): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236278 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * freeze.adb (Check_Component_Storage_Order): Also get full view of
ebotcazou [Mon, 16 May 2016 10:58:20 +0000 (10:58 +0000)] 
* freeze.adb (Check_Component_Storage_Order): Also get full view of
enclosing type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236277 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRemove TARGET_INVALID_PARAMETER_TYPE and TARGET_INVALID_RETURN_TYPE hooks.
mwahab [Mon, 16 May 2016 10:22:25 +0000 (10:22 +0000)] 
Remove TARGET_INVALID_PARAMETER_TYPE and TARGET_INVALID_RETURN_TYPE hooks.

c/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>

* c-decl.c (grokdeclarator): Remove errmsg and use of
targetm.invalid_return_type.
(grokparms): Remove errmsg and use of
targetm.invalid_parameter_type.

cp/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>

* decl.c (grokdeclarator): Remove errmsg and use of
targetm.invalid_return_type.
(grokparms): Remove errmsg and use of
targetm.invalid_parameter_type.

gcc/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>

* doc/tm.texi: Regenerate.
* doc/tm.texi.in (TARGET_INVALID_PARAMETER_TYPE): Remove.
(TARGET_INVALID_RETURN_TYPE): Remove.
* system.h: Poison TARGET_INVALID_PARAMETER_TYPE and
TARGET_INVALID_RETURN_TYPE.
* target.def (invalid_parameter_type): Remove.
(invalid_return_type): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236276 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * exp_util.adb (Remove_Side_Effects): Also make a constant if we need
ebotcazou [Mon, 16 May 2016 10:14:19 +0000 (10:14 +0000)] 
* exp_util.adb (Remove_Side_Effects): Also make a constant if we need
to capture the value for a small not by-reference record type.
* freeze.ads (Check_Compile_Time_Size): Adjust comment.
* freeze.adb (Set_Small_Size): Likewise.  Accept a size in the range
of 33 .. 64 bits.
(Check_Compile_Time_Size): Merge scalar and access type cases. Change
variable name in array type case.  For the computation of the packed
size, deal with record components and remove redundant test.
(Freeze_Array_Type): Also adjust packing status when the size of the
component type is in the range 33 .. 64 bits.
* doc/gnat_rm/representation_clauses_and_pragmas.rst: Turn primitive
into elementary type throughout.  Minor tweaks.
(Alignment Clauses): Document actual alignment of packed array types.
(Pragma Pack for Arrays): List only the 3 main cases and adjust.  Add
"simple" to the record case.  Document effect on non packable types.
(Pragma Pack for Records): Likewise.  Add record case and adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236275 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * ipa-inline-analysis.c (compute_inline_parameters): Be more reailistic
hubicka [Mon, 16 May 2016 10:10:28 +0000 (10:10 +0000)] 
* ipa-inline-analysis.c (compute_inline_parameters): Be more reailistic
on estimating thunk bodies; do not set inline_failed to CIF_THUNK for
calls from thunk.
* ipa-inline-transform.c (inline_call): When inlining into thunk produce
gimple body.
(preserve_function_body_p): No need to preserve function body
* cif-codes.def (CIF_THUNK): Remove.
* cgraphclones.c (duplicate_thunk_for_node): Thunks calls are inlinable.

* g++.dg/ipa/ivinline-7.C: Do not xfail.
* g++.dg/ipa/ivinline-9.C: Do not xfail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236274 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * tree-inline.c (expand_call_inline): recurse after inlining thunk.
hubicka [Mon, 16 May 2016 10:01:57 +0000 (10:01 +0000)] 
* tree-inline.c (expand_call_inline): recurse after inlining thunk.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236273 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * tree.c (free_lang_data_in_decl): Also set target/optimization flags
hubicka [Mon, 16 May 2016 09:59:25 +0000 (09:59 +0000)] 
* tree.c (free_lang_data_in_decl): Also set target/optimization flags
for thunks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236272 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * ipa-inline.c (report_inline_failed_reason): Look into thunks, too
hubicka [Mon, 16 May 2016 09:56:19 +0000 (09:56 +0000)] 
* ipa-inline.c (report_inline_failed_reason): Look into thunks, too
(inline_small_functions): Do not look for function symbol when resetting
caches.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236271 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * lto-cgraph.c (compute_ltrans_boundary, output_symtab): Fix handling
hubicka [Mon, 16 May 2016 09:55:14 +0000 (09:55 +0000)] 
* lto-cgraph.c (compute_ltrans_boundary, output_symtab): Fix handling
of inline thunks
* lto-partition.c (add_symbol_to_partition_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236270 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM] Enable __fp16 as a function parameter and return type.
mwahab [Mon, 16 May 2016 09:31:58 +0000 (09:31 +0000)] 
[ARM] Enable __fp16 as a function parameter and return type.

gcc/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Jiong Wang  <jiong.wang@arm.com>

* config/arm/arm-c.c (arm_cpu_builtins): Use def_or_undef_macro
for __ARM_FP16_FORMAT_IEEE and __ARM_FP16_FORMAT_ALTERNATIVE.
Define __ARM_FP16_ARGS when appropriate.
* config/arm/arm.c (arm_invalid_parameter_type): Remove
declaration.
(arm_invalid_return_type): Likewise.
(TARGET_INVALID_PARAMETER_TYPE): Remove.
(TARGET_INVALID_RETURN_TYPE): Remove.
(aapcs_vfp_sub_candidate): Allow HFmode.
(aapcs_vfp_allocate): Add comment.  Support HFmode.
(aapcs_vfp_allocate_return_reg): Likewise.
(struct aapcs_cp_arg_layout): Slightly reword comments for
is_return_candidate and allocate_return_reg.
(output_mov_vfp): Update assert.
(arm_hard_regno_mode_ok): Remove comment, update HF-mode
condition.
(arm_invalid_parameter_type): Remove.
(amr_invalid_return_type): Remove.
* config/arm/arm.h (TARGET_NEON_FP16): Fix definition.
* config/arm/arm.md (*arm32_movhf): Disable for TARGET_VFP.
* config/arm/vfp.md (*movhf_vfp): Enable for TARGET_VFP.

gcc/testsuite/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>

* g++.dg/ext/arm-fp16/fp16-param-1.c: Update expected output.  Add
test for __ARM_FP16_ARGS.
* g++.dg/ext/arm-fp16/fp16-return-1.c: Update expected output.
* gcc.target/arm/aapcs/neon-vect10.c: New.
* gcc.target/arm/aapcs/neon-vect9.c: New.
* gcc.target/arm/aapcs/vfp18.c: New.
* gcc.target/arm/aapcs/vfp19.c: New.
* gcc.target/arm/aapcs/vfp20.c: New.
* gcc.target/arm/aapcs/vfp21.c: New.
* gcc.target/arm/fp16-aapcs-1.c: New.
* g++.target/arm/fp16-param-1.c: Update expected output.  Add
test for __ARM_FP16_ARGS.
* g++.target/arm/fp16-return-1.c: Update expected output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236269 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMove wrong ChangeLog entry from toplevel to gcc ChangeLog.
mwahab [Mon, 16 May 2016 09:20:50 +0000 (09:20 +0000)] 
Move wrong ChangeLog entry from toplevel to gcc ChangeLog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236268 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agognattools/
ebotcazou [Mon, 16 May 2016 08:55:12 +0000 (08:55 +0000)] 
gnattools/
* configure.ac: Add ACX_NONCANONICAL_HOST.
* configure: Regenerate.
* Makefile.in: Replace host_alias with host_noncanonical.
(gnattools-cross): Do not rename the tools.
gcc/
* configure.ac: Add ACX_NONCANONICAL_HOST.
* configure: Regenerate.
* Makefile.in: Set host_noncanonical.
gcc/ada
* gcc-interface/Make-lang.in (GNATMAKE_FOR_HOST): In the canadian
cross case, use host_noncanonical instead of host as prefix.
(GNATBIND_FOR_HOST): Likewise.
(GNATLINK_FOR_HOST): Likewise.
(GNATLS_FOR_HOST): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236267 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Remove an unused reload hook.
mwahab [Mon, 16 May 2016 08:46:00 +0000 (08:46 +0000)] 
[AArch64] Remove an unused reload hook.

    * config/aarch64/aarch64.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
    * config/aarch64/arch64-protos.h
    (aarch64_legitimize_reload_address): Remove.
    * config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
    Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236266 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[testsuite] PR70227, skip g++.dg/lto/pr69589_0.C on targets without -rdynamic support
jiwang [Mon, 16 May 2016 08:11:42 +0000 (08:11 +0000)] 
[testsuite] PR70227, skip g++.dg/lto/pr69589_0.C on targets without -rdynamic support

  PR testsuite/70227
  * g++.dg/lto/pr69589_0.C: Skip arm and aarch64 bare-metal targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236265 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Mon, 16 May 2016 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236263 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-15 Harald Anlauf <anlauf@gmx.de>
kargl [Sun, 15 May 2016 18:34:57 +0000 (18:34 +0000)] 
2016-05-15  Harald Anlauf  <anlauf@gmx.de>

PR fortran/69603
* interface.c (compare_parameter): Check for non-NULL pointer.

2016-05-15  Harald Anlauf  <anlauf@gmx.de>

PR fortran/69603
* gfortran.dg/pr69603.f90: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236253 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sun, 15 May 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236248 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-14 Fritz Reese <fritzoreese@gmail.com>
kargl [Sat, 14 May 2016 16:00:35 +0000 (16:00 +0000)] 
2016-05-14  Fritz Reese  <fritzoreese@gmail.com>

* gfortran.dg/dec_union_4.f90: Fix endian issue.

2016-05-14  Fritz Reese  <fritzoreese@gmail.com>

* gfortran.texi: Update example of DEC UNION extension.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236242 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-05-14 Fritz Reese <fritzoreese@gmail.com>
kargl [Sat, 14 May 2016 15:29:13 +0000 (15:29 +0000)] 
2016-05-14  Fritz Reese <fritzoreese@gmail.com>

PR fortran/71047
* expr.c (gfc_default_initializer): Avoid extra component refs in
constructors for derived types and classes.

2016-05-14  Fritz Reese <fritzoreese@gmail.com>
PR fortran/71047
* gfortran.dg/pr71047.f08: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236241 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/71097
uros [Sat, 14 May 2016 13:22:45 +0000 (13:22 +0000)] 
PR target/71097
* config/i386/i386.md (*movtf_internal): Before register allocation,
do not allow FP constants for CM_MEDIUM memory model, allow only
standard FP constants for CM_LARGE and CM_LARGE_PIC models.
(*movxf_internal): Ditto.
(*movdf_internal): Ditto.
(*movsf_internal): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236240 138bc75d-0d04-0410-961f-82ee72b054a4