platform/upstream/linaro-gcc.git
11 years ago2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 2 May 2013 12:03:30 +0000 (12:03 +0000)]
2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
constexpr_data.cc: Move...
* testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
... here.
* testsuite/20_util/integral_constant/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/integral_constant/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
* testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
* testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.

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

11 years agoMove libitm ChangeLog entry to the right ChangeLog file.
jakub [Thu, 2 May 2013 11:32:11 +0000 (11:32 +0000)]
Move libitm ChangeLog entry to the right ChangeLog file.

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

11 years ago2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 2 May 2013 11:00:26 +0000 (11:00 +0000)]
2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (is_null_pointer): Add.
(__is_nullptr_t): Implement in terms of the latter.
(is_fundamental, is_scalar): Adjust.
* testsuite/20_util/is_null_pointer/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_null_pointer/value.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.

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

11 years ago2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 2 May 2013 09:48:07 +0000 (09:48 +0000)]
2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cstdio: Add comment about LWG 2249.
* include/c_std/cstdio: Likewise.

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

11 years ago PR rtl-optimization/57131
jakub [Thu, 2 May 2013 06:00:46 +0000 (06:00 +0000)]
PR rtl-optimization/57131
* gcc.c-torture/execute/pr57131.c: New test.

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

11 years agoDaily bump.
gccadmin [Thu, 2 May 2013 00:16:22 +0000 (00:16 +0000)]
Daily bump.

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

11 years ago/cp
paolo [Wed, 1 May 2013 19:19:44 +0000 (19:19 +0000)]
/cp
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57132
* pt.c (tsubst_copy_and_build, MODOP_EXPR): Increase / decrease
c_inhibit_evaluation_warnings around build_x_modify_expr call.

/testsuite
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57132
* g++.dg/warn/Wdiv-by-zero-bogus-2.C: New.

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

11 years ago2013-05-01 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 1 May 2013 18:54:17 +0000 (18:54 +0000)]
2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57091
* lra-constraints.c (best_small_class_operands_num): Remove.
(process_alt_operands): Remove small_class_operands_num.  Take
small classes operands into losers and only if the operand is not
matched.  Modify debugging output.
(curr_insn_transform): Remove best_small_class_operands_num.
Print insn name.

2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57091
* gcc.target/i386/pr57091.c: New test.

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

11 years ago[AArch64] Refactor reduc_<su>plus patterns.
jgreenhalgh [Wed, 1 May 2013 15:37:52 +0000 (15:37 +0000)]
[AArch64] Refactor reduc_<su>plus patterns.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_gimple_fold_builtin.c): Fold more modes for reduc_splus_.
* config/aarch64/aarch64-simd-builtins.def
(reduc_splus_): Add new modes.
(reduc_uplus_): New.
* config/aarch64/aarch64-simd.md (aarch64_addvv4sf): Remove.
(reduc_uplus_v4sf): Likewise.
(reduc_splus_v4sf): Likewise.
(aarch64_addv<mode>): Likewise.
(reduc_uplus_<mode>): Likewise.
(reduc_splus_<mode>): Likewise.
(aarch64_addvv2di): Likewise.
(reduc_uplus_v2di): Likewise.
(reduc_splus_v2di): Likewise.
(aarch64_addvv2si): Likewise.
(reduc_uplus_v2si): Likewise.
(reduc_splus_v2si): Likewise.
(reduc_<sur>plus_<mode>): New.
(reduc_<sur>plus_v2di): Likewise.
(reduc_<sur>plus_v2si): Likewise.
(reduc_<sur>plus_v4sf): Likewise.
(aarch64_addpv4sf): Likewise.
* config/aarch64/arm_neon.h
(vaddv<q>_<s,u,f><8, 16, 32, 64): Rewrite using builtins.
* config/aarch64/iterators.md (unspec): Remove UNSPEC_ADDV,
add UNSPEC_SADDV, UNSPEC_UADDV.
(SUADDV): New.
(sur): Add UNSPEC_SADDV, UNSPEC_UADDV.

gcc/testsuite/
* gcc.target/aarch64/vect-vaddv.c: New.

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

11 years ago[AArch64] Rewrite v<max,min><nm><q><v>_<sfu><8, 16, 32, 64> intrinsics using builtins.
jgreenhalgh [Wed, 1 May 2013 15:33:34 +0000 (15:33 +0000)]
[AArch64] Rewrite v<max,min><nm><q><v>_<sfu><8, 16, 32, 64> intrinsics using builtins.

gcc/
* config/aarch64/arm_neon.h
(v<max,min><nm><q><v>_<sfu><8, 16, 32, 64>): Rewrite using builtins.

gcc/testsuite/
* gcc.target/aarch64/vect-vmaxv.c: New.
* gcc.target/aarch64/vect-vfmaxv.c: Likewise.

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

11 years ago[AArch64] Fold max and min reduction builtins to tree.
jgreenhalgh [Wed, 1 May 2013 15:18:18 +0000 (15:18 +0000)]
[AArch64] Fold max and min reduction builtins to tree.

gcc/
* config/aarch64/aarch64-builtins
(aarch64_gimple_fold_builtin): Fold reduc_<su><maxmin>_ builtins.

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

11 years ago[AArch64] Refactor vector max and min RTL and builtins.
jgreenhalgh [Wed, 1 May 2013 15:16:14 +0000 (15:16 +0000)]
[AArch64] Refactor vector max and min RTL and builtins.

gcc/
* config/aarch64/aarch64-simd-builtins.def
(reduc_smax_): New.
(reduc_smin_): Likewise.
(reduc_umax_): Likewise.
(reduc_umin_): Likewise.
(reduc_smax_nan_): Likewise.
(reduc_smin_nan_): Likewise.
(fmax): Remove.
(fmin): Likewise.
(smax): Update for V2SF, V4SF and V2DF modes.
(smin): Likewise.
(smax_nan): New.
(smin_nan): Likewise.
* config/aarch64/aarch64-simd.md (<maxmin><mode>3): Rename to...
(<su><maxmin><mode>3): ...This, refactor.
(s<maxmin><mode>3): New.
(<maxmin_uns><mode>3): Likewise.
(reduc_<maxmin_uns>_<mode>): Refactor.
(reduc_<maxmin_uns>_v4sf): Likewise.
(reduc_<maxmin_uns>_v2si): Likewise.
(aarch64_<fmaxmin><mode>: Remove.
* config/aarch64/arm_neon.h (vmax<q>_f<32,64>): Rewrite to use
new builtin names.
(vmin<q>_f<32,64>): Likewise.
* config/iterators.md (unspec): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
(FMAXMIN): New.
(su): Add mappings for smax, smin, umax, umin.
(maxmin): New.
(FMAXMINV): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
(FMAXMIN): Rename as...
(FMAXMIN_UNS): ...This.
(maxminv): Remove.
(fmaxminv): Likewise.
(fmaxmin): Likewise.
(maxmin_uns): New.
(maxmin_uns_op): Likewise.

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

11 years ago[AArch64] Add testcases for FAC, FCM changes.
jgreenhalgh [Wed, 1 May 2013 10:52:13 +0000 (10:52 +0000)]
[AArch64] Add testcases for FAC, FCM changes.

gcc/testsuite/
* gcc.target/aarch64/scalar-vca.c: New.
* gcc.target/aarch64/vect-vca.c: Likewise.

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

11 years ago[AArch64] Rewrite vca<ge, gt, le, lt> Neon patterns in C.
jgreenhalgh [Wed, 1 May 2013 10:49:31 +0000 (10:49 +0000)]
[AArch64] Rewrite vca<ge, gt, le, lt> Neon patterns in C.

gcc/
* config/aarch64/arm_neon.h
(vac<ge, gt><sd>_f<32, 64>): Rename to...
(vca<ge, gt><sd>_f<32, 64>): ...this, reimpliment in C.
(vca<ge, gt, lt, le><q>_f<32, 64>): Reimpliment in C.

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

11 years ago[AArch64] Add combiner patterns for FAC instructions
jgreenhalgh [Wed, 1 May 2013 10:46:00 +0000 (10:46 +0000)]
[AArch64] Add combiner patterns for FAC instructions

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_fac<optab><mode>): New.
* config/aarch64/iterators.md (FAC_COMPARISONS): New.

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

