platform/upstream/linaro-gcc.git
9 years ago2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Fri, 24 Oct 2014 11:47:21 +0000 (11:47 +0000)]
2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: New
file.
* gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise.

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

9 years ago2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Fri, 24 Oct 2014 11:46:47 +0000 (11:46 +0000)]
2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc: New
file.
* gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise.

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

9 years ago2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Fri, 24 Oct 2014 11:46:04 +0000 (11:46 +0000)]
2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise.

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

9 years ago2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Fri, 24 Oct 2014 11:45:24 +0000 (11:45 +0000)]
2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcge.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcle.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vclt.c: Likewise.

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

9 years ago2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Fri, 24 Oct 2014 11:44:44 +0000 (11:44 +0000)]
2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/binary_op.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vand.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vbic.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/veor.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vorn.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vorr.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise.

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

9 years ago2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Fri, 24 Oct 2014 11:42:09 +0000 (11:42 +0000)]
2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/unary_op.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise.

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

9 years agoAdd new files missing from previous commit.
clyon [Fri, 24 Oct 2014 11:40:58 +0000 (11:40 +0000)]
Add new files missing from previous commit.

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

9 years ago2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Fri, 24 Oct 2014 11:38:51 +0000 (11:38 +0000)]
2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/arm/README.advsimd-intrinsics: New file.
* gcc.target/aarch64/advsimd-intrinsics/README: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vaba.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise.

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

9 years ago[AArch64] LINK_SPEC changes for Cortex-A53 erratum 835769 workaround
ktkachov [Fri, 24 Oct 2014 11:32:40 +0000 (11:32 +0000)]
[AArch64] LINK_SPEC changes for Cortex-A53 erratum 835769 workaround

     * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define.
     (LINK_SPEC): Include CA53_ERR_835769_SPEC.
     * config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define.
     (LINK_SPEC): Include CA53_ERR_835769_SPEC.

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

9 years ago2014-10-24 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Fri, 24 Oct 2014 11:32:05 +0000 (11:32 +0000)]
2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* lib/wrapper.exp ({tool}_maybe_build_wrapper): Clear
wrap_compile_flags before setting it.

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

9 years ago[AArch64] Cleanup logic around aarch64_final_prescan
ktkachov [Fri, 24 Oct 2014 11:30:42 +0000 (11:30 +0000)]
[AArch64] Cleanup logic around aarch64_final_prescan

* config/aarch64/aarch64.h (ADJUST_INSN_LENGTH): Wrap definition in
do while (0).
* config/aarch64/aarch64.c (is_mem_p): Delete.
(is_memory_op): Rename to...
(has_memory_op): ... This.  Use FOR_EACH_SUBRTX.
(dep_between_memop_and_curr): Assert that the input is a SET.
(aarch64_madd_needs_nop): Add comment.  Do not call
dep_between_memop_and_curr on NULL body.
(aarch64_final_prescan_insn): Add comment.
Include rtl-iter.h.

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

9 years ago2014-10-24 Richard Biener <rguenther@suse.de>
rguenth [Fri, 24 Oct 2014 11:09:30 +0000 (11:09 +0000)]
2014-10-24  Richard Biener  <rguenther@suse.de>

* Makefile.in (BUILD_CPPLIB): Move $(LIBINTL) $(LIBICONV)
to genmatch BUILD_LIBS instead.

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

9 years ago2014-10-24 Richard Biener <rguenther@suse.de>
rguenth [Fri, 24 Oct 2014 11:00:08 +0000 (11:00 +0000)]
2014-10-24  Richard Biener  <rguenther@suse.de>

* genmatch.c (expr::gen_transform): Use fold_buildN_loc
and build_call_expr_loc.
(dt_simplify::gen): Drop non_lvalue for GIMPLE, use
non_lvalue_loc to build it for GENERIC.
(decision_tree::gen_generic): Add location argument to
generic_simplify prototype.
(capture_info): New class.
(capture_info::capture_info): New constructor.
(capture_info::walk_match): New method.
(capture_info::walk_result): New method.
(capture_info::walk_c_expr): New method.
(dt_simplify::gen): Handle preserving side-effects for
GENERIC code generation.
(decision_tree::gen_generic): Do not reject operands
with TREE_SIDE_EFFECTS.
* generic-match.h: New file.
* generic-match-head.c: Include generic-match.h, not gimple-match.h.
* match.pd: Add some constant folding patterns from fold-const.c.
* fold-const.c: Include generic-match.h.
(fold_unary_loc): Dispatch to generic_simplify.
(fold_ternary_loc): Likewise.
(fold_binary_loc): Likewise.  Remove patterns now implemented
by generic_simplify.
* gimple-fold.c (replace_stmt_with_simplification): New function.
(fold_stmt_1): Add valueize parameter, dispatch to gimple_simplify.
(no_follow_ssa_edges): New function.
(fold_stmt): New overload with valueization hook.  Use
no_follow_ssa_edges for the overload without hook.
(fold_stmt_inplace): Likewise.
* gimple-fold.h (no_follow_ssa_edges): Declare.

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

9 years ago PR target/63173
fyang [Fri, 24 Oct 2014 10:53:08 +0000 (10:53 +0000)]
    PR target/63173
        * config/aarch64/arm_neon.h (__LD2R_FUNC): Remove macro.
        (__LD3R_FUNC): Ditto.
        (__LD4R_FUNC): Ditto.
        (vld2_dup_s8, vld2_dup_s16, vld2_dup_s32, vld2_dup_f32, vld2_dup_f64,
         vld2_dup_u8, vld2_dup_u16, vld2_dup_u32, vld2_dup_p8, vld2_dup_p16
         vld2_dup_s64, vld2_dup_u64, vld2q_dup_s8, vld2q_dup_p8,
         vld2q_dup_s16, vld2q_dup_p16, vld2q_dup_s32, vld2q_dup_s64,
         vld2q_dup_u8, vld2q_dup_u16, vld2q_dup_u32, vld2q_dup_u64
         vld2q_dup_f32, vld2q_dup_f64): Rewrite using builtin functions.
        (vld3_dup_s64, vld3_dup_u64, vld3_dup_f64, vld3_dup_s8
         vld3_dup_p8, vld3_dup_s16, vld3_dup_p16, vld3_dup_s32
         vld3_dup_u8, vld3_dup_u16, vld3_dup_u32, vld3_dup_f32
         vld3q_dup_s8, vld3q_dup_p8, vld3q_dup_s16, vld3q_dup_p16
         vld3q_dup_s32, vld3q_dup_s64, vld3q_dup_u8, vld3q_dup_u16
         vld3q_dup_u32, vld3q_dup_u64, vld3q_dup_f32, vld3q_dup_f64): Likewise.
        (vld4_dup_s64, vld4_dup_u64, vld4_dup_f64, vld4_dup_s8
         vld4_dup_p8, vld4_dup_s16, vld4_dup_p16, vld4_dup_s32
         vld4_dup_u8, vld4_dup_u16, vld4_dup_u32, vld4_dup_f32
         vld4q_dup_s8, vld4q_dup_p8, vld4q_dup_s16, vld4q_dup_p16
         vld4q_dup_s32, vld4q_dup_s64, vld4q_dup_u8, vld4q_dup_u16
         vld4q_dup_u32, vld4q_dup_u64, vld4q_dup_f32, vld4q_dup_f64): Likewise.
        * config/aarch64/aarch64.md (define_c_enum "unspec"): Add
        UNSPEC_LD2_DUP, UNSPEC_LD3_DUP, UNSPEC_LD4_DUP.
        * config/aarch64/aarch64-simd-builtins.def (ld2r, ld3r, ld4r): New
        builtins.
        * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>): New pattern.
        (aarch64_simd_ld3r<mode>): Likewise.
        (aarch64_simd_ld4r<mode>): Likewise.
        (aarch64_ld2r<mode>): New expand.
        (aarch64_ld3r<mode>): Likewise.
        (aarch64_ld4r<mode>): Likewise.

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

9 years agoFix gcc.dg/pr63594-1.c execution on Solaris/x86
ro [Fri, 24 Oct 2014 09:09:43 +0000 (09:09 +0000)]
Fix gcc.dg/pr63594-1.c execution on Solaris/x86

        * gcc.dg/pr63594-1.c: Apply -mno-mmx to all i?86-*-* and x86_64-*-*
        targets.
        * gcc.dg/pr63594-2.c: Likewise.

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

9 years ago * gcc.target/alpha/980217-1.c (main): Fix implicit int.
uros [Fri, 24 Oct 2014 08:58:42 +0000 (08:58 +0000)]
* gcc.target/alpha/980217-1.c (main): Fix implicit int.
* gcc.target/alpha/pr19518.c (_mm_setzero_si64): New function.

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

9 years ago2014-10-24 Daniel Hellstrom <daniel@gaisler.com>
danielh [Fri, 24 Oct 2014 08:52:20 +0000 (08:52 +0000)]
2014-10-24  Daniel Hellstrom  <daniel@gaisler.com>

* MAINTAINERS (write-after-approval): Add myself.

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

9 years agoHandle SCRATCH in decompose_address
mkuvyrkov [Fri, 24 Oct 2014 08:23:01 +0000 (08:23 +0000)]
Handle SCRATCH in decompose_address

* rtlanal.c (get_base_term): Handle SCRATCH.

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

9 years agoDisable max_issue when scheduling for register pressure
mkuvyrkov [Fri, 24 Oct 2014 08:22:49 +0000 (08:22 +0000)]
Disable max_issue when scheduling for register pressure

