Paolo Carlini
aa940ab5d5
type_traits (is_null_pointer): Add.
...
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.
From-SVN: r198516
2013-05-02 11:00:26 +00:00
Paolo Carlini
ff84dbcb4e
cstdio: Add comment about LWG 2249.
...
2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cstdio: Add comment about LWG 2249.
* include/c_std/cstdio: Likewise.
From-SVN: r198512
2013-05-02 09:48:07 +00:00
Jakub Jelinek
203550bff1
re PR rtl-optimization/57131 (Wrong register assignment?)
...
PR rtl-optimization/57131
* gcc.c-torture/execute/pr57131.c: New test.
From-SVN: r198511
2013-05-02 08:00:46 +02:00
GCC Administrator
6129486250
Daily bump.
...
From-SVN: r198510
2013-05-02 00:16:22 +00:00
Paolo Carlini
1a989b6179
re PR c++/57132 (spurious warning: division by zero [-Wdiv-by-zero] in if (m) res %=m;)
...
/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.
From-SVN: r198504
2013-05-01 19:19:44 +00:00
Vladimir Makarov
36ff9dfbbe
re PR target/57091 (ICE: in assign_by_spills, at lra-assigns.c:1268 with -mcmodel=large and indirect call)
...
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.
From-SVN: r198503
2013-05-01 18:54:17 +00:00
James Greenhalgh
36054fabf5
[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.
From-SVN: r198500
2013-05-01 15:37:52 +00:00
James Greenhalgh
6dce23a8ae
[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.
From-SVN: r198499
2013-05-01 15:33:34 +00:00
James Greenhalgh
1598945b00
[AArch64] Fold max and min reduction builtins to tree.
...
gcc/
* config/aarch64/aarch64-builtins
(aarch64_gimple_fold_builtin): Fold reduc_<su><maxmin>_ builtins.
From-SVN: r198498
2013-05-01 15:18:18 +00:00
James Greenhalgh
998eaf975b
[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.
From-SVN: r198497
2013-05-01 15:16:14 +00:00
James Greenhalgh
92d9038e4f
[AArch64] Add testcases for FAC, FCM changes.
...
gcc/testsuite/
* gcc.target/aarch64/scalar-vca.c: New.
* gcc.target/aarch64/vect-vca.c: Likewise.
From-SVN: r198496
2013-05-01 10:52:13 +00:00
James Greenhalgh
bd11644e62
[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.
From-SVN: r198495
2013-05-01 10:49:31 +00:00
James Greenhalgh
75dd5aceb2
[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.
From-SVN: r198494
2013-05-01 10:46:00 +00:00
James Greenhalgh
ad755ff16d
[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.
From-SVN: r198493
2013-05-01 10:43:02 +00:00
James Greenhalgh
7c19979f0f
[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.
From-SVN: r198492
2013-05-01 10:40:23 +00:00
James Greenhalgh
bb60efd9bf
[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.
From-SVN: r198491
2013-05-01 10:37:28 +00:00
James Greenhalgh
889b941239
[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.
From-SVN: r198490
2013-05-01 10:33:57 +00:00
Greta Yorsh
0a7dbb7661
thumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert define_insn to define_insn_and_split.
...
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.
From-SVN: r198489
2013-05-01 11:25:28 +01:00
Paolo Carlini
57c16a5eb6
re PR c++/57092 (Using decltype of function pointer type to define a data member causes compiler crash)
...
/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.
From-SVN: r198487
2013-05-01 09:21:30 +00:00
Thomas Koenig
e1e14947cf
frontend-passes.c (optimize_power): Fix typo in comment.
...
2013-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes.c (optimize_power): Fix typo
in comment.
From-SVN: r198486
2013-05-01 08:28:57 +00:00
GCC Administrator
dceb165352
Daily bump.
...
From-SVN: r198484
2013-05-01 00:16:23 +00:00
Thomas Koenig
068b04fe4c
re PR fortran/57071 (Optimize (-1)**k to 1 - 2 * mod(K, 2))
...
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.
From-SVN: r198476
2013-04-30 21:45:13 +00:00
Brooks Moses
dc4ea06f6a
MAINTAINERS: Update my email; move myself from Fortran reviewer to Write After Approval.
...
* MAINTAINERS: Update my email; move myself from Fortran
reviewer to Write After Approval.
From-SVN: r198469
2013-04-30 11:31:46 -07:00
Greta Yorsh
fb614ca68b
thumb2.md (thumb2_incscc, [...]): Delete.
...
2013-04-30 Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/thumb2.md (thumb2_incscc, thumb2_decscc): Delete.
From-SVN: r198465
2013-04-30 18:08:25 +01:00
Greta Yorsh
9e64a0bf20
Committed as obvious.
...
2013-04-30 Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/thumb2.md: Remove trailing whitespaces.
From-SVN: r198464
2013-04-30 17:50:12 +01:00
Richard Sandiford
d6b2815614
explow.c (plus_constant): Pass "mode" to immed_double_int_const.
...
gcc/
* explow.c (plus_constant): Pass "mode" to immed_double_int_const.
Use gen_int_mode rather than GEN_INT.
From-SVN: r198462
2013-04-30 16:15:55 +00:00
H.J. Lu
b0dec60747
Fix a typo in ChangeLog
...
From-SVN: r198458
2013-04-30 08:53:58 -07:00
H.J. Lu
f91674c330
Remove the trayed debug_gimple_stmt
...
* value-prof.c (stream_in_histogram_value): Remove the trayed
debug_gimple_stmt.
From-SVN: r198457
2013-04-30 08:53:03 -07:00
Richard Biener
3551257c5d
re PR tree-optimization/57122 (ICE in verify_loop_structure, at cfgloop.c:1647 (loop n’s latch does not have an edge to its header !))
...
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.
From-SVN: r198456
2013-04-30 15:03:58 +00:00
Richard Biener
4c1aff1ce4
re PR middle-end/57107 (tree check fail in unlink_stmt_vdef)
...
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.
From-SVN: r198454
2013-04-30 13:54:14 +00:00
Andrey Belevantsev
54b8379a26
re PR rtl-optimization/56957 (ICE in add_insn_after, at emit-rtl.c:3783)
...
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.
From-SVN: r198449
2013-04-30 14:55:52 +04:00
Jakub Jelinek
abc27962b8
re PR sanitizer/57104 (ICE: in expand_expr_addr_expr_1, at expr.c:7594 with -fsanitize=thread and hardreg variable)
...
PR tree-optimization/57104
* tsan.c (instrument_expr): Don't instrument accesses to
DECL_HARD_REGISTER VAR_DECLs.
* gcc.dg/pr57104.c: New test.
From-SVN: r198445
2013-04-30 10:52:39 +02:00
Sofiane Naci
a46d0aff5e
config-list.mk (LIST): Add aarch64-elf and aarch64-linux-gnu.
...
From-SVN: r198443
2013-04-30 08:35:17 +00:00
Richard Biener
0fc822d0f9
function.h (loops_for_fn): New inline function.
...
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.
From-SVN: r198441
2013-04-30 08:14:09 +00:00
Mike Frysinger
37953bd308
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>
From-SVN: r198438
2013-04-30 04:07:23 +00:00
GCC Administrator
5eb8b03c89
Daily bump.
...
From-SVN: r198437
2013-04-30 00:16:40 +00:00
Uros Bizjak
f9ed28db0c
re PR target/44578 (GCC generates MMX instructions but fails to generate "emms")
...
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.
From-SVN: r198433
2013-04-29 22:16:48 +02:00
Vladimir Makarov
deca73f5de
re PR target/57097 (ICE: in find_hard_regno_for, at lra-assigns.c:561 with -O2 -fPIC -m32)
...
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.
From-SVN: r198432
2013-04-29 19:42:20 +00:00
Uros Bizjak
fdca7d03ed
re PR target/57098 (ICE: in extract_insn, at recog.c:2154 (unrecognizable insn) with -mcmodel=large -msse4 and __builtin_shuffle())
...
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.
From-SVN: r198430
2013-04-29 20:20:58 +02:00
Tobias Burnus
69acfe77c1
re PR fortran/57114 (wrong information at http://gcc.gnu.org/onlinedocs/gfortran/RANK.html )
...
2013-04-28 Tobias Burnus <burnus@net-b.de>
PR fortran/57114
* intrinsic.texi (RANK): Correct syntax description and
expected result.
From-SVN: r198429
2013-04-29 20:05:00 +02:00
Kai Tietz
e34b523de2
* gcc.c-torture/execute/pr55875.c
...
From-SVN: r198426
2013-04-29 10:23:50 -06:00
Ian Bolton
0b064172a2
[AArch64] Support LDR/STR from/to S and D registers
...
From-SVN: r198425
2013-04-29 16:13:16 +00:00
Ian Bolton
473cec554a
Enable REE pass by default for AArch64 at O2 or higher
...
From-SVN: r198424
2013-04-29 15:59:19 +00:00
Richard Biener
a6f30e668a
re PR tree-optimization/57075 (verify_flow_info failed: control flow in the middle of basic block)
...
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.
From-SVN: r198423
2013-04-29 15:06:18 +00:00
Richard Biener
0c2b20400c
re PR middle-end/57103 (ICE: verify_gimple failed: location references block not in block tree with -ftree-parallelize-loops=4)
...
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.
From-SVN: r198418
2013-04-29 14:12:54 +00:00
Senthil Kumar Selvaraj
3f12f6e914
c-common.c (check_user_alignment): Emit error for negative values.
...
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.
From-SVN: r198417
2013-04-29 14:28:44 +01:00
Teresa Johnson
f41f80f908
This patch fixes PR bootstrap/57077.
...
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.
From-SVN: r198416
2013-04-29 13:22:46 +00:00
Tom de Vries
315bbd2e3c
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.
From-SVN: r198414
2013-04-29 13:08:24 +00:00
Jeff Law
ebbd90d832
tree-vrp.c (range_fits_type_p): Move to earlier point in file.
...
* 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.
From-SVN: r198413
2013-04-29 06:52:17 -06:00
Kyrylo Tkachov
8b9b57ebca
arm.md (store_minmaxsi): Use only when optimize_insn_for_size_p.
...
2013-04-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (store_minmaxsi): Use only when
optimize_insn_for_size_p.
From-SVN: r198412
2013-04-29 12:39:38 +00:00