11 years ago[AArch64 Testsuite] Fix fallout from FCM changes.
jgreenhalgh [Wed, 1 May 2013 10:43:02 +0000 (10:43 +0000)]
[AArch64 Testsuite] Fix fallout from FCM changes.

gcc/testsuite/
* gcc.target/aarch64/scalar_intrinsics.c (force_simd): New.
(test_vceqd_s64): Force arguments to SIMD registers.
(test_vceqzd_s64): Likewise.
(test_vcged_s64): Likewise.
(test_vcled_s64): Likewise.
(test_vcgezd_s64): Likewise.
(test_vcged_u64): Likewise.
(test_vcgtd_s64): Likewise.
(test_vcltd_s64): Likewise.
(test_vcgtzd_s64): Likewise.
(test_vcgtd_u64): Likewise.
(test_vclezd_s64): Likewise.
(test_vcltzd_s64): Likewise.
(test_vtst_s64): Likewise.
(test_vtst_u64): Likewise.

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

11 years ago[AArch64] Add special case when expanding vcond with arms {-1, -1}, {0, 0}.
jgreenhalgh [Wed, 1 May 2013 10:40:23 +0000 (10:40 +0000)]
[AArch64] Add special case when expanding vcond with arms {-1, -1}, {0, 0}.

gcc/
* config/aarch64/aarch64-simd.md
(vcond<mode>_internal): Handle special cases for constant masks.
(vcond<mode><mode>): Allow nonmemory_operands for outcome vectors.
(vcondu<mode><mode>): Likewise.
(vcond<v_cmp_result><mode>): New.

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

11 years ago[AArch64] Remap neon vcmp functions to C/TREE
jgreenhalgh [Wed, 1 May 2013 10:37:28 +0000 (10:37 +0000)]
[AArch64] Remap neon vcmp functions to C/TREE

gcc/
* config/aarch64/aarch64-builtins.c (BUILTIN_VALLDI): Define.
(aarch64_fold_builtin): Add folding for cm<eq,ge,gt,tst>.
* config/aarch64/aarch64-simd-builtins.def
(cmeq): Update to BUILTIN_VALLDI.
(cmgt): Likewise.
(cmge): Likewise.
(cmle): Likewise.
(cmlt): Likewise.
* config/aarch64/arm_neon.h
(vc<eq, lt, le, gt, ge, tst><z><qsd>_<fpsu><8,16,32,64>): Remap
to builtins or C as appropriate.

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

11 years ago[AArch64] Improve description of <F>CM instructions in RTL
jgreenhalgh [Wed, 1 May 2013 10:33:57 +0000 (10:33 +0000)]
[AArch64] Improve description of <F>CM instructions in RTL

gcc/
* config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to...
(cmgeu): ...This.
(cmhi): Rename to...
(cmgtu): ...This.
* config/aarch64/aarch64-simd.md
(simd_mode): Add SF.
(aarch64_vcond_internal): Use new names for unsigned comparison insns.
(aarch64_cm<optab><mode>): Rewrite to not use UNSPECs.
* config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to...
(cstore<mode>_neg): ...This.
* config/aarch64/iterators.md
(VALLF): new.
(unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
(COMPARISONS): New.
(UCOMPARISONS): Likewise.
(optab): Add missing comparisons.
(n_optab): New.
(cmp_1): Likewise.
(cmp_2): Likewise.
(CMP): Likewise.
(cmp): Remove.
(VCMP_S): Likewise.
(VCMP_U): Likewise.
(V_cmp_result): Add DF, SF modes.
(v_cmp_result): Likewise.
(v): Likewise.
(vmtype): Likewise.
* config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New.

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

11 years ago2013-05-01 Greta Yorsh <Greta.Yorsh@arm.com>
gretay [Wed, 1 May 2013 10:25:28 +0000 (10:25 +0000)]
2013-05-01  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/thumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert
define_insn to define_insn_and_split.
(thumb32_umaxsi3,thumb2_uminsi3): Likewise.
(thumb2_negdi2,thumb2_abssi2,thumb2_neg_abssi2): Likewise.
(thumb2_mov_scc,thumb2_mov_negscc,thumb2_mov_notscc): Likewise.
(thumb2_movsicc_insn,thumb2_and_scc,thumb2_ior_scc): Likewise.
(thumb2_negscc): Likewise.

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

11 years ago/cp
paolo [Wed, 1 May 2013 09:21:30 +0000 (09:21 +0000)]
/cp
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57092
* semantics.c (finish_decltype_type): Handle instantiated template
non-type arguments.

/testsuite
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57092
* g++.dg/cpp0x/decltype53.C: New.

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

11 years ago2013-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Wed, 1 May 2013 08:28:57 +0000 (08:28 +0000)]
2013-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes.c (optimize_power):  Fix typo
in comment.

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

11 years agoDaily bump.
gccadmin [Wed, 1 May 2013 00:16:23 +0000 (00:16 +0000)]
Daily bump.

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

11 years ago2013-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 30 Apr 2013 21:45:13 +0000 (21:45 +0000)]
2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/57071
* frontend-passes.c (optimize_power):  Simplify
1**k to 1.

2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/57071
* gfortran.dg/power_5.f90:  New test.

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

11 years ago* MAINTAINERS: Update my email; move myself from Fortran
brooks [Tue, 30 Apr 2013 18:31:46 +0000 (18:31 +0000)]
* MAINTAINERS: Update my email; move myself from Fortran
reviewer to Write After Approval.

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

11 years ago2013-04-30 Greta Yorsh <Greta.Yorsh@arm.com>
gretay [Tue, 30 Apr 2013 17:08:25 +0000 (17:08 +0000)]
2013-04-30  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/thumb2.md (thumb2_incscc, thumb2_decscc): Delete.

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

11 years agoCommitted as obvious.
gretay [Tue, 30 Apr 2013 16:50:12 +0000 (16:50 +0000)]
Committed as obvious.

2013-04-30  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/thumb2.md: Remove trailing whitespaces.

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

11 years agogcc/
rsandifo [Tue, 30 Apr 2013 16:15:55 +0000 (16:15 +0000)]
gcc/
* explow.c (plus_constant): Pass "mode" to immed_double_int_const.
Use gen_int_mode rather than GEN_INT.

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

11 years agoFix a typo in ChangeLog
hjl [Tue, 30 Apr 2013 15:53:58 +0000 (15:53 +0000)]
Fix a typo in ChangeLog

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