* haifa-sched.c (sched_init): Disable max_issue when scheduling for
register pressure.

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

9 years agoRemove cached_first_cycle_multipass_dfa_lookahead and cached_issue_rate
mkuvyrkov [Fri, 24 Oct 2014 08:22:37 +0000 (08:22 +0000)]
Remove cached_first_cycle_multipass_dfa_lookahead and cached_issue_rate

* haifa-sched.c (cached_first_cycle_multipass_dfa_lookahead,)
(cached_issue_rate): Remove.  Use dfa_lookahead and issue_rate instead.
(max_issue, choose_ready, sched_init): Update.

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

9 years agoImprove scheduler dumps of ready list
mkuvyrkov [Fri, 24 Oct 2014 08:22:24 +0000 (08:22 +0000)]
Improve scheduler dumps of ready list

* sched-int.h (struct _haifa_insn_data:last_rfs_win): New field.
* haifa-sched.c (INSN_LAST_RFS_WIN): New access macro.
(rfs_result): Set INSN_LAST_RFS_WIN.  Update signature.
(rank_for_schedule): Update calls to rfs_result to pass new parameters.
(print_rank_for_schedule_stats): Print out elements of ready list that
ended up on their respective places due to each of the sorting
heuristics.
(ready_sort): Update.
(debug_ready_list_1): Improve printout for SCHED_PRESSURE_MODEL.
(schedule_block): Update.

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

9 years agoAccount for prologue spills in reg_pressure scheduling
mkuvyrkov [Fri, 24 Oct 2014 08:22:12 +0000 (08:22 +0000)]
Account for prologue spills in reg_pressure scheduling

* haifa-sched.c (sched_class_regs_num, call_used_regs_num): New static
arrays.  Use sched_class_regs_num instead of ira_class_hard_regs_num.
(print_curr_reg_pressure, setup_insn_reg_pressure_info,)
(model_update_pressure, model_spill_cost): Use sched_class_regs_num.
(model_start_schedule): Update.
(sched_pressure_start_bb): New static function.  Calculate
sched_class_regs_num.
(schedule_block): Use it.
(alloc_global_sched_pressure_data): Calculate call_used_regs_num.

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

9 years ago2014-10-24 Richard Biener <rguenther@suse.de>
rguenth [Fri, 24 Oct 2014 08:04:25 +0000 (08:04 +0000)]
2014-10-24  Richard Biener  <rguenther@suse.de>

* Makefile.in (BUILD_CPPLIB): When in stage2+ use the
host library and make sure to pull in the required libintl
and libiconv dependencies.

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

9 years ago2014-10-24 Richard Biener <rguenther@suse.de>
rguenth [Fri, 24 Oct 2014 07:57:51 +0000 (07:57 +0000)]
2014-10-24  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Fix copy-and-pasto.

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

9 years agoFix bootstrap/PR63632
trippels [Fri, 24 Oct 2014 06:39:24 +0000 (06:39 +0000)]
Fix bootstrap/PR63632

r216566 (r216568 for 4.9 branch) added %{fno-lto} to LINK_COMMAND_SPEC.
However the linker doesn't understand -fno-lto and errors out.
This causes an LTO/PGO bootstrap failure, because -fno-lto is used
during STAGEprofile.
Fixed by filtering out -fno-lto in collect2.c.

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

9 years ago * ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard
uros [Fri, 24 Oct 2014 06:06:20 +0000 (06:06 +0000)]
* ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard
division by zero in dumps.
(sem_item_optimizer::merge_classes): Ditto.

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

9 years agocompiler: Use MPC library for complex numbers.
ian [Fri, 24 Oct 2014 05:01:50 +0000 (05:01 +0000)]
compiler: Use MPC library for complex numbers.

* go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
mpc_t parameter instead of two mpfr_t parameters.

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

9 years agocompiler: Simplify making integer expressions.
ian [Fri, 24 Oct 2014 01:49:23 +0000 (01:49 +0000)]
compiler: Simplify making integer expressions.

Instead of always needing an mpz_t, add helper functions to
create an integer functions from signed or unsigned long
values.

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

9 years agoDaily bump.
gccadmin [Fri, 24 Oct 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago * config/pa/pa.c (pa_can_combine_p): Fix typo in last change.
danglin [Thu, 23 Oct 2014 23:33:34 +0000 (23:33 +0000)]
* config/pa/pa.c (pa_can_combine_p): Fix typo in last change.

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

9 years ago * tree-vrp.c (extract_range_from_assert): Fix typo in comment.
ian [Thu, 23 Oct 2014 22:48:40 +0000 (22:48 +0000)]
* tree-vrp.c (extract_range_from_assert): Fix typo in comment.

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

9 years ago * config/mep/mep.h (TARGET_HAS_F_SETLKW): Don't define.
ian [Thu, 23 Oct 2014 22:46:49 +0000 (22:46 +0000)]
* config/mep/mep.h (TARGET_HAS_F_SETLKW): Don't define.

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

9 years ago * internal.h (backtrace_atomic_load_pointer) [no atomic or sync]:
ian [Thu, 23 Oct 2014 22:40:37 +0000 (22:40 +0000)]
* internal.h (backtrace_atomic_load_pointer) [no atomic or sync]:
Fix to return void *.

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

9 years ago * configure.ac: Disable the Go frontend on systems where it is known
ian [Thu, 23 Oct 2014 22:36:20 +0000 (22:36 +0000)]
* configure.ac: Disable the Go frontend on systems where it is known
to not work.
* configure: Regenerate.

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

9 years ago2014-10-23 François Dumont <fdumont@gcc.gnu.org>
fdumont [Thu, 23 Oct 2014 22:03:49 +0000 (22:03 +0000)]
2014-10-23  François Dumont  <fdumont@gcc.gnu.org>

* testsuite/25_algorithms/make_heap/complexity.cc: Add missing test
variable.
* testsuite/25_algorithms/sort_heap/complexity.cc: Likewise and use
log2. Now require cmath support.
* testsuite/25_algorithms/pop_heap/complexity.cc: Likewise and require
normal mode.
* testsuite/25_algorithms/push_heap/complexity.cc: Likewise.

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

9 years ago PR debug/63623
jakub [Thu, 23 Oct 2014 21:58:41 +0000 (21:58 +0000)]
PR debug/63623
* var-tracking.c (stack_adjust_offset_pre_post_cb): New function.
(stack_adjust_offset_pre_post): Use it through for_each_inc_dec,
instead of only handling autoinc in dest if it is a MEM.
(vt_stack_adjustments): Fix up formatting.

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

9 years agoPR c++/63619
redi [Thu, 23 Oct 2014 21:07:49 +0000 (21:07 +0000)]
PR c++/63619

gcc/cp:
PR c++/63619
* decl2.c (delete_sanity): Use OPT_Wdelete_incomplete in warning.

gcc/testsuite:
PR c++/63619
* g++.dg/warn/Wdelete-incomplete-3.C: New.
* g++.dg/warn/Wdelete-incomplete-4.C: New.

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

9 years ago* config/msp430/msp430.c (msp430_print_operand): 'x' modifier is
dj [Thu, 23 Oct 2014 19:02:48 +0000 (19:02 +0000)]
* config/msp430/msp430.c (msp430_print_operand): 'x' modifier is
independend of -mlarge.
* config/msp430/constraints.md (Ys): Update comment.

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

9 years ago * doc/xml/manual/status_cxx2011.xml: Update status.
redi [Thu, 23 Oct 2014 16:55:23 +0000 (16:55 +0000)]
* doc/xml/manual/status_cxx2011.xml: Update status.
* doc/xml/manual/status_cxx2014.xml: Update TS status.

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

9 years ago PR target/63534
iverbin [Thu, 23 Oct 2014 16:52:11 +0000 (16:52 +0000)]
PR target/63534
PR target/63618
gcc/
* cse.c (delete_trivially_dead_insns): Consider PIC register is used
while it is pseudo.
* dse.c (deletable_insn_p): Likewise.
gcc/testsuite/
* gcc.target/i386/pr63618.c: New test.

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

9 years ago PR c/63626
mpolacek [Thu, 23 Oct 2014 16:46:44 +0000 (16:46 +0000)]
PR c/63626
* c-decl.c (pop_scope): Don't print warning in external_scope.

* gcc.dg/pr63626.c: New test.

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

9 years ago * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
mpolacek [Thu, 23 Oct 2014 13:02:02 +0000 (13:02 +0000)]
* c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
in unsigned type.

* c-c++-common/ubsan/undefined-2.c: New test.

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

9 years ago * config/avr/avr.c: Fix GNU coding rules and typos.
gjl [Thu, 23 Oct 2014 12:22:16 +0000 (12:22 +0000)]
* config/avr/avr.c: Fix GNU coding rules and typos.
* config/avr/avr.h: Dito.
* config/avr/avr-c.c: Dito.
* config/avr/avr.md: Dito.

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

9 years agoAVX. Fix block absq emit for non AVX-512 targets.
kyukhin [Thu, 23 Oct 2014 11:50:19 +0000 (11:50 +0000)]
AVX. Fix block absq emit for non AVX-512 targets.

gcc/
* config/i386/sse.md (define_mode_iterator VI1248_AVX512VL_AVX512BW):
New.
(define_insn "*abs<mode>2"): Use VI1248_AVX512VL_AVX512BW mode
iterator.
(define_expand "abs<mode>2"): Ditto.

gcc/testsuite/
* gcc.target/i386/pr63600.c: New.

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

9 years agoAVX-512. 81.1/n. Extend `function_code' field `tree_var_decl' structure.
kyukhin [Thu, 23 Oct 2014 11:44:12 +0000 (11:44 +0000)]
AVX-512. 81.1/n. Extend `function_code' field `tree_var_decl' structure.

gcc/
* tree-core.h (tree_var_decl): Extend `function_code' field
by one bit, move `regdecl_flag' field to ...
(tree_decl_with_vis): Here.
* tree.h (DECL_STATIC_CHAIN): Update struct name.

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

9 years agoFix gcc.dg/ipa/ipa-icf-21.c on 32-bit Linux/x86.
ro [Thu, 23 Oct 2014 11:32:55 +0000 (11:32 +0000)]
Fix gcc.dg/ipa/ipa-icf-21.c on 32-bit Linux/x86.

* gcc.dg/ipa/ipa-icf-21.c: Add -msse2 to dg-options.

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

9 years ago2014-10-23 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 23 Oct 2014 10:45:48 +0000 (10:45 +0000)]
2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_eval.adb (Check_Non_Static_Context): Do not set
Is_Machine_Number on a literal of a fixed-point type.

