Commit Graph

127701 Commits

Author SHA1 Message Date
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
Jan Hubicka
f910753dbe re PR ipa/59775 (internal compiler error: Segmentation fault)
PR ipa/59775
	* tree.c (get_binfo_at_offset): Look harder for virtual bases.

From-SVN: r206694
2014-01-17 01:04:59 +00:00
GCC Administrator
906641605f Daily bump.
From-SVN: r206693
2014-01-17 00:16:36 +00:00
Tim Shen
ddf41e9db6 regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not use std::map.
2014-01-17  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
	use std::map.
	* include/bits/regex_automaton.h: Do not use std::set.
	* include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
	_BracketMatcher<>::_M_add_collating_element(),
	_BracketMatcher<>::_M_add_equivalence_class(),
	_BracketMatcher<>::_M_make_range()): Likewise.
	* include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
	Likewise.
	* include/bits/regex_executor.h: Do not use std::queue.
	* include/bits/regex_executor.tcc (_Executor<>::_M_main(),
	_Executor<>::_M_dfs()): Likewise.
	* include/std/regex: Remove <map>, <set> and <queue>.

2014-01-17  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
	basic_regex<>::assign()): Change __compile_nfa to accept
	const _CharT* only.
	* include/bits/regex_compiler.h: Change _Compiler's template
	argument from <_FwdIter, _TraitsT> to <_TraitsT>.
	* include/bits/regex_compiler.tcc: Likewise.

2014-01-17  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_compiler.h: Change _ScannerT into char-type
	templated.
	* include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
	_ScannerBase from _Scanner; Change _Scanner's template argument from
	_FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
	instead.
	* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
	_Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
	_Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
	Likewise.
	* include/std/regex: Add <cstring> for using strchr.

2014-01-17  Tim Shen  <timshen91@gmail.com>

	* bits/regex_automaton.tcc: Indentation fix.
	* bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
	_RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
	_BracketMatcher<>): Add bool option template parameters and
	specializations to make matching more efficient and space saving.
	* bits/regex_compiler.tcc: Likewise.

From-SVN: r206690
2014-01-16 23:35:21 +00:00
Bernd Schmidt
9e6f9ad62c 014-01-16 Bernd Schmidt <bernds@codesourcery.com>
PR middle-end/56791
        * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER
        * when
        pushing a reload for an autoinc when we had previously reloaded an
        inner part of the address.