11 years agoRemove the trayed debug_gimple_stmt
hjl [Tue, 30 Apr 2013 15:53:03 +0000 (15:53 +0000)]
Remove the trayed debug_gimple_stmt

* value-prof.c (stream_in_histogram_value): Remove the trayed
debug_gimple_stmt.

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

11 years ago2013-04-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Apr 2013 15:03:58 +0000 (15:03 +0000)]
2013-04-30  Richard Biener  <rguenther@suse.de>

PR middle-end/57122
* cfghooks.c (split_edge): Properly check for the loop
latch edge.

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

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

11 years ago2013-04-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Apr 2013 13:54:14 +0000 (13:54 +0000)]
2013-04-30  Richard Biener  <rguenther@suse.de>

PR middle-end/57107
* tree-eh.c (sink_clobbers): Preserve virtual SSA form.

* g++.dg/torture/pr57107.C: New testcase.

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

11 years ago PR rtl-optimization/56957
abel [Tue, 30 Apr 2013 10:55:52 +0000 (10:55 +0000)]
    PR rtl-optimization/56957
        PR rtl-optimization/57105

        * sel-sched.c (move_op_orig_expr_found): Remove insn_emitted
        variable.  Use just INSN_UID for determining whether an insn
        should be only disconnected from the insn stream.
        * sel-sched-ir.h (EXPR_WAS_CHANGED): Remove.

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

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

11 years ago PR tree-optimization/57104
jakub [Tue, 30 Apr 2013 08:52:39 +0000 (08:52 +0000)]
PR tree-optimization/57104
* tsan.c (instrument_expr): Don't instrument accesses to
DECL_HARD_REGISTER VAR_DECLs.

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

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

11 years agoconfig-list.mk (LIST): Add aarch64-elf and aarch64-linux-gnu.
sofiane [Tue, 30 Apr 2013 08:35:17 +0000 (08:35 +0000)]
config-list.mk (LIST): Add aarch64-elf and aarch64-linux-gnu.

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

11 years ago2013-04-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Apr 2013 08:14:09 +0000 (08:14 +0000)]
2013-04-30  Richard Biener  <rguenther@suse.de>

* function.h (loops_for_fn): New inline function.
(set_loops_for_fn): Likewise.
* cfgloop.h (place_new_loop): Add struct function parameter.
(get_loop): Likewise.
(get_loops): Likewise.
(number_of_loops): Likewise.
(fel_next): Adjust.
(fel_init): Likewise.
* cfg.c (get_loop_copy): Adjust.
* cfgloop.c (flow_loops_dump): Likewise.
(record_loop_exits): Likewise.
(verify_loop_structure): Likewise.
* cfgloopanal.c (mark_irreducible_loops): Likewise.
(estimate_reg_pressure_cost): Likewise.
(mark_loop_exit_edges): Likewise.
* cfgloopmanip.c (place_new_loop): Likewise.
(add_loop): Likewise.
(duplicate_loop): Likewise.
* graph.c (draw_cfg_nodes): Likewise.
* graphite-clast-to-gimple.c (translate_clast_user): Likewise.
* graphite-sese-to-poly.c (build_scop_scattering): Likewise.
(extract_affine_chrec): Likewise.
(build_scop_iteration_domain): Likewise.
* graphite.c (graphite_initialize): Likewise.
* ira-build.c (create_loop_tree_nodes): Likewise.
(more_one_region_p): Likewise.
(rebuild_regno_allocno_maps): Likewise.
(mark_loops_for_removal): Likewise.
(mark_all_loops_for_removal): Likewise.
(remove_unnecessary_regions): Likewise.
(ira_build): Likewise.
* ira-emit.c (setup_entered_from_non_parent_p): Likewise.
* loop-init.c (fix_loop_structure): Likewise.
(gate_rtl_move_loop_invariants): Likewise.
(gate_rtl_unswitch): Likewise.
(gate_rtl_unroll_and_peel_loops): Likewise.
(rtl_doloop): Likewise.
* lto-streamer-in.c (input_cfg): Likewise.
* lto-streamer-out.c (output_cfg): Likewise.
* modulo-sched.c (sms_schedule): Likewise.
* predict.c (tree_estimate_probability): Likewise.
(tree_estimate_probability_driver): Likewise.
(estimate_loops): Likewise.
* tree-cfg.c (fixup_loop_arrays_after_move): Likewise.
(move_sese_region_to_fn): Likewise.
(debug_loop_num): Likewise.
* tree-chrec.c (chrec_evaluate): Likewise.
(hide_evolution_in_other_loops_than_loop): Likewise.
(chrec_component_in_loop_num): Likewise.
(reset_evolution_in_loop): Likewise.
(evolution_function_is_invariant_rec_p): Likewise.
* tree-if-conv.c (main_tree_if_conversion): Likewise.
* tree-inline.c (copy_loops): Likewise.
(copy_cfg_body): Likewise.
(tree_function_versioning): Likewise.
* tree-loop-distribution.c (rdg_flag_loop_exits): Likewise.
* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
Likewise.
(add_to_evolution_1): Likewise.
(scev_const_prop): Likewise.
* tree-scalar-evolution.h (get_chrec_loop): Likewise.
* tree-ssa-loop-ch.c (copy_loop_headers): Likewise.
* tree-ssa-loop-im.c (analyze_memory_references): Likewise.
(tree_ssa_lim_initialize): Likewise.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Likewise.
(verify_loop_closed_ssa): Likewise.
* tree-ssa-loop.c  (tree_ssa_loop_init): Likewise.
(tree_ssa_loop_im): Likewise.
(tree_ssa_loop_unswitch): Likewise.
(tree_vectorize): Likewise.
(check_data_deps): Likewise.
(tree_ssa_loop_ivcanon): Likewise.
(tree_ssa_loop_bounds): Likewise.
(tree_complete_unroll): Likewise.
(tree_complete_unroll_inner): Likewise.
(tree_parallelize_loops): Likewise.
(tree_ssa_loop_prefetch): Likewise.
(tree_ssa_loop_ivopts): Likewise.
* tree-ssa.c (execute_update_addresses_taken): Liekwise.
* tree-vectorizer.c (vectorize_loops): Likewise.

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

11 years agogcc: arm: linux-eabi: fix handling of armv4 bx fixups when linking
vapier [Tue, 30 Apr 2013 04:07:23 +0000 (04:07 +0000)]
gcc: arm: linux-eabi: fix handling of armv4 bx fixups when linking

The bpabi.h header already sets up defines to automatically use the
--fix-v4bx flag with the assembler & linker as needed, and creates a
default assembly & linker spec which uses those.  Unfortunately, the
linux-eabi.h header clobbers the LINK_SPEC define and doesn't include
the v4bx define when setting up its own.  So while the assembler spec
is retained and works fine to generate the right relocs, building for
armv4 targets doesn't invoke the linker correctly so all the relocs
get processed as if we had an armv4t target.

You can see this with -dumpspecs when configuring gcc for an armv4
target and using --with-arch=armv4:
$ armv4l-unknown-linux-gnueabi-gcc -dumpspecs |& grep -B 1 fix-v4bx
*subtarget_extra_asm_spec:
.... %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx} ...

