Commit Graph

127721 Commits

Author SHA1 Message Date
GCC Administrator
0cb6161665 Daily bump.
From-SVN: r206789
2014-01-20 00:17:00 +00:00
Steven G. Kargl
cd02d79342 re PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)
2014-01-19  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR libfortran/59771
	PR libfortran/59774
	PR libfortran/59836
	* gfortran.dg/round_3.f08: New cases added.
	* gfortran.dg/fmt_g_1.f90: New test.

From-SVN: r206786
2014-01-19 23:21:10 +00:00
Jerry DeLisle
32aeb94ab1 re PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)
2014-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR libfortran/59771
	PR libfortran/59774
	PR libfortran/59836
	* io/write_float.def (output_float): Fix wrong handling of the
	Fw.0 format.
	(output_float_FMT_G_): Fixes rounding issues with -m32.

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

From-SVN: r206785
2014-01-19 23:17:43 +00:00
Jan Hubicka
cdafab3de6 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
From-SVN: r206784
2014-01-19 23:12:24 +00:00
Tim Shen
053eb1f31e regex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecutive quantifiers like "a**".
2014-01-19  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
	Fix parse error of multiple consecutive quantifiers like "a**".
	* include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
	Likewise.
	* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.

From-SVN: r206783
2014-01-19 21:59:20 +00:00
Uros Bizjak
e2a9b2cdf0 pr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets.
* g++.dg/pr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets.

From-SVN: r206782
2014-01-19 20:21:26 +01:00
John David Anglin
925cb97d79 pa.c (pa_attr_length_millicode_call): Correct length of long non-pic millicode calls.
* config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
	long non-pic millicode calls.

From-SVN: r206779
2014-01-19 18:09:53 +00:00
Kito Cheng
7c5425fab7 builtins.c (expand_movstr): Check movstr expand done or fail.
2014-01-19  Kito Cheng  <kito@0xlab.org>

	* gcc/builtins.c (expand_movstr): Check movstr expand done or fail.

From-SVN: r206777
2014-01-19 17:36:00 +00:00
Richard Sandiford
167492b920 pr54240.c: Add -ffat-lto-objects.
gcc/testsuite/
	* gcc.target/mips/pr54240.c: Add -ffat-lto-objects.

From-SVN: r206776
2014-01-19 17:07:11 +00:00
Jan-Benedict Glaw
f43856dba0 Since started...
Since started, the VAX backend doesn't compile with config-list.mk
because one of VAX's macros doesn't use its argument:

g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace    -o loop-invariant.o -MT loop-invariant.o -MMD -MP -MF ./.deps/loop-invariant.TPo ../../../gcc/gcc/loop-invariant.c
../../../gcc/gcc/loop-invariant.c: In function ‘bool check_dependency(basic_block, df_ref, bitmap)’:../../../gcc/gcc/loop-invariant.c:789:20: error: unused variable ‘regno’ [-Werror=unused-variable]       unsigned int regno = DF_REF_REGNO (use);
                    ^
cc1plus: all warnings being treated as errors
make[2]: *** [loop-invariant.o] Error 1


This should fix it:


2014-01-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.

[BR]: http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00882.html

From-SVN: r206775
2014-01-19 15:52:20 +00:00
Uros Bizjak
efc90043e6 re PR target/59379 (gomp_init_num_threads is compiled into an infinite loop with --with-arch=corei7 --with-cpu=slm)
PR target/59379
	* config/i386/i386.md (*lea<mode>): Zero-extend return register
	to DImode for zero-extended addresses.

From-SVN: r206774
2014-01-19 16:48:14 +01:00
Jakub Jelinek
8fce217edc re PR rtl-optimization/57763 (comp-goto-1.c: ICE verify_flow_info failed, error: EDGE_CROSSING missing across section boundary)
PR rtl-optimization/57763
	* bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
	on the new indirect jump_insn and increment LABEL_NUSES (label).