2014-10-23  Robert Dewar  <dewar@adacore.com>

* mlib-prj.adb, sem_ch4.adb, exp_ch3.adb: Minor reformatting.

2014-10-23  Pierre-Marie Derodat  <derodat@adacore.com>

* exp_dbug.ads: Update ___XA parallel type specification.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Copy_Array_Subtype_Attributes): Inherit the rep
chain of the source type.
* sem_ch13.adb (Analyze_Aspect_Specifications): Minor
reformatting of an error message.
* sem_util.adb (Inherit_Rep_Item_Chain): Do not inherit a rep
chain that has been inherited already.

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

9 years ago2014-10-23 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 23 Oct 2014 10:39:50 +0000 (10:39 +0000)]
2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Simplify analysis
in generic context, and generate body in this case as well,
to simplify ASIS traversals on the construct.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Complete_Object_Operation): Indicate that the
scope of the operation (s) is referenced, to prevent spurious
warnings about unused units.

2014-10-23  Johannes Kanig  <kanig@adacore.com>

* errout.adb (Error_Msg_Internal): Copy check flag, increment
check msg count.
* erroutc.adb (Delete_Msg) adjust check msg count.
(Output_Msg_Text) handle check msg case (do nothing).
(Prescan_Message) recognize check messages with severity prefixes.
* errutil.adb (Error_Msg) handle check flag, adjust counter.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_eval.adb (Subtypes_Statically_Match): For a generic actual
type, check for the presence of discriminants in its parent type,
against the presence of discriminants in the context type.

2014-10-23  Tristan Gingold  <gingold@adacore.com>

* adaint.c: __gnat_get_file_names_case_sensitive: Default is
true on arm-darwin.

2014-10-23  Arnaud Charlet  <charlet@adacore.com>

* pprint.adb (Expression_Image): Add handling of quantifiers.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* exp_pakd.adb (Expand_Packed_Element_Reference): If the
prefix is a source entity, generate a reference to it before
transformation, because rewritten node might not generate a
proper reference, leading to spurious warnings.

2014-10-23  Tristan Gingold  <gingold@adacore.com>

* init.c: Fix thinko in previous patch.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Decimal_Fixed_Point_Type_Declaration):
Inherit the rep chain of the implicit base type.
(Floating_Point_Type_Declaration): Inherit the rep chain of the
implicit base type.
(Ordinary_Fixed_Point_Type_Declaration): Inherit the rep chain of the
implicit base type.
(Signed_Integer_Type_Declaration): Inherit the rep chain of the
implicit base type.
* sem_util.ads, sem_util.adb (Inherit_Rep_Item_Chain): New routine.

2014-10-23  Pascal Obry  <obry@adacore.com>

* g-regist.adb, g-regist.ads: Add support for reading 32bit or 64bit
view of the registry.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): If type is abstract,
return without expanding expression, to prevent subsequent crash.
* freeze.adb: better error message for illegal declaration.

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

9 years ago2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 23 Oct 2014 10:33:06 +0000 (10:33 +0000)]
2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sysdep.c (__gnat_localtime_tzoff): Properly delimit the
substring which represents the time zone on VxWorks.

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

9 years ago2014-10-23 Vincent Celier <celier@adacore.com>
charlet [Thu, 23 Oct 2014 10:27:00 +0000 (10:27 +0000)]
2014-10-23  Vincent Celier  <celier@adacore.com>

* gnatls.adb: If --RTS= was not used, check if there is a default
runtime. If there is none, in verbose mode, indicate that the
default runtime is not available and show only the current
directory in the source and the object search paths.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Process_Formals): A thunk procedure with a
parameter of a limited view does not need a freeze node.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch7.adb (Analyze_Package_Body_Helper):
The logic which hides local entities from external
visibility is now contained in routine Hide_Public_Entities.
(Hide_Public_Entities): New routine. Object and subprogram
renamings are now hidden from external visibility the same way
objects are.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Analyze_Attribute): The prefix of attribute Elaborated
does not require freezing, in particular if it denotes a generic
function.

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

9 years ago2014-10-23 Yannick Moy <moy@adacore.com>
charlet [Thu, 23 Oct 2014 10:19:58 +0000 (10:19 +0000)]
2014-10-23  Yannick Moy  <moy@adacore.com>

* sem_prag.adb (Analyze_Pragma/Pragma_Inline & Pragma_Inline_Always):
Disable analysis in GNATprove mode.

2014-10-23  Arnaud Charlet  <charlet@adacore.com>

* mlib-prj.adb: Remove obsolete references to libdecgnat (VMS only).

2014-10-23  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Ignore style check
pragmas in codepeer mode.

2014-10-23  Gary Dismukes  <dismukes@adacore.com>

* gnat_rm.texi: Minor syntax fix for pragma Annotate (missing ',').

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch12.adb (Inline_Instance_Body): Alphabetize
local variables and constants. Add constants Save_SM and Save_SMP
to capture SPARK_Mode-related attributes.  Compile the inlined
body with the SPARK_Mode of the enclosing context.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sinfo.adb (Elaboration_Boolean): Removed.
(Set_Elaboration_Boolean): Removed.
* sinfo.ads Remove attribute Elaboration_Boolean along with its
occurrence in nodes.
(Elaboration_Boolean): Removed along with pragma Inline.
(Set_Elaboration_Boolean): Removed along with pragma Inline.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Constant_Redeclaration): Make error message more
explicit on a deferred constant whose object_definition is an
anonymous array.

2014-10-23  Vincent Celier  <celier@adacore.com>

* gnatls.adb: Never call Targparm.Get_Target_Parameters.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): In a generic
context do not create a body, and only pre-analyze the expression,
which may include incomplete views.

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

9 years ago2014-10-23 Robert Dewar <dewar@adacore.com>
charlet [Thu, 23 Oct 2014 10:16:47 +0000 (10:16 +0000)]
2014-10-23  Robert Dewar  <dewar@adacore.com>

* sem_type.adb: Minor code reorganization (use Nkind_In, Ekind_In).
* sem_ch3.adb: Minor reformatting.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Analyze_Associations): If an actual for a formal
object is a call to a parameterless expression function, add
the function to the list of actuals to freeze.
* freeze.adb (Check_Expression_Function): Create freeze nodes of
outer types that may be references in the body of the expression.

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

9 years ago2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 23 Oct 2014 10:14:28 +0000 (10:14 +0000)]
2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.ads, checks.ads: Minor comment reformatting.

2014-10-23  Javier Miranda  <miranda@adacore.com>

* sem_eval (Test_In_Range): Disable removal of range_check for
VM targets.

2014-10-23  Robert Dewar  <dewar@adacore.com>

* erroutc.adb (Validate_Specific_Warnings): Fix test for -W
messages, which got disabled when we unconditionally added an
asterisk at the start of the string.

2014-10-23  Vincent Celier  <celier@adacore.com>

* gnatls.adb: Ensure that "gnatls -l" works even when there is
no default runtime.

2014-10-23  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch3.adb (Build_Derived_Private_Type): When the parent is
untagged and has discriminants, build the implicit full view after
building the derived type. Capture original declaration and type
here instead of...
(Copy_And_Build): ...here.
* sem_type.adb (Full_View_Covers): Handle the Underlying_Full_View.

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

9 years ago2014-10-23 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 23 Oct 2014 10:11:21 +0000 (10:11 +0000)]
2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Ensure_Valid): Update the subprogram
profile. Propagate the contex attributes to Insert_Valid_Check.
(Insert_Valid_Check): Update the subprogram profile. Propagate
the attributes of the context to Duplicate_Subexpr_No_Checks.
(Validity_Check_Range): Update the subprogram profile. Propagate
the context attribute to Ensure_Valid.
* checks.ads (Ensure_Valid): Update the subprogram profile
along with the comment on usage.
(Insert_Valid_Check): Update the subprogram profile along with the
comment on usage.
(Validity_Check_Range): Update the subprogram profile along with
the comment on usage.
* exp_util.adb (Build_Temporary): New routine.
(Duplicate_Subexpr_No_Checks): Update the subprogram
profile. Propagate the attributes of the context to Remove_Side_Effects.
(Remove_Side_Effects): Update the subprogram profile. Update all calls
to Make_Temporary to invoke Build_Temporary.
* exp_util.ads (Duplicate_Subexpr_No_Checks): Update
the subprogram profile along with the comment on usage.
(Remove_Side_Effects): Update the subprogram profile along with
the comment on usage.
* sem_ch3.adb (Process_Range_Expr_In_Decl): Pass the subtype
to the validity check machinery.  Explain the reason for this
propagation.