With this fix in place, we also get the link spec:
$ armv4l-unknown-linux-gnueabi-gcc -dumpspecs |& grep -B 1 fix-v4bx
*link:
...  %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx} ...

And all my hello world tests / glibc builds automatically turn the
bx insn into the 'mov pc, lr' insn and all is right in the world.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198438 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Tue, 30 Apr 2013 00:16:40 +0000 (00:16 +0000)]
Daily bump.

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

11 years ago PR target/44578
uros [Mon, 29 Apr 2013 20:16:48 +0000 (20:16 +0000)]
PR target/44578
* config/i386/i386.md (*zero_extendsidi2): Add "!" to m->?*y
alternative.

testsuite/ChangeLog:

PR target/44578
* gcc.target/i386/pr44578.c: New test.

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

11 years ago2013-04-29 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Mon, 29 Apr 2013 19:42:20 +0000 (19:42 +0000)]
2013-04-29  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57097
        * lra-constraints.c (process_alt_operands): Discourage a bit more
using memory for pseudos.  Print cost dump for alternatives.
Modify cost values for conflicts with early clobbers.
(curr_insn_transform): Spill pseudos reassigned to NO_REGS.

2013-04-29  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57097
* gcc.target/i386/pr57097.c: New test.

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

11 years ago PR target/57098
uros [Mon, 29 Apr 2013 18:20:58 +0000 (18:20 +0000)]
PR target/57098
* config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.

testsuite/ChangeLog:

PR target/57098
* gcc.target/i386/pr57098.c: New test.

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

11 years ago2013-04-28 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 29 Apr 2013 18:05:00 +0000 (18:05 +0000)]
2013-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57114
        * intrinsic.texi (RANK): Correct syntax description and
        expected result.

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

11 years ago * gcc.c-torture/execute/pr55875.c
law [Mon, 29 Apr 2013 16:23:50 +0000 (16:23 +0000)]
   * gcc.c-torture/execute/pr55875.c

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

11 years ago[AArch64] Support LDR/STR from/to S and D registers
ibolton [Mon, 29 Apr 2013 16:13:16 +0000 (16:13 +0000)]
[AArch64] Support LDR/STR from/to S and D registers

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

11 years agoEnable REE pass by default for AArch64 at O2 or higher
ibolton [Mon, 29 Apr 2013 15:59:19 +0000 (15:59 +0000)]
Enable REE pass by default for AArch64 at O2 or higher

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

11 years ago2013-04-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Apr 2013 15:06:18 +0000 (15:06 +0000)]
2013-04-29  Richard Biener  <rguenther@suse.de>

PR middle-end/57075
* tree-inline.c (copy_edges_for_bb): Still split the bbs,
even if not adding abnormal edges for calls that can make
abnormal gotos.

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

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

11 years ago2013-04-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Apr 2013 14:12:54 +0000 (14:12 +0000)]
2013-04-29  Richard Biener  <rguenther@suse.de>

PR middle-end/57103
* tree-cfg.c (move_stmt_op): Fix condition under which to update
TREE_BLOCK.
(move_stmt_r): Remove redundant checking.

* gcc.dg/autopar/pr57103.c: New testcase.

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

11 years agoc-family:
jsm28 [Mon, 29 Apr 2013 13:28:44 +0000 (13:28 +0000)]
c-family:
2013-04-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* c-common.c (check_user_alignment): Emit error for negative values.

testsuite:
2013-04-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/c1x-align-3.c: Add test for negative power of 2.

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

11 years agoThis patch fixes PR bootstrap/57077. Certain new uses of apply_probability
tejohnson [Mon, 29 Apr 2013 13:22:46 +0000 (13:22 +0000)]
This patch fixes PR bootstrap/57077. Certain new uses of apply_probability
are actually scaling the counts up, and the scale factor should not
be treated as a probability as the value may exceed REG_BR_PROB_BASE.
One example (from the PR) is when scaling counts up in LTO when merging
profiles. Another example I found when preparing the patch to use
the rounding divide in more places is when inlining COMDAT functions.

Add new helper function apply_scale that does the scaling without
the probability range check. I audited the new uses of apply_probability
and changed the calls as appropriate.

2013-04-29  Teresa Johnson  <tejohnson@google.com>

PR bootstrap/57077
* basic-block.h (apply_scale): New function.
(apply_probability): Use apply_scale.
* gimple-streamer-in.c (input_bb): Ditto.
* lto-streamer-in.c (input_cfg): Ditto.
* lto-cgraph.c (merge_profile_summaries): Ditto.
* tree-optimize.c (execute_fixup_cfg): Ditto.
* tree-inline.c (copy_bb): Update comment to use
apply_scale.
(copy_edges_for_bb): Ditto.
(copy_cfg_body): Ditto.

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

11 years agoPreserve loops in tail-merge
vries [Mon, 29 Apr 2013 13:08:24 +0000 (13:08 +0000)]
Preserve loops in tail-merge

2013-04-29  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c (find_same_succ_bb): Skip loop latch bbs.
(replace_block_by): Don't set LOOPS_NEED_FIXUP.
(tail_merge_optimize): Handle current_loops == NULL.

* gcc.dg/pr50763.c: Update test.

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

11 years ago * tree-vrp.c (range_fits_type_p): Move to earlier point in file.
law [Mon, 29 Apr 2013 12:52:17 +0000 (12:52 +0000)]
* tree-vrp.c (range_fits_type_p): Move to earlier point in file.
        (simplify_cond_using_ranges): Generalize code to simplify
        COND_EXPRs where one argument is a constant and the other
        is an SSA_NAME created by an integral type conversion.

* gcc.dg/tree-ssa/vrp88.c: New test.

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

11 years ago2013-04-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
ktkachov [Mon, 29 Apr 2013 12:39:38 +0000 (12:39 +0000)]
2013-04-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.md (store_minmaxsi): Use only when
optimize_insn_for_size_p.

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

11 years ago2013-04-29 Christian Bruel <christian.bruel@st.com>
chrbr [Mon, 29 Apr 2013 12:12:55 +0000 (12:12 +0000)]
2013-04-29  Christian Bruel  <christian.bruel@st.com>

       PR target/57108
       * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.

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

11 years ago2013-04-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Apr 2013 11:31:33 +0000 (11:31 +0000)]
2013-04-29  Richard Biener  <rguenther@suse.de>

PR middle-end/57089
* omp-low.c (expand_omp_taskreg): If the parent function had
a broken loop tree make sure to schedule a fixup for the child
as well.
(expand_omp_for_generic): Properly add loops.
(expand_omp_for_static_nochunk): Likewise.
(expand_omp_for_static_chunk): Likewise.
(expand_omp_for): For the degenerate case fixup loops.
(expand_omp_sections): Fix default bb placement in loops.
(expand_omp_atomic_pipeline): Properly add loops.

* gfortran.dg/gomp/pr57089.f90: New testcase.

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

11 years ago2013-04-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
ktkachov [Mon, 29 Apr 2013 11:27:30 +0000 (11:27 +0000)]
2013-04-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* predict.c: Fix typo in comment above #define PROB_VERY_UNLIKELY.

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

11 years agoUpdate tail-merge header comment.
vries [Mon, 29 Apr 2013 11:14:26 +0000 (11:14 +0000)]
Update tail-merge header comment.

2013-04-29  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c: Update header comment.

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