From-SVN: r206773
2014-01-19 16:30:22 +01:00
Richard Sandiford
7d483daae9 pr57705.c: Require vect_int.
gcc/testsuite/
	* gcc.dg/vect/pr57705.c: Require vect_int.
	* gcc.dg/vect/pr58508.c: Fix order of dg-require-effective-target line.
	* gcc.dg/vect/vect-alias-check.c: Likewise.

From-SVN: r206771
2014-01-19 09:57:24 +00:00
GCC Administrator
a79ef602e0 Daily bump.
From-SVN: r206770
2014-01-19 00:16:30 +00:00
Mikael Morin
ddafd21a25 re PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups does not fixup component of __class_bsr_Bsr_matrix)
fortran/
        PR fortran/58007
        * module.c (MOD_VERSION): Bump.
        (fp2, find_pointer2): Remove.
        (mio_component_ref): Don't forcedfully set the containing derived type
        symbol for loading.  Remove unused argument.
        (mio_ref): Update caller
        (mio_symbol): Dump component list earlier.
        (skip_list): New argument nest_level.  Initialize level with the new
        argument.
        (read_module): Add forced pointer components association for derived
        type symbols.

testsuite/
        PR fortran/58007
        * gfortran.dg/unresolved_fixup_1.f90: New test.
        * gfortran.dg/unresolved_fixup_2.f90: New test.