2014-10-23  Robert Dewar  <dewar@adacore.com>

* a-strsea.adb: Minor reformatting.

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

9 years ago2014-10-23 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 23 Oct 2014 10:09:31 +0000 (10:09 +0000)]
2014-10-23  Thomas Quinot  <quinot@adacore.com>

* bcheck.adb (Check_Consistent_SSO_Default): Exclude internal
units from consistency check.
* gnat_rm.texi (Default_Scalar_Storage_Order): Document that
consistency check excludes run-time units.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* a-strsea.adb (Find_Token): Enable constraint checking in this
procedure, so that even when compiling with checks suppressed, as is
the case for the run-time, an exception is raised in this routine when
the input meets the conditions described in RM 2005 A.4.3 (68/1).

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

9 years ago2014-10-23 Richard Biener <rguenther@suse.de>
rguenth [Thu, 23 Oct 2014 09:14:48 +0000 (09:14 +0000)]
2014-10-23  Richard Biener  <rguenther@suse.de>

* Makefile.def: Add libcpp build module and dependencies.
* configure.ac: Add libcpp build module.
* Makefile.in: Regenerate.
* configure: Likewise.

gcc/
* Makefile.in (BUILD_CPPLIB): Add.
(build/genmatch$(build_exeext)): Use BUILD_CPPLIB, not CPPLIB.
Drop LIBIBERTY.

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

9 years agoFix gcc.dg/ipa/ipa-icf-2[18].c on Solaris
ro [Thu, 23 Oct 2014 09:12:47 +0000 (09:12 +0000)]
Fix gcc.dg/ipa/ipa-icf-2[18].c on Solaris

* gcc.dg/ipa/ipa-icf-21.c: Restrict to i?86-*-* x86_64-*-*.
* gcc.dg/ipa/ipa-icf-28.c: Require init_priority.

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

9 years agoFix gnu11 fallout on SPARC
ro [Thu, 23 Oct 2014 08:39:19 +0000 (08:39 +0000)]
Fix gnu11 fallout on SPARC

* include/gc.h [(sparc || __sparc) && sun] (GC_INIT): Remove
comment and definition.

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

9 years agoFix SPARC testsuite gnu11 fallout
ro [Thu, 23 Oct 2014 08:35:38 +0000 (08:35 +0000)]
Fix SPARC testsuite gnu11 fallout

* gcc.target/sparc/20001013-1.c (main): Declare int return.
* gcc.target/sparc/mnofpu.c (e1e_rphy): Declare.
* gcc.target/sparc/sparc-ret.c (toto): Declare.
* gcc.target/sparc/ultrasp6.c (__assert, HSRate): Declare.
* gcc.target/sparc/ultrasp8.c (__malloc_lock, __malloc_unlock):
Declare.

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

9 years ago2014-10-22 Richard Biener <rguenther@suse.de>
rguenth [Thu, 23 Oct 2014 08:25:55 +0000 (08:25 +0000)]
2014-10-22  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Preserve side-effects of
X - X when simplifying to 0.
* stor-layout.c (finish_bitfield_representative): Strip
side-effects of evaluating the difference of two DECL_FIELD_OFFSET.

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

9 years agoCommit old ChangeLog entry forgotten in commit of actual change.
ian [Thu, 23 Oct 2014 03:34:02 +0000 (03:34 +0000)]
Commit old ChangeLog entry forgotten in commit of actual change.

PR go/55969
* configure.ac: Disable libgo on some systems where it does not
work.

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

9 years ago PR libstdc++/63497
timshen [Thu, 23 Oct 2014 03:15:52 +0000 (03:15 +0000)]
PR libstdc++/63497
include/bits/regex_executor.h (_Executor::_M_word_boundary): Remove
unused parameter.
include/bits/regex_executor.tcc (_Executor::_M_dfs,
_Executor::_M_word_boundary): Avoid dereferecing _M_current at _M_end
or other invalid position.

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