11 years ago[AArch64][Testsuite] Enable vect_uintfloat_cvt for AArch64.
jgreenhalgh [Mon, 29 Apr 2013 11:11:11 +0000 (11:11 +0000)]
[AArch64][Testsuite] Enable vect_uintfloat_cvt for AArch64.

gcc/testsuite/
* lib/target-supports.exp (vect_uintfloat_cvt): Enable for AArch64.

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

11 years ago[AArch64] fcvt instructions - arm_neon.h changes.
jgreenhalgh [Mon, 29 Apr 2013 11:08:30 +0000 (11:08 +0000)]
[AArch64] fcvt instructions - arm_neon.h changes.

gcc/
* config/aarch64/arm_neon.h
(vcvt<sd>_f<32,64>_s<32,64>): Rewrite in C.
(vcvt<q>_f<32,64>_s<32,64>): Rewrite using builtins.
(vcvt_<high_>_f<32,64>_f<32,64>): Likewise.
(vcvt<qsd>_<su><32,64>_f<32,64>): Likewise.
(vcvta<qsd>_<su><32,64>_f<32,64>): Likewise.
(vcvtm<qsd>_<su><32,64>_f<32,64>): Likewise.
(vcvtn<qsd>_<su><32,64>_f<32,64>): Likewise.
(vcvtp<qsd>_<su><32,64>_f<32,64>): Likewise.

gcc/testsuite/
* gcc.target/aarch64/vect-vcvt.c: New.

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

11 years ago[AArch64] Add vector fix, fixuns, fix_trunc, fixuns_trunc standard patterns
jgreenhalgh [Mon, 29 Apr 2013 11:04:56 +0000 (11:04 +0000)]
[AArch64] Add vector fix, fixuns, fix_trunc, fixuns_trunc standard patterns

gcc/
* config/aarch64/aarch64-simd.md
(<optab><VDQF:mode><fcvt_target>2): New, maps to fix, fixuns.
(<fix_trunc_optab><VDQF:mode><fcvt_target>2): New, maps to
fix_trunc, fixuns_trunc.
(ftrunc<VDQF:mode>2): New.
* config/aarch64/iterators.md (optab): Add fix, fixuns.
(fix_trunc_optab): New.

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

11 years ago[AArch64] Vectorize over more math.h functions.
jgreenhalgh [Mon, 29 Apr 2013 11:02:15 +0000 (11:02 +0000)]
[AArch64] Vectorize over more math.h functions.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Vectorize over ifloorf,
iceilf, lround, iroundf.

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

11 years ago PR target/54349
uros [Mon, 29 Apr 2013 11:00:10 +0000 (11:00 +0000)]
PR target/54349
* config/i386/i386.h (enum ix86_tune_indices)
<X86_TUNE_INTER_UNIT_MOVES_TO_VEC, X86_TUNE_INTER_UNIT_MOVES_FROM_VEC>:
New, split from X86_TUNE_INTER_UNIT_MOVES.
<X86_TUNE_INTER_UNIT_MOVES>: Remove.
(TARGET_INTER_UNIT_MOVES_TO_VEC): New define.
(TARGET_INTER_UNIT_MOVES_FROM_VEC): Ditto.
(TARGET_INTER_UNIT_MOVES): Remove.
* config/i386/i386.c (initial_ix86_tune_features): Update.
Disable X86_TUNE_INTER_UNIT_MOVES_FROM_VEC for m_ATHLON_K8 only.
(ix86_expand_convert_uns_didf_sse): Use
TARGET_INTER_UNIT_MOVES_TO_VEC instead of TARGET_INTER_UNIT_MOVES.
(ix86_expand_vector_init_one_nonzero): Ditto.
(ix86_expand_vector_init_interleave): Ditto.
(inline_secondary_memory_needed): Return true for moves from SSE class
registers for !TARGET_INTER_UNIT_MOVES_FROM_VEC targets and for moves
to SSE class registers for !TARGET_INTER_UNIT_MOVES_TO_VEC targets.
* config/i386/constraints.md (Yi, Ym): Depend on
TARGET_INTER_UNIT_MOVES_TO_VEC.
(Yj, Yn): New constraints.
* config/i386/i386.md (*movdi_internal): Change constraints of
operand 1 from Yi to Yj and from Ym to Yn.
(*movsi_internal): Ditto.
(*movdf_internal): Ditto.
(*movsf_internal): Ditto.
(*float<SWI48x:mode><X87MODEF:mode>2_1): Use
TARGET_INTER_UNIT_MOVES_TO_VEC instead of TARGET_INTER_UNIT_MOVES.
(*float<SWI48x:mode><X87MODEF:mode>2_1 splitters): Ditto.
(floatdi<X87MODEF:mode>2_i387_with_xmm): Ditto.
(floatdi<X87MODEF:mode>2_i387_with_xmm splitters): Ditto.
* config/i386/sse.md (movdi_to_sse): Ditto.
(sse2_stored): Change constraint of operand 1 from Yi to Yj.
Use TARGET_INTER_UNIT_MOVES_FROM_VEC instead of
TARGET_INTER_UNIT_MOVES.
(sse_storeq_rex64): Change constraint of operand 1 from Yi to Yj.
(sse_storeq_rex64 splitter): Use TARGET_INTER_UNIT_MOVES_FROM_VEC
instead of TARGET_INTER_UNIT_MOVES.
* config/i386/mmx.md (*mov<mode>_internal): Change constraint of
operand 1 from Yi to Yj and from Ym to Yn.

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

11 years ago[AArch64] Implement vector float->double widening and double->float narrowing.
jgreenhalgh [Mon, 29 Apr 2013 10:57:59 +0000 (10:57 +0000)]
[AArch64] Implement vector float->double widening and double->float  narrowing.

gcc/
* config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi_): New.
(float_truncate_hi_): Likewise.
(float_extend_lo_): Likewise.
(float_truncate_lo_): Likewise.
* config/aarch64/aarch64-simd.md (vec_unpacks_lo_v4sf): New.
(aarch64_float_extend_lo_v2df): Likewise.
(vec_unpacks_hi_v4sf): Likewise.
(aarch64_float_truncate_lo_v2sf): Likewise.
(aarch64_float_truncate_hi_v4sf): Likewise.
(vec_pack_trunc_v2df): Likewise.
(vec_pack_trunc_df): Likewise.

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

11 years ago[AArch64] Add vector int to float conversions.
jgreenhalgh [Mon, 29 Apr 2013 10:54:32 +0000 (10:54 +0000)]
[AArch64] Add vector int to float conversions.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_fold_builtin): Fold float conversions.
* config/aarch64/aarch64-simd-builtins.def
(floatv2si, floatv4si, floatv2di): New.
(floatunsv2si, floatunsv4si, floatunsv2di): Likewise.
* config/aarch64/aarch64-simd.md
(<optab><fcvt_target><VDQF:mode>2): New, expands to float and floatuns.
* config/aarch64/iterators.md (FLOATUORS): New.
(optab): Add float, floatuns.
(su_optab): Likewise.

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