From-SVN: r206688
2014-01-16 13:51:24 -07:00
Jakub Jelinek
d1417442bf tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies field.
* tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
	field.
	(LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
	when not giving up or versioning for alias only because of
	loop->safelen.
	(vect_analyze_data_ref_dependences): Set to true.
	* tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
	is a GIMPLE_PHI.
	(vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
	LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
	to the condition.

From-SVN: r206687
2014-01-16 21:14:45 +01:00
Jason Merrill
cfb1582ce3 re PR c++/59821 (__builtin_LINE and __builtin_FILE for new'd objects is wrong)
PR c++/59821
	* tree.c (bot_manip): Update the location of builtin_LINE and
	builtin_FILE calls.

From-SVN: r206686
2014-01-16 14:55:12 -05:00
Jakub Jelinek
42ed6cde4b re PR middle-end/58344 (ICE with segfault at -O1 and above on x86_64-linux-gnu)
PR middle-end/58344
	* expr.c (expand_expr_real_1): Handle init == NULL_TREE.

	* gcc.c-torture/compile/pr58344.c: New test.

From-SVN: r206685
2014-01-16 20:54:23 +01:00
Jakub Jelinek
a611d7cb08 re PR target/59839 (i686 AVX2 gather intrinsic not compiling with -O0 on mingw w64)
PR target/59839
	* config/i386/i386.c (ix86_expand_builtin): If target doesn't
	satisfy operand 0 predicate for gathers, use a new pseudo as
	subtarget.

	* gcc.target/i386/pr59839.c: New test.

From-SVN: r206682
2014-01-16 20:24:07 +01:00
Jakub Jelinek
2af4ea89e5 re PR debug/54694 (internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2out.c:2387)
PR debug/54694
	* gcc.target/i386/pr9771-1.c (main): Rename to...
	(real_main): ... this.  Add __asm name "main".
	(ASMNAME, ASMNAME2, STRING): Define.

From-SVN: r206679
2014-01-16 20:15:46 +01:00
Jakub Jelinek
e4e6a4af0b re PR tree-optimization/59387 (wrong code (hangs) at -Os on x86_64-linux-gnu)
PR tree-optimization/59387
	* gcc.c-torture/execute/pr59387.c: New test.

From-SVN: r206678
2014-01-16 20:14:49 +01:00
Vladimir Makarov
8f21260c36 re PR middle-end/59609 (LRA generates bad code for libgcc function udivmoddi4 on thumb1 target)
2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/59609
	* lra-constraints.c (process_alt_operands): Add printing debug
	info.  Check absence of input/output reloads for matched operands
	too.

From-SVN: r206677
2014-01-16 19:13:54 +00:00
Vladimir Makarov
1a788c056a re PR rtl-optimization/59835 (gcc.target/i386/sse-2[34].c timeout)
2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59835
	* ira.c (ira_init_register_move_cost): Increase cost for
	impossible modes.

From-SVN: r206676
2014-01-16 19:04:08 +00:00
Alan Lawrence
4cf24d2737 [ARM] Make -mcpu, -march and -mtune case-insensitive
gcc/

	* config/arm/arm.opt: Make -mcpu, -march, -mtune case-insensitive.

From-SVN: r206673
2014-01-16 18:10:34 +00:00
Richard Earnshaw
030d03b8c6 re PR target/59780 (ICE in aarch64_split_128bit_move)
PR target/59780
	* aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
	non-register objects.  Use gen_(high/low)part more consistently.
	Fix assertions.

From-SVN: r206671
2014-01-16 17:35:50 +00:00
Michael Meissner
e78f06a8c3 re PR target/59844 (Powerpc64le cannot bootstrap with -O3/-mcpu=power8)
2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/59844
	* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
	endian support, remove tests for WORDS_BIG_ENDIAN.
	(p8_mfvsrd_3_<mode>): Likewise.
	(reload_gpr_from_vsx<mode>): Likewise.
	(reload_gpr_from_vsxsf): Likewise.
	(p8_mfvsrd_4_disf): Likewise.

From-SVN: r206668
2014-01-16 17:08:52 +00:00
Richard Biener
9d1ae52c14 re PR tree-optimization/46590 (long compile time with -O2 and many loops)
2014-01-16  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/46590
	* lcm.c (compute_antinout_edge): Use postorder iteration.
	(compute_laterin): Use inverted postorder iteration.

From-SVN: r206663
2014-01-16 13:48:51 +00:00
Nick Clifton
54c7a7f3b0 re PR middle-end/28865 (Structures with a flexible arrray member have wrong .size)
PR middle-end/28865

	* varasm.c (output_constant): Return the number of bytes actually
	emitted.
	(output_constructor_array_range): Update the field size with the
	number of bytes emitted by output_constant.
	(output_constructor_regular_field): Likewise.  Also do not
 	complain if the total number of bytes emitted is now greater
	than the expected fieldpos.
	* output.h (output_constant): Update prototype and descriptive
	comment.

	* gcc.c-torture/compile/pr28865.c: New.
	* gcc.c-torture/execute/pr28865.c: New.

From-SVN: r206661
2014-01-16 12:17:48 +00:00
Marek Polacek
5147d10aa4 re PR middle-end/59827 (ICE on array with incomplete element type)
PR middle-end/59827
	* cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
	it is error_mark_node.
testsuite/
	* gcc.dg/pr59827.c: New test.

From-SVN: r206660
2014-01-16 11:42:56 +00:00
Andreas Schwab
1a22d3cb98 * gcc.c-torture/execute/pr59747.c (fn1): Return a value.
From-SVN: r206659
2014-01-16 10:14:29 +00:00
Uros Bizjak
4ac005badf i386.c (ix86_hard_regno_mode_ok): Use VALID_AVX256_REG_OR_OI_MODE.
* config/i386/i386.c (ix86_hard_regno_mode_ok): Use
	VALID_AVX256_REG_OR_OI_MODE.

From-SVN: r206658
2014-01-16 09:23:33 +01:00