9 years agoDaily bump.
gccadmin [Thu, 23 Oct 2014 00:16:18 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago2014-10-22 Richard Biener <rguenther@suse.de>
burnus [Wed, 22 Oct 2014 20:51:00 +0000 (20:51 +0000)]
2014-10-22  Richard Biener  <rguenther@suse.de>
            Tobias Burnus <burnus@net-b.de>

        PR lto/63603
        * gcc.c (LINK_COMMAND_SPEC): Add %{fno-lto}.

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

9 years agoDo not build soft-fp code at all for powerpc64-linux-gnu.
jsm28 [Wed, 22 Oct 2014 17:29:14 +0000 (17:29 +0000)]
Do not build soft-fp code at all for powerpc64-linux-gnu.

When I added support for using soft-fp in libgcc
<https://gcc.gnu.org/ml/gcc-patches/2006-03/msg00689.html>, libgcc
configuration was still done in the gcc/ directory, meaning that the
variables set in makefile fragments could not depend on the multilib
being built.  Thus, building the soft-fp code for powerpc64-linux-gnu
was disabled in the same way as had been done with fp-bit: the code
was built, but with #ifndef __powerpc64__ wrappers around it so that
the resulting objects were empty.

Now that libgcc configuration is done in the toplevel libgcc
directory, such uses of softfp_wrap_start / softfp_wrap_end are better
replaced by configure-time conditionals that determine whether to use
soft-fp for a given multilib.  This patch does so for
powerpc*-*-linux*.  The same would appear to apply to
powerpc*-*-freebsd* (using rs6000/t-freebsd64), but I have not made
any changes there.  t-ppc64-fp is also used by AIX targets, but they
don't use soft-fp anyway so the changes are of no consequence to them.

The same principle of replacing softfp_wrap_start / softfp_wrap_end
with configure-time conditionals also applies to
softfp_exclude_libgcc2, which was intended for cases where soft-fp is
being used on hard-float multilibs and so it is desirable on those
multilibs for a few functions to come from libgcc2.c rather than
soft-fp (but the soft-fp versions would be more efficient on
soft-float multilibs).  Now we have hardfp.c and t-hardfp, those are
better to use in that case, to minimize the size of the bulk of the
functions that are only present for ABI compatibility and should never
be called by newly compiled code.

I intend followup patches to switch 32-bit hard-float multilibs to use
t-hardfp as far as possible (for all non-libgcc2.c operations for
classic hard float; for all except __unord* for e500v2; for all SFmode
operations except __unordsf2 for e500v1).  After that will come making
the soft-fp operations, in the remaining cases for which they are
built because they are actually needed for code compiled by current
GCC, into compat symbols when building for glibc 2.19 or later, so
that the glibc versions (with exception and rounding mode support) get
used instead (2.19 or later is needed for all the functions to be
exported from glibc as non-compat symbols).  In turn, that is required
before implementing TARGET_ATOMIC_ASSIGN_EXPAND_FENV for soft-float
and e500, as that can only be properly effective when GCC-compiled
code is actually interoperating correctly with the exception and
rounding mode state used by <fenv.h> functions.

Tested with no regressions with cross to powerpc64-linux-gnu (in
addition, verified that stripped libgcc_s.so.1 is identical before and
after the patch).

* config.host (powerpc*-*-linux*): Only use soft-fp for 32-bit
configurations.
* config/rs6000/t-ppc64-fp (softfp_wrap_start, softfp_wrap_end):
Remove variables.

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

9 years agogcc/ChangeLog:
dehao [Wed, 22 Oct 2014 17:11:17 +0000 (17:11 +0000)]
gcc/ChangeLog:

2014-10-22  Dehao Chen  <dehao@google.com>

        * auto-profile.c: Change order of header files.

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

9 years ago PR tree-optimization/63530
carrot [Wed, 22 Oct 2014 15:56:59 +0000 (15:56 +0000)]
PR tree-optimization/63530
tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Set
pointer alignment according to DR_MISALIGNMENT.
gcc.dg/vect/pr63530.c: New testcase.

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

9 years agoReset global state ipa-icf.c:optimizer
dmalcolm [Wed, 22 Oct 2014 15:10:02 +0000 (15:10 +0000)]
Reset global state ipa-icf.c:optimizer

gcc/
* ipa-icf.c (ipa_icf_driver): Set optimizer to NULL when done.

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

9 years ago2014-10-22 Andrew MacLeod <amacleod@redhat.com>
amacleod [Wed, 22 Oct 2014 14:26:56 +0000 (14:26 +0000)]
2014-10-22  Andrew MacLeod  <amacleod@redhat.com>

* cfgbuild.h: New.  Add prototypes for cfgbuild.c.
* cfgcleanup.h: New.  Add prototypes for cfgcleanup.c.
* cfgloopmanip.h: New.  Add prototypes for cfgloopmanip.c.
* dominance.h: New.  Add prototypes for dominance.c.
* cfgloop.h: Move some prototypes/enum to cfgloopmanip.h and include it.
* cfghooks.h: (struct profile_record) Relocate here.
Relocate 2 prototypes from basic-block.h.
* basic-block.h: Move prototypes and struct to new header files.
Include cfgbuild.h, cfgcleanup.h, and dominance.h.
* rtl.h: Move a few prototypes to new header files.
* cfgcleanup.c (merge_memattrs): Make static.
* genopinit.c (main): Add predict.h to list of includes.
* predict.h: Update prototype list to match predict.c.
* predict.c (maybe_hot_count_p): Export.
(cgraph_edge::maybe_hot_p): Move to cgraph.c.
(cgraph_node::optimize_for_size_p): Move to cgraph.h.
* cgraph.h (cgraph_node::optimize_for_size_p): Relocate here.
* cgraph.c (cgraph_edge::maybe_hot_p): Relocate here.
* profile.h: Adjust prototypes.
* ifcvt.h: New.  Relocate struct ce_if_block here.
* ifcvt.c: Include ifcvt.h.

* config/frv/frv.c: Include ifcvt.h.
* config/frv/frv-protos.h: Add 'struct' to ce_if_block * parameters.

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

9 years agogcc/
rsandifo [Wed, 22 Oct 2014 12:03:00 +0000 (12:03 +0000)]
gcc/
* lra.c (lra): Remove call to recog_init.
* config/i386/i386.md (preferred_for_speed): New attribute
(*float<SWI48:mode><MODEF:mode>2_sse): Override it instead of
"enabled".  Remove check for sched1.

gcc/testsuite/
* gcc.target/i386/conversion-2.c: New test.

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

9 years agogcc/
rsandifo [Wed, 22 Oct 2014 12:02:39 +0000 (12:02 +0000)]
gcc/
* recog.h (recog_data_d): Remove enabled_alternatives.
* recog.c (extract_insn): Don't set it.
* reload.c (find_reloads): Call get_enabled_alternatives.

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

9 years agogcc/
rsandifo [Wed, 22 Oct 2014 12:02:26 +0000 (12:02 +0000)]
gcc/
* recog.h (constrain_operands): Add an alternative_mask parameter.
(constrain_operands_cached): Likewise.
(get_preferred_alternatives): Declare new form.
* recog.c (get_preferred_alternatives): New bb-taking instance.
(constrain_operands): Take the set of available alternatives as
a parameter.
(check_asm_operands, insn_invalid_p, extract_constrain_insn)
(extract_constrain_insn_cached): Update calls to constrain_operands.
* caller-save.c (reg_save_code): Likewise.
* ira.c (setup_prohibited_mode_move_regs): Likewise.
* postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
* ree.c (combine_reaching_defs): Likewise.
* reload.c (can_reload_into): Likewise.
* reload1.c (reload, reload_as_needed, inc_for_reload): Likewise.
(gen_reload_chain_without_interm_reg_p, emit_input_reload_insns)
(emit_insn_if_valid_for_reload): Likewise.
* reorg.c (fill_slots_from_thread): Likewise.
* config/i386/i386.c (ix86_attr_length_address_default): Likewise.
* config/pa/pa.c (pa_can_combine_p): Likewise.
* config/rl78/rl78.c (insn_ok_now): Likewise.
* config/sh/sh.md (define_peephole2): Likewise.
* final.c (final_scan_insn): Update call to constrain_operands_cached.

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

9 years agogcc/
rsandifo [Wed, 22 Oct 2014 12:02:11 +0000 (12:02 +0000)]
gcc/
* doc/md.texi: Document "preferred_for_size" and "preferred_for_speed"
attributes.
* genattr.c (main): Handle "preferred_for_size" and
"preferred_for_speed" in the same way as "enabled".
* recog.h (bool_attr): New enum.
(target_recog): Replace x_enabled_alternatives with x_bool_attr_masks.
(get_preferred_alternatives, check_bool_attrs): Declare.
* recog.c (have_bool_attr, get_bool_attr, get_bool_attr_mask_uncached)
(get_bool_attr_mask, get_preferred_alternatives, check_bool_attrs):
New functions.
(get_enabled_alternatives): Use get_bool_attr_mask.
* ira-costs.c (record_reg_classes): Use get_preferred_alternatives
instead of recog_data.enabled_alternatives.
* ira.c (ira_setup_alts): Likewise.
* postreload.c (reload_cse_simplify_operands): Likewise.
* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
* ira-lives.c (preferred_alternatives): New variable.
(process_bb_node_lives): Set it.
(check_and_make_def_conflict, make_early_clobber_and_input_conflicts)
(single_reg_class, ira_implicitly_set_insn_hard_regs): Use it instead
of recog_data.enabled_alternatives.
* lra-int.h (lra_insn_recog_data): Replace enabled_alternatives
to preferred_alternatives.
* lra-constraints.c (process_alt_operands): Update accordingly.
* lra.c (lra_set_insn_recog_data): Likewise.
(lra_update_insn_recog_data): Assert check_bool_attrs.

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

9 years agogcc/
rsandifo [Wed, 22 Oct 2014 12:01:59 +0000 (12:01 +0000)]
gcc/
* recog.h (extract_constrain_insn): Declare.
* recog.c (extract_constrain_insn): New function.
* lra.c (check_rtl): Use it.
* postreload.c (reload_cse_simplify_operands): Likewise.
* reg-stack.c (check_asm_stack_operands): Likewise.
(subst_asm_stack_regs): Likewise.
* regcprop.c (copyprop_hardreg_forward_1): Likewise.
* regrename.c (build_def_use): Likewise.
* sel-sched.c (get_reg_class): Likewise.
* config/arm/arm.c (note_invalid_constants): Likewise.
* config/s390/predicates.md (execute_operation): Likewise.

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

9 years agoNew syntax for -fsanitize-recover.
ygribov [Wed, 22 Oct 2014 11:07:10 +0000 (11:07 +0000)]
New syntax for -fsanitize-recover.

2014-10-22  Jakub Jelinek  <jakub@redhat.com>
    Yury Gribov  <y.gribov@samsung.com>

gcc/
* common.opt (flag_sanitize_recover): New variable.
(fsanitize-recover): Remove Var/Init, deprecate.
(fsanitize-recover=): New option.
* doc/invoke.texi (fsanitize-recover): Update docs.
* opts.c (finish_options): Use opts->x_flag_sanitize
instead of flag_sanitize.  Prohibit -fsanitize-recover
for anything besides UBSan.  Formatting.
(common_handle_option): Handle OPT_fsanitize_recover_
and OPT_fsanitize_recover.  Use opts->x_flag_sanitize
instead of flag_sanitize.
* asan.c (pass_sanopt::execute): Fix up formatting.
* ubsan.c (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
ubsan_expand_objsize_ifn, ubsan_build_overflow_builtin,
instrument_bool_enum_load, ubsan_instrument_float_cast,
instrument_nonnull_arg, instrument_nonnull_return): Check
bits in flag_sanitize_recover bitmask instead of
flag_sanitize_recover as bool flag.

gcc/c-family/
* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
instead of flag_sanitize_recover as bool flag.

gcc/testsuite/
* c-c++-common/ubsan/align-1.c: Update cmdline options.
* c-c++-common/ubsan/align-3.c: Likewise.
* c-c++-common/ubsan/bounds-1.c: Likewise.
* c-c++-common/ubsan/div-by-zero-7.c: Likewise.
* c-c++-common/ubsan/float-cast-overflow-10.c: Likewise.
* c-c++-common/ubsan/float-cast-overflow-7.c: Likewise.
* c-c++-common/ubsan/float-cast-overflow-8.c: Likewise.
* c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
* c-c++-common/ubsan/nonnull-2.c: Likewise.
* c-c++-common/ubsan/nonnull-3.c: Likewise.
* c-c++-common/ubsan/object-size-3.c: Likewise.
* c-c++-common/ubsan/overflow-1.c: Likewise.
* c-c++-common/ubsan/overflow-add-1.c: Likewise.
* c-c++-common/ubsan/overflow-add-3.c: Likewise.
* c-c++-common/ubsan/overflow-mul-1.c: Likewise.
* c-c++-common/ubsan/overflow-mul-3.c: Likewise.
* c-c++-common/ubsan/overflow-negate-2.c: Likewise.
* c-c++-common/ubsan/overflow-sub-1.c: Likewise.
* c-c++-common/ubsan/pr59503.c: Likewise.
* c-c++-common/ubsan/pr60613-1.c: Likewise.
* c-c++-common/ubsan/save-expr-1.c: Likewise.
* c-c++-common/ubsan/shift-3.c: Likewise.
* c-c++-common/ubsan/shift-6.c: Likewise.
* c-c++-common/ubsan/undefined-1.c: Likewise.
* c-c++-common/ubsan/vla-2.c: Likewise.
* c-c++-common/ubsan/vla-3.c: Likewise.
* c-c++-common/ubsan/vla-4.c: Likewise.
* g++.dg/ubsan/cxx11-shift-1.C: Likewise.
* g++.dg/ubsan/return-2.C: Likewise.
* c-c++-common/ubsan/recovery-1.c: New test.
* c-c++-common/ubsan/recovery-2.c: New test.
* c-c++-common/ubsan/recovery-3.c: New test.
* c-c++-common/ubsan/recovery-common.inc: New file.

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

9 years ago * config/avr/lib1funcs.S (__do_global_dtors): Fix wrong code
gjl [Wed, 22 Oct 2014 10:40:30 +0000 (10:40 +0000)]
* config/avr/lib1funcs.S (__do_global_dtors): Fix wrong code
introduced with 2014-10-21 trunk r216525.

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

9 years ago[ARM] Add missing '\' in macro define.
jiwang [Wed, 22 Oct 2014 09:57:19 +0000 (09:57 +0000)]
[ARM] Add missing '\' in macro define.

  gcc/
    * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add missing '\'.

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

9 years ago[ARM] Add ACLE 2.0 predefined marco __ARM_FEATURE_IDIV
jiwang [Wed, 22 Oct 2014 09:07:18 +0000 (09:07 +0000)]
[ARM] Add ACLE 2.0 predefined marco __ARM_FEATURE_IDIV

2014-10-22  Renlin Li <renlin.li@arm.com>

  gcc/
    * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define
    __ARM_FEATURE_IDIV__.

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

9 years ago2014-10-22 Richard Biener <rguenther@suse.de>
rguenth [Wed, 22 Oct 2014 08:55:45 +0000 (08:55 +0000)]
2014-10-22  Richard Biener  <rguenther@suse.de>

* Makefile.in (s-match): Adjust dependencies to only catch
match.pd.

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

9 years ago[AArch64] Update target testcases for gnu11
jiwang [Wed, 22 Oct 2014 08:51:16 +0000 (08:51 +0000)]
[AArch64] Update target testcases for gnu11

  gcc/testsuite/
    * gcc.target/aarch64/pic-constantpool1.c: Add explicit declaration.
    * gcc.target/aarch64/pic-symrefplus.c: Likewise.
    * gcc.target/aarch64/reload-valid-spoff.c: Likewise.
    * gcc.target/aarch64/vect.x: Likewise.
    * gcc.target/aarch64/vect-ld1r.x: Add return type.
    * gcc.target/aarch64/vect-fmax-fmin.c: Likewise.
    * gcc.target/aarch64/vect-fp.c: Likewise.

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

9 years ago[Dejagnu] fix gcc-dg-prune glitch when filtering "relocation truncation" error
jiwang [Wed, 22 Oct 2014 08:44:44 +0000 (08:44 +0000)]
[Dejagnu] fix gcc-dg-prune glitch when filtering "relocation truncation" error

  gcc/testsuite/
    * lib/compat.exp (compat-run): Remove "unresolved".
    * lib/gcc-defs.exp (${tools}_check_compile): Update code logic for
    unsupported testcase.

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

9 years ago2014-10-22 Richard Biener <rguenther@suse.de>
rguenth [Wed, 22 Oct 2014 08:42:37 +0000 (08:42 +0000)]
2014-10-22  Richard Biener  <rguenther@suse.de>
Prathamesh Kulkarni  <bilbotheelffriend@gmail.com>

* Makefile.in (OBJS): Add gimple-match.o and generic-match.o.
(MOSTLYCLEANFILES): Add gimple-match.c and generic-match.c.
(gimple-match.c): Generate by triggering s-match.
(generic-match.c): Likewise.
(s-match): Rule to build gimple-match.c and generic-match.c
by running the genmatch generator program.
(build/hash-table.o): Dependencies to build hash-table.c for the host.
(build/genmatch.o): Dependencies to build genmatch.
(genprog): Add match.
(build/genmatch): Likewise.
(TEXI_GCCINT_FILES): Add match-and-simplify.texi.
* generic-match-head.c: New file.
* gimple-match-head.c: Likewise.
* gimple-match.h: Likewise.
* genmatch.c: Likewise.
* match.pd: Likewise.
* builtins.h (fold_builtin_n): Export.
* builtins.c (fold_builtin_n): Likewise.
* gimple-fold.h (gimple_build): Declare various overloads.
(gimple_simplify): Likewise.
(gimple_convert): Re-implement in terms of gimple_build.
* gimple-fold.c (gimple_convert): Remove.
(gimple_build): New functions.

* doc/match-and-simplify.texi: New file.
* doc/gccint.texi: Add menu item Match and Simplify and include
match-and-simplify.texi.

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

9 years ago PR target/63594
jakub [Wed, 22 Oct 2014 06:58:57 +0000 (06:58 +0000)]
PR target/63594
* config/i386/i386.c (ix86_expand_vector_init_duplicate): For
V{8HI,16QI,16HI,32QI}mode call ix86_vector_duplicate_value
even for just TARGET_AVX2, not only for
TARGET_AVX512VL && TARGET_AVX512BW.  For V{32HI,64QI}mode,
call ix86_vector_duplicate_value only if TARGET_AVX512BW,
otherwise build it using concatenation of 256-bit
broadcast.
* config/i386/sse.md (AVX_VEC_DUP_MODE): Moved after
avx512 broadcast patterns.
(vec_dup<mode>): Likewise.  For avx2 use
v<sseintprefix>broadcast<bcstscalarsuff> instead of
vbroadcast<ssescalarmodesuffix>.
(AVX2_VEC_DUP_MODE): New mode iterator.
(*vec_dup<mode>): New TARGET_AVX2 define_insn with
AVX2_VEC_DUP_MODE iterator, add a splitter for that.

* gcc.dg/pr63594-1.c: New test.
* gcc.dg/pr63594-2.c: New test.
* gcc.target/i386/sse2-pr63594-1.c: New test.
* gcc.target/i386/sse2-pr63594-2.c: New test.
* gcc.target/i386/avx-pr63594-1.c: New test.
* gcc.target/i386/avx-pr63594-2.c: New test.
* gcc.target/i386/avx2-pr63594-1.c: New test.
* gcc.target/i386/avx2-pr63594-2.c: New test.
* gcc.target/i386/avx512f-pr63594-1.c: New test.
* gcc.target/i386/avx512f-pr63594-2.c: New test.
* gcc.target/i386/avx512f-vec-init.c: Adjust expected
insn counts.

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

9 years ago PR target/63542
jakub [Wed, 22 Oct 2014 06:56:36 +0000 (06:56 +0000)]
PR target/63542
* config/i386/i386.c (ix86_pic_register_p): Also return
true if x is a hard register with ORIGINAL_REGNO equal to
pic_offset_table_rtx pseudo REGNO.
(ix86_delegitimize_address): For ix86_use_pseudo_pic_reg ()
after reload, subtract GOT_SYMBOL_NAME symbol if possible.

* gcc.target/i386/pr63542-1.c: New test.
* gcc.target/i386/pr63542-2.c: New test.

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

9 years agogcc/
amodra [Wed, 22 Oct 2014 01:41:31 +0000 (01:41 +0000)]
gcc/
* gengtype.h (obstack_chunk_alloc, obstack_chunk_free): Remove cast.
* coretypes.h (obstack_chunk_alloc, obstack_chunk_free): Likewise.
(gcc_obstack_init): Use obstack_specify_allocation in place of
_obstack_begin.
* genautomata.c (next_sep_el): Cast result of obstack_base to (char *).
(regexp_representation): Likewise.
* godump.c (go_output_type): Likewise.
gcc/java/
* mangle.c (finish_mangling): Cast result of obstack_base to (char *).
* typeck.c (build_java_argument_signature): Likewise.
(build_java_signature): Likewise.
gcc/objc/
* objc-encoding.c (encode_array): Cast result of obstack_base.
(encode_type): Likewise.
libcpp/
* symtab.c (ht_create): Use obstack_specify_allocation in place of
_obstack_begin.
* files.c (_cpp_init_files): Likewise.
* init.c (cpp_create_reader): Likewise.
* identifiers.c (_cpp_init_hashtable): Likewise.

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

9 years agoDaily bump.
gccadmin [Wed, 22 Oct 2014 00:16:19 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago * config.gcc: Remove MASK_JUMP_IN_DELAY from target_cpu_default2.
danglin [Tue, 21 Oct 2014 22:55:02 +0000 (22:55 +0000)]
* config.gcc: Remove MASK_JUMP_IN_DELAY from target_cpu_default2.
* config/pa/pa.h (TARGET_DEFAULT): Remove MASK_JUMP_IN_DELAY.
* config/pa/pa.opt (mjump-in-delay): Ignore option.  Update comment.

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

9 years ago2014-10-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Tue, 21 Oct 2014 22:37:55 +0000 (22:37 +0000)]
2014-10-21 Manuel López-Ibáñez  <manu@gcc.gnu.org>

* doc/invoke.texi (pedantic-errors): Explain better.

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

9 years agogcc:
amylaar [Tue, 21 Oct 2014 20:12:01 +0000 (20:12 +0000)]
gcc:

2014-10-21  Joern Rennecke  <joern.rennecke@embecosm.com>
    Vidya Praveen <vidya.praveen@atmel.com>
    Praveen Kumar Kaushik <Praveen_Kumar.Kaushik@atmel.com>
    Senthil Kumar Selvaraj <Senthil_Kumar.Selvaraj@atmel.com>
    Pitchumani Sivanupandi <Pitchumani.S@atmel.com>

* config/avr/avr-c.c (avr_cpu_cpp_builtins): Don't define
__MEMX for avrtiny.
* config/avr/avr.c (avr_insert_attributes): Reject __memx for avrtiny.
(avr_nonconst_pointer_addrspace): Likewise.
* config/avr/avr.h (AVR_HAVE_LPM): Define.

Added AVRTINY architecture to avr target.
* config/avr/avr-arch.h (avr_arch): Added AVRTINY architecture.
(base_arch_s): member added for AVRTINY architecture.
* config/avr/avr.c: Added TINY_ADIW, TINY_SBIW macros as AVRTINY
alternate for adiw/sbiw instructions. Added AVR_TMP_REGNO and
AVR_ZERO_REGNO macros for tmp and zero registers. Replaced TMP_REGNO
and ZERO_REGNO occurrences by AVR_TMP_REGNO and AVR_ZERO_REGNO
respectively. LAST_CALLEE_SAVED_REG macro added for the last register
in callee saved register list.
(avr_option_override): CCP address updated for AVRTINY.
(avr_init_expanders): tmp and zero rtx initialized as per arch.
Reset avr_have_dimode if AVRTINY.
(sequent_regs_live): Use LAST_CALLEE_SAVED_REG instead magic number.
(emit_push_sfr): Use AVR_TMP_REGNO for tmp register number.
(avr_prologue_setup_frame): Don't minimize prologue if AVRTINY.
Use LAST_CALLEE_SAVED_REG to refer last callee saved register.
(expand_epilogue): Likewise.
(avr_print_operand): Print CCP address in case of AVRTINY also.
<TBD>bad address
(function_arg_regno_p): Check different register list for arguments
if AVRTINY.
(init_cumulative_args): Check for AVRTINY to update number of argument
registers.
(tiny_valid_direct_memory_access_range): New function. Return false if
direct memory access range is not in accepted range for AVRTINY.
(avr_out_movqi_r_mr_reg_disp_tiny): New function to handle register
indirect load (with displacement) for AVRTINY.
(out_movqi_r_mr): Updated instruction length for AVRTINY. Call
avr_out_movqi_r_mr_reg_disp_tiny for load from reg+displacement.
(avr_out_movhi_r_mr_reg_no_disp_tiny): New function to handle register
indirect load (no displacement) for AVRTINY.
(avr_out_movhi_r_mr_reg_disp_tiny): New function to handle register
indirect load (with displacement) for AVRTINY.
(avr_out_movhi_r_mr_pre_dec_tiny): New function to handle register
indirect load for pre-decrement address.
(out_movhi_r_mr): In case of AVRTINY, call tiny register indirect load
functions. Update instruction length for AVRTINY.
(avr_out_movsi_r_mr_reg_no_disp_tiny): New function. Likewise, for
SImode.
(avr_out_movsi_r_mr_reg_disp_tiny): New function. Likewise, for SImode.
(out_movsi_r_mr): Likewise, for SImode.
(avr_out_movsi_mr_r_reg_no_disp_tiny): New function to handle register
indirect store (no displacement) for AVRTINY.
(avr_out_movsi_mr_r_reg_disp_tiny): New function to handle register
indirect store (with displacement) for AVRTINY.
(out_movsi_mr_r): Emit out insn for IO address store. Update store
instruction's size for AVRTINY. For AVRTINY, call tiny SImode indirect
store functions.
(avr_out_load_psi_reg_no_disp_tiny): New function to handle register
indirect load (no displacement) for PSImode in AVRTINY.
(avr_out_load_psi_reg_disp_tiny): New function to handle register
indirect load (with displacement) for PSImode in AVRTINY.
(avr_out_load_psi): Call PSImode register indirect load functions for
AVRTINY. Update instruction length for AVRTINY.
(avr_out_store_psi_reg_no_disp_tiny): New function to handle register
indirect store (no displacement) for PSImode in AVRTINY.
(avr_out_store_psi_reg_disp_tiny): New function to handle register
indirect store (with displacement) for PSImode in AVRTINY.
(avr_out_store_psi): Update instruction length for AVRTINY. Call tiny
register indirect store functions for AVRTINY.
(avr_out_movqi_mr_r_reg_disp_tiny): New function to handle QImode
register indirect store (with displacement) for AVRTINY.
(out_movqi_mr_r): Update instruction length for AVRTINY. Call tiny
register indirect store function for QImode in AVRTINY.
(avr_out_movhi_mr_r_xmega): Update instruction length for AVRTINY.
(avr_out_movhi_mr_r_reg_no_disp_tiny): New function to handle register
indirect store (no displacement) for HImode in AVRTINY.
(avr_out_movhi_mr_r_reg_disp_tiny): New function to handle register
indirect store (with displacement) for HImode in AVRTINY.
(avr_out_movhi_mr_r_post_inc_tiny): New function to handle register
indirect store for post-increment address in HImode.
(out_movhi_mr_r): Update instruction length for AVRTINY. Call tiny
register indirect store function for HImode in AVRTINY.
(avr_out_compare): Use TINY_SBIW/ TINY_ADIW in place of sbiw/adiw
in case of AVRTINY.
(order_regs_for_local_alloc): Updated register allocation order for
AVRTINY.
(avr_conditional_register_usage): New function. It is a target hook
(TARGET_CONDITIONAL_REGISTER_USAGE) function which updates fixed, call
used registers list and register allocation order for AVRTINY.
(avr_return_in_memory): Update return value size for AVRTINY.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Added builtin macros
for AVRTINY arch and tiny program memory base address.
* config/avr/avr-devices.c (avr_arch_types): Added AVRTINY arch.
(avr_texinfo): Added description for AVRTINY arch.
* config/avr/avr.h: Added macro to identify AVRTINY arch. Updated
STATIC_CHAIN_REGNUM for AVRTINY.
* config/avr/avr-mcus.def: Added AVRTINY arch devices.
* config/avr/avr.md: Added constants for tmp/ zero registers in
AVRTINY. Attributes for AVRTINY added.
(mov<mode>): Move src/ dest address to register if it is not in AVRTINY
memory access range.
(mov<mode>_insn): Avoid QImode direct load for AVRTINY if address not
in AVRTINY memory access range.
(*mov<mode>): Likewise for HImode and SImode.
(*movsf): Likewise for SFmode.
(delay_cycles_2): Updated instructions to be emitted as AVRTINY does
not have sbiw.
* config/avr/avr-protos.h: Added function prototype for
tiny_valid_direct_memory_access_range.
* config/avr/avr-tables.opt: Regenerate.
* gcc/config/avr/t-multilib: Regenerate.
* doc/avr-mmcu.texi: Regenerate.

gcc/testsuite:

2014-10-21  Joern Rennecke  <joern.rennecke@embecosm.com>

* gcc.target/avr/tiny-memx.c: New test.

* gcc.target/avr/tiny-caller-save.c: New test.

libgcc:

2014-10-21  Joern Rennecke  <joern.rennecke@embecosm.com>
    Vidya Praveen <vidya.praveen@atmel.com>
    Praveen Kumar Kaushik <Praveen_Kumar.Kaushik@atmel.com>
    Senthil Kumar Selvaraj <Senthil_Kumar.Selvaraj@atmel.com>
    Pitchumani Sivanupandi <Pitchumani.S@atmel.com>

* config/avr/lib1funcs.S (__do_global_dtors): Go back to descending
order.

Updated library functions for AVRTINY arch.
* config/avr/lib1funcs.S: Updated zero/tmp regs for AVRTINY.
Replaced occurrences of r0/r1 with tmp/zero reg macros.
Added wsubi/ wadi macros that expands conditionally as sbiw/ adiw
or AVRTINY equivalent. Replaced occurrences of sbiw/adiw with
wsubi/wadi macors.
(__mulsi3_helper): Update stack, preserve callee saved regs and
argument from stack. Restore callee save registers.
(__mulpsi3): Likewise.
(__muldi3, __udivmodsi4, __divmodsi4, __negsi2, __umoddi3, __udivmod64,
__moddi3, __adddi3, __adddi3_s8, __subdi3, __cmpdi2, __cmpdi2_s8,
__negdi2, __prologue_saves__, __epilogue_restores__): Excluded for
AVRTINY.
(__tablejump2__): Added lpm equivalent instructions for AVRTINY.
(__do_copy_data): Added new definition for AVRTINY.
(__do_clear_bss): Replace r17 by r18 to preserve zero reg for AVRTINY.
(__load_3, __load_4, __xload_1, __xload_2, __xload_3,
__xload_4, __movmemx_qi, __movmemx_hi): Excluded for AVRTINY.
* config/avr/lib1funcs-fixed.S: Replaced occurrences of r0/r1 with
tmp/zero reg macros. Replaced occurrences of sbiw/adiw with wsubi/wadi
macors.
   * config/avr/t-avr (LIB1ASMFUNCS): Remove unsupported functions for
AVRTINY.

Fix broken long multiplication on tiny arch.

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

9 years ago2014-10-21 Andrew Pinski <apinski@cavium.com>
pinskia [Tue, 21 Oct 2014 18:30:35 +0000 (18:30 +0000)]
2014-10-21  Andrew Pinski  <apinski@cavium.com>

* doc/invoke.texi (AARCH64/mtune): Document thunderx as an
available option also.
* config/aarch64/aarch64-cost-tables.h: New file.
* config/aarch64/aarch64-cores.def (thunderx): New core.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.c: Include aarch64-cost-tables.h instead
of config/arm/aarch-cost-tables.h.
(thunderx_regmove_cost): New variable.
(thunderx_tunings): New variable.

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

9 years agoAdd AutoFDO.
dehao [Tue, 21 Oct 2014 17:59:30 +0000 (17:59 +0000)]
Add AutoFDO.

gcc/ChangeLog:

2014-10-21  Dehao Chen  <dehao@google.com>

* auto-profile.c: New file.
* auto-profile.h: New file.
* basic-block.h (maybe_hot_count_p): New export func.
(add_working_set): New export func.
* gcov-io.h (GCOV_TAG_AFDO_FILE_NAMES): New tag.
(GCOV_TAG_AFDO_FUNCTION): Likewise.
(GCOV_TAG_AFDO_WORKING_SET): Likewise.
* opts.c (enable_fdo_optimizations): New func.
(common_handle_option): Handle -fauto-profile flag.
* ipa-inline.c (want_early_inline_function_p): Iterative-einline.
(class pass_early_inline): Export early_inliner.
(early_inliner): Likewise.
(pass_early_inline::execute): Likewise.
* ipa-inline.h (early_inliner): Likewise.
* predict.c (maybe_hot_count_p): New export func.
(counts_to_freqs): AutoFDO logic.
(rebuild_frequencies): Likewise.
* tree-profile.c (pass_ipa_tree_profile::gate): Likewise.
* profile.c (add_working_set): New func.
* Makefile.in (auto-profile.o): New object file.
* passes.def (pass_ipa_auto_profile): New pass.
* tree-ssa-live.c (remove_unused_scope_block_p): AutoFDO logic.
* tree-pass.h (make_pass_ipa_auto_profile): New pass.
* toplev.c (compile_file): AutoFDO logic.
* doc/invoke.texi (-fauto-profile): New doc.
* coverage.c (coverage_init): AutoFDO logic.
* common.opt (-fauto-profile): New flag.
* timevar.def (TV_IPA_AUTOFDO): New tag.
* value-prof.c (gimple_alloc_histogram_value): New export func.
(check_ic_target): Likewise.
* value-prof.h (gimple_alloc_histogram_value): Likewise.
(check_ic_target): Likewise.

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

9 years agoState cleanups from jit branch
dmalcolm [Tue, 21 Oct 2014 16:55:38 +0000 (16:55 +0000)]
State cleanups from jit branch

gcc/ChangeLog:
* cgraph.c (cgraph_c_finalize): New function.
* cgraph.h (cgraph_c_finalize): New prototype.
(cgraphunit_c_finalize): New prototype.
* cgraphunit.c (first_analyzed): Move from analyze_functions
to file-scope.
(first_analyzed_var): Likewise.
(analyze_functions): Move static variables into file-scope.
(cgraphunit_c_finalize): New function.
* diagnostic.c (diagnostic_finish): Free the memory for
context->classify_diagnostic and context->printer, running the
destructor for the latter.
(bt_stop): Use toplev::main.
* dwarf2out.c (dwarf2out_finalize): New function.
* dwarf2out.h (dwarf2out_c_finalize): New prototype.
* gcse.c (gcse_c_finalize): New function.
* gcse.h (gcse_c_finalize): New prototype.
* ggc-page.c (init_ggc): Make idempotent.
* input.c (input_location): Initialize to UNKNOWN_LOCATION.
* ipa-cp.c (ipa_cp_c_finalize): New function.
* ipa-prop.h (ipa_cp_c_finalize): New prototype.
* ipa-pure-const.c (function_insertion_hook_holder): Move to be
a field of class pass_ipa_pure_const.
(node_duplication_hook_holder): Likewise.
(node_removal_hook_holder): Likewise.
(register_hooks): Convert to method...
(pass_ipa_pure_const::register_hooks): ...here, converting
static variable init_p into...
(pass_ipa_pure_const::init_p): ...new field.
(pure_const_generate_summary): Update invocation of
register_hooks to invoke as a method of current_pass.
(pure_const_read_summary): Likewise.
(propagate): Convert to...
(pass_ipa_pure_const::execute): ...method.
* ipa-reference.c (ipa_init): Move static bool init_p from here
to...
(ipa_init_p): New file-scope variable, so that it can be reset
when repeatedly invoking the compiler within one process by...
(ipa_reference_c_finalize): New function.
* ipa-reference.h (ipa_reference_c_finalize): New.
* main.c (main): Replace invocation of toplev_main with
construction of a toplev instance, and call its "main" method.
* params.c (global_init_params): Add an assert that
params_finished is false.
(params_c_finalize): New.
* params.h (params_c_finalize): New.
* passes.c (execute_ipa_summary_passes): Set "current_pass" before
invoking generate_summary, for the benefit of pass_ipa_pure_const.
(ipa_write_summaries_2): Assign "pass" to "current_pass" global
before calling write_summary hook.
(ipa_write_optimization_summaries_1): Likewise when calling
write_optimization_summary hook.
(ipa_read_summaries_1): Likewise for read_summary hook.
(ipa_read_optimization_summaries_1): Likewise for
read_optimization_summary hook.
(execute_ipa_stmt_fixups): Likewise.
* stringpool.c (init_stringpool): Clean up if we're called more
than once.
* timevar.c (timevar_init): Ignore repeated calls.
* toplev.c: Include "dwarf2out.h", "ipa-reference.h", "gcse.h",
"ipa-prop.h".
(general_init): Reset "input_location" to UNKNOWN_LOCATION.
(initialize_rtl): Move static local "initialized_once"
into file scope, and rename to...
(rtl_initialized): New variable.
(do_compile): Move timevar initialization from here to
toplev::start_timevars.
(toplev::toplev, toplev::~toplev, toplev::start_timevars,
toplev::finalize): New functions.
(toplev_main): Rename to...
(toplev::main): ...this.
* toplev.h (class toplev): New class.

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

9 years ago2014-10-21 Andrew MacLeod <amacleod@redhat.com>
amacleod [Tue, 21 Oct 2014 16:29:55 +0000 (16:29 +0000)]
2014-10-21  Andrew MacLeod  <amacleod@redhat.com>

        * loop-doloop.c: Include loop-unroll.h.

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

9 years ago * testsuite/util/io/prog_bar.cc: Qualify size_t.
amylaar [Tue, 21 Oct 2014 16:24:45 +0000 (16:24 +0000)]
    * testsuite/util/io/prog_bar.cc: Qualify size_t.
        * testsuite/util/io/prog_bar.hpp: Likewise.
        * testsuite/util/io/verified_cmd_line_input.hpp: Likewise.

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

9 years agocompiler: Remove obsolete hidden_fields_are_ok code.
ian [Tue, 21 Oct 2014 16:00:50 +0000 (16:00 +0000)]
compiler: Remove obsolete hidden_fields_are_ok code.

The language used to forbid assigning structs with hidden
fields, but that was changed before the Go 1 release.  At the
time the change was experimental, so I left the old code in
the compiler.  At this point it's clearly not experimental, so
this removes the unused code.

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

9 years ago2014-10-21 Andrew MacLeod <amacleod@redhat.com>
amacleod [Tue, 21 Oct 2014 15:17:12 +0000 (15:17 +0000)]
2014-10-21  Andrew MacLeod  <amacleod@redhat.com>

* cfg.h: New.  Header file for cfg.c.
* cfganal.h: New.  Header file for cfganal.c.
* lcm.h: New.  Header file for lcm.c.
* loop-unroll.h: New.  Header file for loop-unroll.h.
* cfgloop.h: (unroll_loops): Remove prototype.
* basic-block.h: Move prototypes and structs to new header files.
Include cfg.h, cfganal.h, and lcm.h.
* loop-init.c: Include loop-unroll.h.
* loop-unroll.c: (referenced_in_one_insn_in_loop_p): Make static.
* modulo-sched.c: Include loop-unroll.h.

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

9 years ago[ARM] Update testcases for GNU11
jiwang [Tue, 21 Oct 2014 14:41:01 +0000 (14:41 +0000)]
[ARM] Update testcases for GNU11

2014-10-21  Jiong Wang  <jiong.wang@arm.com>

* gcc.target/arm/20031108-1.c (Proc_7): Add explicit declaration.
(Proc_1): Add return type.
* gcc.target/arm/cold-lc.c (show_stack): Add explict declaration.
* gcc.target/arm/neon-modes-2.c (foo): Likewise.
* gcc.target/arm/pr43920-2.c (lseek): Likewise.
* gcc.target/arm/pr44788.c (foo): Likewise.
* gcc.target/arm/pr55642.c (abs): Likewise.
* gcc.target/arm/pr58784.c (f): Likewise.
* gcc.target/arm/pr60650.c (foo1, foo2): Likewise.
* gcc.target/arm/vfp-ldmdbs.c (bar): Likewise.
* gcc.target/arm/vfp-ldmias.c (bar): Likewise.
* gcc.target/arm/pr60650-2.c (fn1, fn2): Add return type and add type
for local variables.
* lib/target-supports.exp
(check_effective_target_arm_crypto_ok_nocache): Add declaration for
vaeseq_u8.
(check_effective_target_arm_neon_fp16_ok_nocache): Add declaration for
vcvt_f16_f32.
(check_effective_target_arm_neonv2_ok_nocache): Add declaration for
vfma_f32.
* gcc.target/arm/pr51968.c: Add -Wno-implicit-function-declaration.

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

9 years ago2014-10-21 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 21 Oct 2014 14:14:06 +0000 (14:14 +0000)]
2014-10-21  Paolo Carlini  <paolo.carlini@oracle.com>

* parser.c (cp_parser_unary_expression): Add default arguments.
(cp_parser_cast_expression, cp_parser_sizeof_operand,
cp_parser_omp_atomic): Adjust.

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

9 years ago2014-10-21 Ville Voutilainen <ville.voutilainen@gmail.com>
redi [Tue, 21 Oct 2014 13:10:51 +0000 (13:10 +0000)]
2014-10-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement more Library Fundamentals v1 variable templates.
* include/Makefile.am: Add ratio, chrono and system_error.
* include/Makefile.in: Regenerate.
* include/experimental/chrono: New.
* include/experimental/ratio: Likewise.
* include/experimental/system_error: Likewise.
* include/experimental/tuple (tuple_size_v): Likewise.
* testsuite/experimental/chrono/value.cc: Likewise.
* testsuite/experimental/ratio/value.cc: Likewise.
* testsuite/experimental/system_error/value.cc: Likewise.
* testsuite/experimental/tuple/tuple_size.cc: Likewise.

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

9 years ago* gcc.dg/bf-spl1.c (main): Fix implicit int.
schwab [Tue, 21 Oct 2014 12:55:30 +0000 (12:55 +0000)]
* gcc.dg/bf-spl1.c (main): Fix implicit int.

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