11 years ago[AArch64] Map fcvt intrinsics to builtin name directly.
jgreenhalgh [Mon, 29 Apr 2013 10:51:46 +0000 (10:51 +0000)]
[AArch64] Map fcvt intrinsics to builtin name directly.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Use new names for
fcvt builtins.
* config/aarch64/aarch64-simd-builtins.def (fcvtzs): Split as...
(lbtruncv2sf, lbtruncv4sf, lbtruncv2df): ...This.
(fcvtzu): Split as...
(lbtruncuv2sf, lbtruncuv4sf, lbtruncuv2df): ...This.
(fcvtas): Split as...
(lroundv2sf, lroundv4sf, lroundv2df, lroundsf, lrounddf): ...This.
(fcvtau): Split as...
(lrounduv2sf, lrounduv4sf, lrounduv2df, lroundusf, lroundudf): ...This.
(fcvtps): Split as...
(lceilv2sf, lceilv4sf, lceilv2df): ...This.
(fcvtpu): Split as...
(lceiluv2sf, lceiluv4sf, lceiluv2df, lceilusf, lceiludf): ...This.
(fcvtms): Split as...
(lfloorv2sf, lfloorv4sf, lfloorv2df): ...This.
(fcvtmu): Split as...
(lflooruv2sf, lflooruv4sf, lflooruv2df, lfloorusf, lfloorudf): ...This.
(lfrintnv2sf, lfrintnv4sf, lfrintnv2df, lfrintnsf, lfrintndf): New.
(lfrintnuv2sf, lfrintnuv4sf, lfrintnuv2df): Likewise.
(lfrintnusf, lfrintnudf): Likewise.
* config/aarch64/aarch64-simd.md
(l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Convert to
define_insn.
(aarch64_fcvt<frint_suffix><su><mode>): Remove.
* config/aarch64/iterators.md (FCVT): Include UNSPEC_FRINTN.
(fcvt_pattern): Likewise.

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

11 years ago[AArch64] Fix order of modes to lroundmn2 standard names.
jgreenhalgh [Mon, 29 Apr 2013 10:48:54 +0000 (10:48 +0000)]
[AArch64] Fix order of modes to lroundmn2 standard names.

gcc/
* config/aarch64/aarch64-simd.md
(l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Rename to...
(l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): ... This.

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

11 years ago[AArch64] Convert NEON frint implementations to use builtins.
jgreenhalgh [Mon, 29 Apr 2013 10:23:15 +0000 (10:23 +0000)]
[AArch64] Convert NEON frint implementations to use builtins.

gcc/
* config/aarch64/arm_neon.h (vrndq<a,m,n,p>_f<32, 64>): Rename to...
(vrnd<a,m,n,p>q_f<32, 64>): ...This, implement using builtin.
(vrnd<a,m,n,p>_f32): Implement using builtins.
(vrnd<i,x><q>_f<32, 64>): New.

gcc/testsuite/
* gcc.target/aarch64/vect-vrnd.c: New.

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

11 years ago[AArch64] Map frint intrinsics to standard pattern names directly.
jgreenhalgh [Mon, 29 Apr 2013 10:17:51 +0000 (10:17 +0000)]
[AArch64] Map frint intrinsics to standard pattern names directly.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Fold to standard pattern names.
* config/aarch64/aarch64-simd-builtins.def (frintn): New.
(frintz): Rename to...
(btrunc): ...this.
(frintp): Rename to...
(ceil): ...this.
(frintm): Rename to...
(floor): ...this.
(frinti): Rename to...
(nearbyint): ...this.
(frintx): Rename to...
(rint): ...this.
(frinta): Rename to...
(round): ...this.
* config/aarch64/aarch64-simd.md
(aarch64_frint<frint_suffix><mode>): Delete.
(<frint_pattern><mode>2): Convert to insn.
* config/aarch64/aarch64.md (unspec): Add UNSPEC_FRINTN.
* config/aarch64/iterators.md (FRINT): Add UNSPEC_FRINTN.
(frint_pattern): Likewise.
(frint_suffix): Likewise.

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

11 years ago2013-04-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Apr 2013 09:09:08 +0000 (09:09 +0000)]
2013-04-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57081
* loop-init.c: Include tree-flow.h.
(loop_optimizer_finalize): Free number of iteration estimates.
* Makefile.in (loop-init.o): Add $(TREE_FLOW_H) dependency.

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

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

11 years agoSimplify SYSTEM_CLOCK implementation.
jb [Mon, 29 Apr 2013 08:43:18 +0000 (08:43 +0000)]
Simplify SYSTEM_CLOCK implementation.

2013-04-29  Janne Blomqvist  <jb@gcc.gnu.org>

        * intrinsics/system_clock (gf_gettime_mono): Use variable
        resolution for fractional seconds argument.
        (system_clock_4): Simplify, update for gf_gettime_mono change.
        (system_clock_8): Likewise.

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

11 years agoPR 56981 Improve unbuffered performance on special files.
jb [Mon, 29 Apr 2013 08:42:00 +0000 (08:42 +0000)]
PR 56981 Improve unbuffered performance on special files.

2013-04-29  Janne Blomqvist  <jb@gcc.gnu.org>

        PR fortran/56981
        * io/transfer.c (next_record_w_unf): First fix head marker, then
        write tail.
        (next_record): Call flush_if_unbuffered.
        * io/unix.c (struct unix_stream): Add field unbuffered.
        (flush_if_unbuffered): New function.
        (fd_to_stream): New argument.
        (open_external): Fix fd_to_stream call.
        (input_stream): Likewise.
        (output_stream): Likewise.
        (error_stream): Likewise.
        * io/unix.h (flush_if_unbuffered): New prototype.

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

11 years ago PR tree-optimization/57083
jakub [Mon, 29 Apr 2013 07:55:09 +0000 (07:55 +0000)]
PR tree-optimization/57083
* tree-vrp.c (extract_range_from_binary_expr_1): For LSHIFT_EXPR with
non-singleton shift count range, zero extend low_bound for uns case.

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

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

11 years ago * config/i386/predicates.md (general_vector_operand): New predicate.
jakub [Mon, 29 Apr 2013 07:43:20 +0000 (07:43 +0000)]
* config/i386/predicates.md (general_vector_operand): New predicate.
* config/i386/i386.c (const_vector_equal_evenodd_p): New function.
(ix86_expand_mul_widen_evenodd): Force op1 resp. op2 into register
if they aren't nonimmediate operands.  If their original values
satisfy const_vector_equal_evenodd_p, don't shift them.
* config/i386/sse.md (mul<mode>3): Use general_vector_operand
predicates.  For the SSE4.1 case force operands[{1,2}] into registers
if not nonimmediate_operand.
(vec_widen_smult_even_v4si): Use nonimmediate_operand predicates
instead of register_operand.
(vec_widen_<s>mult_odd_<mode>): Use general_vector_operand predicates.

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

11 years agoDaily bump.
gccadmin [Mon, 29 Apr 2013 00:16:40 +0000 (00:16 +0000)]
Daily bump.

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

11 years ago/cp
paolo [Sun, 28 Apr 2013 22:56:44 +0000 (22:56 +0000)]
/cp
2013-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56450
* semantics.c (finish_decltype_type): Handle COMPOUND_EXPR.

/testsuite
2013-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56450
* g++.dg/cpp0x/decltype52.C: New.

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

11 years ago N3472 binary constants
jakub [Sun, 28 Apr 2013 21:36:57 +0000 (21:36 +0000)]
N3472 binary constants
* include/cpplib.h (struct cpp_options): Fix a typo in user_literals
field comment.  Add binary_constants field.
* init.c (struct lang_flags): Add binary_constants field.
(lang_defaults): Add bin_cst column to the table.
(cpp_set_lang): Initialize CPP_OPTION (pfile, binary_constants).
* expr.c (cpp_classify_number): Talk about C++11 instead of C++0x
in diagnostics.  Accept binary constants if
CPP_OPTION (pfile, binary_constants) even when pedantic.  Adjust
pedwarn message.

* g++.dg/cpp/limits.C: Adjust warning wording.
* g++.dg/system-binary-constants-1.C: Likewise.
* g++.dg/cpp1y/system-binary-constants-1.C: New test.

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

11 years ago2013-04-28 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 28 Apr 2013 19:54:44 +0000 (19:54 +0000)]
2013-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57093
        * trans-types.c (gfc_get_element_type): Fix handling
        of scalar coarrays of type character.
        * intrinsic.texi (PACK): Add missing ")".