From-SVN: r206759
2014-01-18 20:05:25 +00:00
H.J. Lu
646bdeabac Update x86 --with-arch/--with-cpu= configure handling
PR bootstrap/59580
	PR bootstrap/59583
	* config.gcc (x86_archs): New variable.
	(x86_64_archs): Likewise.
	(x86_cpus): Likewise.
	Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
	--with-arch/--with-cpu= options.
	Support --with-arch=/--with-cpu={nehalem,westmere,
	sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.

From-SVN: r206756
2014-01-18 05:25:40 -08:00
Uros Bizjak
7f3af6d379 i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8 and PROCESSOR_ATHLON to simplify code.
* config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
	and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.

	* config/i386/i386.md (*swap<mode>): Rename from swap<mode>.

From-SVN: r206753
2014-01-18 13:42:10 +01:00
Jakub Jelinek
fa5d6c752e re PR target/58944 (bogus -Wunused-macros warnings when compiling Libreoffice)
PR target/58944
	* config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
	clear cpp_get_options (parse_in)->warn_unused_macros for
	ix86_target_macros_internal with cpp_define.

	* gcc.target/i386/pr58944.c: Drop -march=native from dg-options.
	Remove dg-prune-output lines.

From-SVN: r206750
2014-01-18 11:18:33 +01:00
Richard Sandiford
04da56800d jump.c (delete_related_insns): Keep (use (insn))s.
gcc/
	* jump.c (delete_related_insns): Keep (use (insn))s.
	* reorg.c (redundant_insn): Check for barriers too.

From-SVN: r206749
2014-01-18 10:12:22 +00:00
H.J. Lu
1e99bee598 Fix a comment typo in ix86_split_lea_for_addr
* config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment
	typo.

From-SVN: r206745
2014-01-17 18:49:56 -08:00
John David Anglin
fa7d0c609d pa.c (pa_attr_length_indirect_call): Don't output a short call to $$dyncall when TARGET_LONG_CALLS is true.
* config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
	call to $$dyncall when TARGET_LONG_CALLS is true.

From-SVN: r206742
2014-01-18 00:35:08 +00:00
GCC Administrator
2d1fee3d78 Daily bump.
From-SVN: r206741
2014-01-18 00:17:14 +00:00
Ian Lance Taylor
6fbfce7841 re PR go/59866 (gccgo gc work buffer is misaligned)
PR go/59866
runtime: Force work variable in mgc0 to be aligned on 8-byte boundary.

From-SVN: r206738
2014-01-17 22:43:03 +00:00
Jeff Law
2043135ab2 ree.c (combine_set_extension): Temporarily disable test for changing number of hard registers.
* ree.c (combine_set_extension): Temporarily disable test for
        changing number of hard registers.

From-SVN: r206735
2014-01-17 15:20:24 -07:00
Jan Hubicka
f3e11e0584 re PR middle-end/58125 (ICE: in operator[], at vec.h:827 with -fno-inline-small-functions)
PR middle-end/58125
	* ipa-inline-analysis.c (inline_free_summary):
	Do not free summary of aliases.

From-SVN: r206734
2014-01-17 21:10:42 +00:00
François Dumont
1217ee06a7 set.h (set): Implement C++11 allocator-aware container requirements.
2014-01-17  François Dumont  <fdumont@gcc.gnu.org>

	* include/profile/set.h (set): Implement C++11 allocator-aware
	container requirements.
	* include/profile/map.h (map): Likewise.
	* include/profile/multiset.h (multiset): Likewise.
	* include/profile/multimap.h (multimap): Likewise.
	* include/profile/set.h
	(set::operator=(const set&)): Define as default in C++11 mode.
	(set::operator=(set&&)): Likewise.
	* include/profile/map.h
	(map::operator=(const map&)): Likewise.
	(map::operator=(map&&)): Likewise.
	* include/profile/multiset.h
	(multiset::operator=(const multiset&)): Likewise.
	(multiset::operator=(multiset&&)): Likewise.
	* include/profile/multimap.h
	(multimap::operator=(const multimap&)): Likewise.
	(multimap::operator=(multimap&&)): Likewise.
	* include/profile/set.h (set::operator=(std::initializer_list<>)):
	Rely on the same operator from normal mode.
	* include/profile/map.h (map::operator=(std::initializer_list<>)):
	Likewise.
	* include/profile/multiset.h
	(multiset::operator=(std::initializer_list<>)): Likewise.
	* include/profile/multimap.h
	(multimap::operator=(std::initializer_list<>)): Likewise.
	* include/profile/set.h (set::swap(set&)): Add noexcept
	specification.
	* include/profile/map.h (map::swap(map&)): Likewise.
	* include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
	* include/profile/multimap.h (multimap::swap(multimap&)): Likewise.

From-SVN: r206733
2014-01-17 21:10:15 +00:00
Jakub Jelinek
664ceb1e2c re PR fortran/59706 (ICE with do concurrent and internal subprogram)
PR middle-end/59706
	* gimplify.c (gimplify_expr): Use create_tmp_var
	instead of create_tmp_var_raw.  If cond doesn't have
	integral type, don't add the IFN_ANNOTATE builtin at all.

	* gfortran.dg/pr59706.f90: New test.
	* g++.dg/ext/pr59706.C: New test.

From-SVN: r206732
2014-01-17 21:55:42 +01:00
Paolo Carlini
a95aef3c12 re PR c++/59270 ([c++11] ICE with decltype of a broken class)
/cp
2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59270
	PR c++/58811
	* init.c (build_value_init_noctor): Don't pass error_mark_node to
	build_value_init.

/testsuite
2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59270
	PR c++/58811
	* g++.dg/cpp0x/decltype-incomplete1.C: New.
	* g++.dg/init/pr58811.C: Likewise.

From-SVN: r206731
2014-01-17 20:25:01 +00:00
Martin Jambor
aef836828d re PR ipa/59736 (ice with -O3 in cgraph_edge_brings_value_p)
2014-01-17  Martin Jambor  <mjambor@suse.cz>

	PR ipa/59736
	* ipa-cp.c (prev_edge_clone): New variable.
	(grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
	Also resize prev_edge_clone vector.
	(ipcp_edge_duplication_hook): Also update prev_edge_clone.
	(ipcp_edge_removal_hook): New function.
	(ipcp_driver): Register ipcp_edge_removal_hook.

From-SVN: r206729
2014-01-17 20:05:52 +01:00
Andrew Pinski
3b9c787b57 re PR target/59462 (c-c++-common/cilk-plus/AN/builtin_func_double2.c fails on MIPS)
2014-01-17  Andrew Pinski <apinski@cavium.com>
	    Steve Ellcey  <sellcey@mips.com>

	PR target/59462
	* config/mips/mips.c (mips_print_operand): Check operand mode instead
	of operator mode.

Co-Authored-By: Steve Ellcey <sellcey@mips.com>

From-SVN: r206724
2014-01-17 18:07:18 +00:00
Jeff Law
4ee5c75293 re PR middle-end/57904 (Bogus(?) "invokes undefined behavior" warning with Fortran's finalization wrapper (gfortran.dg/class_48.f90))
PR middle-end/57904
	* passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
	so that pass_ccp runs first.

        PR middle-end/57904
	* gfortran.dg/pr57904.f90: New test.

From-SVN: r206723
2014-01-17 10:50:10 -07:00
H.J. Lu
40cfac7c7e Use TARGET_XXX and !TARGET_XXX in i386.c
* config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
	(ix86_adjust_cost): Use !TARGET_XXX.
	(do_reorder_for_imul): Likewise.
	(swap_top_of_ready_list): Likewise.
	(ix86_sched_reorder): Likewise.

From-SVN: r206720
2014-01-17 09:16:25 -08:00
H.J. Lu
8cdcf75040 Reorder the last ChangeLog entry
From-SVN: r206719
2014-01-17 09:13:40 -08:00
Paolo Carlini
12185846cf re PR c++/59269 (ICE with reference in union)
/cp
2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59269
	* init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
	only when errorcount == 0.

/testsuite
2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59269
	* g++.dg/cpp0x/nsdmi-union4.C: New.

From-SVN: r206718
2014-01-17 15:40:13 +00:00
H.J. Lu
9a7f94d78b Add X86_TUNE_AVOID_LEA_FOR_ADDR
ix86_split_lea_for_addr transforms a single LEA instruction into a
series of MOV and ADD instructions.  For

lea 0x400(%edx, %ecx, 8), %edx

we get

mov %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add $0x400, %edx

For -mtune=intel, we want to turn on X86_TUNE_OPT_AGU, but avoid
ix86_split_lea_for_addr to optimize for both Haswell and Silvermont.
This patch adds X86_TUNE_AVOID_LEA_FOR_ADDR and PROCESSOR_INTEL.
We keep PROCESSOR_INTEL the same as PROCESSOR_SILVERMONT, except that
X86_TUNE_AVOID_LEA_FOR_ADDR isn't turned on for PROCESSOR_INTEL.

	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
	PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
	* config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
	(intel_memset): New.  Duplicate slm_memset.
	(intel_cost): New.  Duplicate slm_cost.
	(m_INTEL): New macro.
	(processor_target_table): Add "intel".
	(ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
	with PROCESSOR_INTEL for "intel".
	(ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
	PROCESSOR_SILVERMONT.
	(ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
	instead of TARGET_OPT_AGU.
	(ix86_issue_rate): Likewise.
	(ix86_adjust_cost): Likewise.
	(ia32_multipass_dfa_lookahead): Likewise.
	(swap_top_of_ready_list): Likewise.
	(ix86_sched_reorder): Likewise.
	* config/i386/i386.h (TARGET_INTEL): New.
	(TARGET_AVOID_LEA_FOR_ADDR): Likewise.
	(processor_type): Add PROCESSOR_INTEL.
	* config/i386/x86-tune.def: Support m_INTEL. Duplicate
	m_SILVERMONT.  Add X86_TUNE_AVOID_LEA_FOR_ADDR.

From-SVN: r206717
2014-01-17 07:23:58 -08:00
Marek Polacek
0ffc468317 re PR c++/59838 (ICE with an enum using an incomplete type)
PR c++/59838
cp/
	* cvt.c (ocp_convert): Don't segfault on non-existing
	ENUM_UNDERLYING_TYPE.
testsuite/
	* g++.dg/diagnostic/pr59838.C: New test.

From-SVN: r206716
2014-01-17 15:23:17 +00:00
Marek Polacek
30078c0a65 re PR c/58346 (ICE with SIGFPE at -O1 and above on x86_64-linux-gnu (affecting trunk, 4.8, 4.7, and 4.6))
PR c/58346
	* gimple-fold.c (fold_array_ctor_reference): Don't fold if element
	size is zero.
testsuite/
	* gcc.dg/pr58346.c: New test.

From-SVN: r206715
2014-01-17 14:51:56 +00:00
Richard Biener
14379e6668 re PR tree-optimization/46590 (long compile time with -O2 and many loops)
2014-01-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/46590
	* opts.c (default_options_table): Add entries for
	OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
	all enabled at -O1 but not for -Og.
	* common.opt (fbranch-count-reg): Remove Init(1).
	(fmove-loop-invariants): Likewise.
	(ftree-pta): Likewise.

From-SVN: r206714
2014-01-17 14:49:18 +00:00
Jakub Jelinek
88e18bd5cc i386.c (ix86_data_alignment): For compatibility with (incorrect) GCC 4.8 and earlier alignment assumptions...
* config/i386/i386.c (ix86_data_alignment): For compatibility with
	(incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
	decls to at least the GCC 4.8 used alignments.

From-SVN: r206713
2014-01-17 15:45:34 +01:00
Jakub Jelinek
cc2b0e50e0 re PR testsuite/58776 (gcc.dg/tree-ssa/gen-vect-32.c scan-tree-dump-times vect "vectorized 1 loops" 1)
PR testsuite/58776
	* gcc.dg/tree-ssa-gen-vect-32.c: Add -fno-vect-cost-model to
	dg-options, use dg-additional-options for i?86/x86_64 to avoid
	option duplication.

From-SVN: r206712
2014-01-17 15:43:37 +01:00
Jakub Jelinek
f7d594d251 re PR fortran/59440 (ICE in force_decl_die, at dwarf2out.c:20111 with -g)
PR fortran/59440
	* tree-nested.c (convert_nonlocal_reference_stmt,
	convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
	of GIMPLE_BIND stmts, adjust associated decls.

	* gfortran.dg/pr59440-1.f90: New test.
	* gfortran.dg/pr59440-2.f90: New test.
	* gfortran.dg/pr59440-3.f90: New test.

From-SVN: r206711
2014-01-17 15:42:58 +01:00
Jakub Jelinek
dfc7b927f3 re PR testsuite/59064 (FAIL: gcc.dg/vect/vect-ivdep-1.c (test for bogus messages, line ))
PR testsuite/59064
	* gcc.dg/vect/vect-ivdep-1.c: Replace two dg-bogus lines separately
	testing for " version" and " alias" with one testing for
	" version\[^\n\r]* alias".
	* gcc.dg/vect/vect-ivdep-2.c: Likewise.
	* gfortran.dg/vect/vect-do-concurrent-1.f90: Likewise.
	* g++.dg/vect/pr33426-ivdep.cc: Likewise.
	* g++.dg/vect/pr33426-ivdep-2.cc: Likewise.
	* g++.dg/vect/pr33426-ivdep-3.cc: Likewise.
	* g++.dg/vect/pr33426-ivdep-4.cc: Adjust comments similarly.

From-SVN: r206710
2014-01-17 15:41:58 +01:00
Richard Biener
32500433ce re PR tree-optimization/46590 (long compile time with -O2 and many loops)
2014-01-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/46590
	* vec.h (vec<>::bseach): New member function implementing
	binary search according to C89 bsearch.
	(vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
	* tree-ssa-loop-im.c (struct mem_ref): Make stored member a
	bitmap pointer again.  Make accesses_in_loop a flat array.
	(mem_ref_obstack): New global.
	(outermost_indep_loop): Adjust for mem_ref->stored changes.
	(mark_ref_stored): Likewise.
	(ref_indep_loop_p_2): Likewise.
	(set_ref_stored_in_loop): New helper function.
	(mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
	(memref_free): Adjust.
	(record_mem_ref_loc): Simplify.
	(gather_mem_refs_stmt): Adjust.
	(sort_locs_in_loop_postorder_cmp): New function.
	(analyze_memory_references): Sort accesses_in_loop after
	loop postorder number.
	(find_ref_loc_in_loop_cmp): New function.
	(for_all_locs_in_loop): Find relevant cluster of locs in
	accesses_in_loop and iterate without recursion.
	(execute_sm): Avoid uninit warning.
	(struct ref_always_accessed): Simplify.
	(ref_always_accessed::operator ()): Likewise.
	(ref_always_accessed_p): Likewise.
	(tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
	loop postorder numbers here.
	(tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
	numbers.

From-SVN: r206709
2014-01-17 14:40:11 +00:00
Jakub Jelinek
24fcf4bc0c re PR c++/57945 (ICE: in varpool_get_node, at cgraph.h:840)
PR c++/57945
	* passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
	on decls for which assemble_alias has been called.

	* c-c++-common/torture/pr57945.c: New test.

From-SVN: r206708
2014-01-17 15:19:55 +01:00
Nick Clifton
d4f283a153 msp430.opt: (mcpu): New option.
* config/msp430/msp430.opt: (mcpu): New option.
	* config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
	(msp430_option_override): Parse target_cpu.  If the MCU name
	matches a generic string, clear target_mcu.
	(msp430_attr): Allow numeric interrupt values up to 63.
	(msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
	* config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
	option.
	* config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
	Add mcpu matches.
	* config/msp430/msp430.md (popm): Use %J rather than %I.
	(addsi3): Use msp430_nonimmediate_operand for operand 2.
	(addhi_cy_i): Use immediate_operand for operand 2.
	* doc/invoke.texi: Document -mcpu option.

From-SVN: r206705
2014-01-17 11:35:46 +00:00
Richard Biener
7be64667c1 re PR rtl-optimization/38518 (Excessive compile time with -O3)
2014-01-17  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/38518
	* df.h (df_analyze_loop): Declare.
	* df-core.c: Include cfgloop.h.
	(df_analyze_1): Split out main part of df_analyze.
	(df_analyze): Adjust.
	(loop_inverted_post_order_compute): New function.
	(loop_post_order_compute): Likewise.
	(df_analyze_loop): New function avoiding whole-function
	postorder computes.
	* loop-invariant.c (find_defs): Use df_analyze_loop.
	(find_invariants): Adjust.
	* loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.

From-SVN: r206702
2014-01-17 10:47:59 +00:00
James Greenhalgh
cc3a9f0d47 Fix ChangeLog entry for revision 206673 as was requested in review comments.
From-SVN: r206700
2014-01-17 07:55:49 +00:00
Zhenqiang Chen
82a197a2bb arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
ChangeLog:
2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>

	* config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
	(thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.

testsuite/ChangeLog:
2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>

	* gcc.target/arm/its.c: New test.

From-SVN: r206698
2014-01-17 05:43:45 +00:00
Ilya Enkovich
c68b3f5291 ipa-ref.c (ipa_remove_stmt_references): Fix references traversal when removing references.
* ipa-ref.c (ipa_remove_stmt_references): Fix references
       traversal when removing references.

From-SVN: r206697
2014-01-17 05:36:19 +00:00
Chris Manghane
b5407ad1ef compiler: Use backend interface for binary expressions.
* go-gcc.cc (Gcc_backend::conditional_expression): Add btype
	parameter.
	(operator_to_tree_code): New static function.
	(Gcc_backend::binary_expression): New function.

From-SVN: r206696
2014-01-17 04:35:40 +00:00