2013-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57093
        * gfortran.dg/coarray_30.f90: New.

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

11 years agoFix sign error in SYSTEM_CLOCK kind=4 Windows version.
jb [Sun, 28 Apr 2013 18:16:25 +0000 (18:16 +0000)]
Fix sign error in SYSTEM_CLOCK kind=4 Windows version.

2013-04-28  Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/system_clock.c (system_clock_4): Fix sign error in
Windows version.

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

11 years ago * stor-layout.c (finalize_size_functions): Allocate a structure and
ebotcazou [Sun, 28 Apr 2013 17:29:01 +0000 (17:29 +0000)]
* stor-layout.c (finalize_size_functions): Allocate a structure and
reset cfun before dumping the functions.

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

11 years ago * sv.po: Update.
jsm28 [Sun, 28 Apr 2013 14:43:12 +0000 (14:43 +0000)]
* sv.po: Update.

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

11 years ago2013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 28 Apr 2013 13:32:59 +0000 (13:32 +0000)]
2013-04-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/57071
* frontend-passes (optimize_power):  New function.
(optimize_op):  Use it.

2013-04-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/57071
* gfortran.dg/power_3.f90:  New test.
* gfortran.dg/power_4.f90:  New test.

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

11 years ago * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
redi [Sun, 28 Apr 2013 11:51:59 +0000 (11:51 +0000)]
* include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
comment.
* include/std/mutex (__recursive_mutex_base): Likewise.

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

11 years ago PR libstdc++/51365
redi [Sun, 28 Apr 2013 11:38:21 +0000 (11:38 +0000)]
PR libstdc++/51365
* include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
implement EBO safely.
(_Sp_counted_base::_M_get_deleter): Add noexcept.
(_Sp_counter_ptr): Use noexcept instead of comments.
(_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
(_Sp_counted_ptr_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/51365.cc: New.
* testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
custom allocator and test construction with custom allocator.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
line number.

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

11 years agoDaily bump.
gccadmin [Sun, 28 Apr 2013 00:16:43 +0000 (00:16 +0000)]
Daily bump.

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

11 years ago * config/i386/i386.c (ix86_expand_call): Make cregs_size unsigned.
jakub [Sat, 27 Apr 2013 12:29:42 +0000 (12:29 +0000)]
* config/i386/i386.c (ix86_expand_call): Make cregs_size unsigned.

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

11 years ago PR target/56866
jakub [Sat, 27 Apr 2013 12:26:05 +0000 (12:26 +0000)]
PR target/56866
* config/i386/i386.c (ix86_expand_mul_widen_evenodd): Don't
use xop_pmacsdqh if uns_p.
* config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
the immediate rotate count.

* gcc.c-torture/execute/pr56866.c: New test.
* gcc.target/i386/pr56866.c: New test.

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

11 years agoDaily bump.
gccadmin [Sat, 27 Apr 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.

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

11 years ago2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 26 Apr 2013 21:20:00 +0000 (21:20 +0000)]
2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
dialect to -std=gnu++11.

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

11 years ago2013-04-26 François Dumont <fdumont@gcc.gnu.org>
fdumont [Fri, 26 Apr 2013 20:13:41 +0000 (20:13 +0000)]
2013-04-26  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable_policy.h
(_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
* testsuite/23_containers/unordered_set/insert/move_range.cc: New.

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

11 years ago2013-04-26 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 26 Apr 2013 18:11:35 +0000 (18:11 +0000)]
2013-04-26  Vladimir Makarov  <vmakarov@redhat.com>

* rtl.h (struct rtx_def): Add comment for field jump.
(LRA_SUBREG_P): New macro.
* recog.c (register_operand): Check LRA_SUBREG_P.
* lra.c (lra): Add note at the end of RTL code. Align non-empty
stack frame.
* lra-spills.c (lra_spill): Align stack after spilling pseudos.
(lra_final_code_change): Skip subreg change for operators.
* lra-eliminations.c (eliminate_regs_in_insn): Make return earlier
if there are no operand changes.
* lra-constraints.c (curr_insn_set): New.
(match_reload): Set LRA_SUBREG_P.
(emit_spill_move): Ditto.
(check_and_process_move): Use curr_insn_set. Process only single
set insns.  Don't initialize sec_mem_p and change_p.
(simplify_operand_subreg): Use LRA_SUBREG_P.
(reg_in_class_p): New function.
(process_alt_operands): Use it.  Use #if HAVE_ATTR_enabled instead
of #ifdef.  Add code to remove cycling.
(process_address): Check EXTRA_CONSTRAINT_STR. Process even if
non-null disp.  Reload inner instead of disp when base and index
are null.  Try to put lo_sum into register.
(EBB_PROBABILITY_CUTOFF): Redefine probability in percents.
(check_and_process_move): Move code for move cost check to
simple_move_p.  Remove equiv_substitution.
(simple_move_p): New function.
(curr_insn_transform): Initialize sec_mem_p and change_p.  Set up
curr_insn_set.  Call check_and_process_move only for single set
insns.  Use the new function.  Move call of check_and_process_move
after operand equiv substitution and address process.

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

11 years ago PR go/57045
jakub [Fri, 26 Apr 2013 13:14:55 +0000 (13:14 +0000)]
PR go/57045
* tree-ssa-uninit.c (compute_uninit_opnds_pos): In functions
with nonlocal goto receivers or returns twice calls, ignore
unininitialized values from abnormal edges to nl goto receiver
or returns twice call.

* gcc.dg/setjmp-5.c: New test.

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

11 years ago PR tree-optimization/57051
jakub [Fri, 26 Apr 2013 13:13:36 +0000 (13:13 +0000)]
PR tree-optimization/57051
* fold-const.c (const_binop): Handle VEC_LSHIFT_EXPR
and VEC_RSHIFT_EXPR if shift count is a multiple of element
bitsize.

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

11 years ago2013-04-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Apr 2013 12:56:36 +0000 (12:56 +0000)]
2013-04-26  Richard Biener  <rguenther@suse.de>

* omp-low.c (finalize_task_copyfn): Do not drop PROP_loops.
(expand_omp_taskreg): Likewise.  Mark loops for fixup.
* tree-cfg.c (move_block_to_fn): Remap loop fathers.
(fixup_loop_arrays_after_move): New function.
(move_sese_region_to_fn): Properly outline the loop tree parts
of the SESE region.

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

11 years ago2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 26 Apr 2013 12:11:14 +0000 (12:11 +0000)]
2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55708
* g++.dg/cpp0x/constexpr-55708.C: New.

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

11 years ago * config/i386/i386.md (type, unit): Fix long lines.
uros [Fri, 26 Apr 2013 12:00:29 +0000 (12:00 +0000)]
* config/i386/i386.md (type, unit): Fix long lines.

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

11 years ago2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 26 Apr 2013 11:32:49 +0000 (11:32 +0000)]
2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cstdio (gets): Provide only in C++98 and C++11.
* include/c_std/cstdio (gets): Likewise.
* testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.

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

11 years ago2013-04-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Apr 2013 11:13:14 +0000 (11:13 +0000)]
2013-04-26  Richard Biener  <rguenther@suse.de>

* Makefile.in (lto-streamer-in.o): Add $(CFGLOOP_H) dependency.
(lto-streamer-out.o): Likewise.
* cfgloop.c (init_loops_structure): Export, add struct function
argument and adjust.
(flow_loops_find): Adjust.
* cfgloop.h (enum loop_estimation): Add EST_LAST.
(init_loops_structure): Declare.
* lto-streamer-in.c: Include cfgloop.h.
(input_cfg): Input the loop tree.
* lto-streamer-out.c: Include cfgloop.h.
(output_cfg): Output the loop tree.
(output_struct_function_base): Do not drop PROP_loops.

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

11 years ago2013-03-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Apr 2013 08:01:19 +0000 (08:01 +0000)]
2013-03-26  Richard Biener  <rguenther@suse.de>

* tree-cfg.c (execute_build_cfg): Build the loop tree.
(pass_build_cfg): Provide PROP_loops.
(move_sese_region_to_fn): Remove loops that are outlined into fn
for now.
* tree-inline.c: Include cfgloop.h.
(initialize_cfun): Do not drop PROP_loops.
(copy_loops): New function.
(copy_cfg_body): Copy loop structure.
(tree_function_versioning): Initialize destination loop tree.
* tree-ssa-loop.c (pass_tree_loop_init): Do not provide PROP_loops.
(pass_parallelize_loops): Do IL verification.
* loop-init.c (loop_optimizer_init): Fixup loops if required.
* tree-optimize.c (execute_fixup_cfg): If we need to cleanup
the CFG make sure we fixup loops as well.
* tree-ssa-tail-merge.c: Include cfgloop.h.
(replace_block_by): When merging loop latches mark loops for fixup.
* lto-streamer-out.c (output_struct_function_base): Drop
PROP_loops for now.
* tree-ssa-phiopt.c: Include tree-scalar-evolution.h.
(tree_ssa_cs_elim): Initialize the loop optimizer and SCEV.
* ipa-split.c: Include cfgloop.h.
(split_function): Add the new return block to the loop tree root.
* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Return
whether we have removed the forwarder block.
(merge_phi_nodes): If we removed a forwarder mark loops for fixup.
* cfgloop.h (place_new_loop): Declare.
* cfgloopmanip.c (place_new_loop): Export.
* Makefile.in (asan.o): Add $(CFGLOOP_H) dependency.
(tree-switch-conversion.o): Likewise.
(tree-complex.o): Likewise.
(tree-inline.o): Likewise.
(tree-ssa-tailmerge.o): Likewise.
(ipa-split.o): Likewise.
(tree-ssa-phiopt.o): Add $(SCEV_H) dependency.
(tree-ssa-copy.o): Likewise.
* tree-switch-conversion.c: Include cfgloop.h
(process_switch): If we emit a bit-test cascade, schedule loops
for fixup.
* tree-complex.c: Include cfgloop.h.
(expand_complex_div_wide): Properly add new basic-blocks to loops.
* asan.c: Include cfgloop.h.
(create_cond_insert_point): Properly add new basic-blocks to
loops, schedule loop fixup.
* cfgloop.c (verify_loop_structure): Check that looks are not
marked for fixup.
* omp-low.c (expand_parallel_call): Properly add new basic-blocks
to loops.
(expand_omp_for_generic): Likewise.
(expand_omp_sections): Likewise.
(expand_omp_atomic_pipeline): Schedule loops for fixup.
* tree-ssa-copy.c: Include tree-scalar-evolution.h.
(fini_copy_prop): Disable DCE in substitute_and_fold if SCEV
is initialized, not when loops are present.
* tree-parloops.c (parallelize_loops): Remove checking here.
* passes.c (init_optimization_passes): Schedule a copy-propagation
pass before complete unrolling of inner loops.

* gcc.dg/tree-prof/update-loopch.c: Revert last change.
* gcc.dg/graphite/pr33766.c: Fix undefined behavior.
* gcc.dg/pr53265.c: Remove XFAILs.
* gcc.dg/tree-ssa/loop-38.c: Remove unreliable dump scanning.
* gcc.dg/tree-ssa/pr21559.c: Change back to two expected jump threads.

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

11 years ago * Makefile.in (toplev.o): Depend on diagnostic-color.h.
jakub [Fri, 26 Apr 2013 06:55:56 +0000 (06:55 +0000)]
* Makefile.in (toplev.o): Depend on diagnostic-color.h.
* diagnostic-color.c (should_colorize): Remove _WIN32 version.
(colorize_init): Add argument to _WIN32 version.
* toplev.c: Include diagnostic-color.h.
(process_options): Default to -fdiagnostics-color=auto if
GCC_COLORS env var is in the environment.
* common.opt (fdiagnostics-color=): Add Var and Init.
* doc/invoke.texi (-fdiagnostics-color=): Document that if
GCC_COLORS env var is in the environment, the default is auto
rather than never.

* lib/prune.exp: Add -fdiagnostics-color=never to TEST_ALWAYS_FLAGS.
* lib/c-compat.exp (compat-use-alt-compiler, compat_setup_dfp): Handle
-fdiagnostics-color=never option similarly to
-fno-diagnostics-show-caret option.

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

11 years ago * diagnostic.h (file_name_as_prefix): Add context argument.
jakub [Fri, 26 Apr 2013 06:54:54 +0000 (06:54 +0000)]
* diagnostic.h (file_name_as_prefix): Add context argument.
* diagnostic.c (file_name_as_prefix): Likewise.  Colorize
the string as locus.
* langhooks.c (lhd_print_error_function): Adjust caller.
cp/
* error.c (cp_print_error_function): Adjust file_name_as_prefix
caller.

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

11 years agoThis patch is part of a consolodation of the hash_table patches to
crowl [Fri, 26 Apr 2013 00:30:32 +0000 (00:30 +0000)]
This patch is part of a consolodation of the hash_table patches to
the cxx-conversion branch for files not under gcc/config.

Update various hash tables from htab_t to hash_table.
Modify types and calls to match.

* var-tracking.c'emit_note_data_def.vars
* var-tracking.c'shared_hash_def.htab
* var-tracking.c'changed_variables

Fold variable_htab_hash, variable_htab_eq, variable_htab_free
  into new struct variable_hasher.
Add typedef variable_table_type.
Add typedef variable_iterator_type.

Tested on x86_64.

Index: gcc/ChangeLog

* var-tracking.c (shared_hash_def::htab):
Change type to hash_table.  Update dependent calls and types.

2013-04-25  Lawrence Crowl  <crowl@google.com>

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