Jakub Jelinek [Fri, 17 Jan 2014 14:19:55 +0000 (15:19 +0100)]
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
Nick Clifton [Fri, 17 Jan 2014 11:35:46 +0000 (11:35 +0000)]
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
Richard Biener [Fri, 17 Jan 2014 10:47:59 +0000 (10:47 +0000)]
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
James Greenhalgh [Fri, 17 Jan 2014 07:55:49 +0000 (07:55 +0000)]
Fix ChangeLog entry for revision 206673 as was requested in review comments.
From-SVN: r206700
Zhenqiang Chen [Fri, 17 Jan 2014 05:43:45 +0000 (05:43 +0000)]
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
Ilya Enkovich [Fri, 17 Jan 2014 05:36:19 +0000 (05:36 +0000)]
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
Chris Manghane [Fri, 17 Jan 2014 04:35:40 +0000 (04:35 +0000)]
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
Jan Hubicka [Fri, 17 Jan 2014 01:04:59 +0000 (02:04 +0100)]
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
GCC Administrator [Fri, 17 Jan 2014 00:16:36 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206693
Tim Shen [Thu, 16 Jan 2014 23:35:21 +0000 (23:35 +0000)]
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
Bernd Schmidt [Thu, 16 Jan 2014 20:51:24 +0000 (20:51 +0000)]
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
Jakub Jelinek [Thu, 16 Jan 2014 20:14:45 +0000 (21:14 +0100)]
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
Jason Merrill [Thu, 16 Jan 2014 19:55:12 +0000 (14:55 -0500)]
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
Jakub Jelinek [Thu, 16 Jan 2014 19:54:23 +0000 (20:54 +0100)]
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
Jakub Jelinek [Thu, 16 Jan 2014 19:24:07 +0000 (20:24 +0100)]
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
Jakub Jelinek [Thu, 16 Jan 2014 19:15:46 +0000 (20:15 +0100)]
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
Jakub Jelinek [Thu, 16 Jan 2014 19:14:49 +0000 (20:14 +0100)]
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
Vladimir Makarov [Thu, 16 Jan 2014 19:13:54 +0000 (19:13 +0000)]
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
Vladimir Makarov [Thu, 16 Jan 2014 19:04:08 +0000 (19:04 +0000)]
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
Alan Lawrence [Thu, 16 Jan 2014 18:10:34 +0000 (18:10 +0000)]
[ARM] Make -mcpu, -march and -mtune case-insensitive
gcc/
* config/arm/arm.opt: Make -mcpu, -march, -mtune case-insensitive.
From-SVN: r206673
Richard Earnshaw [Thu, 16 Jan 2014 17:35:50 +0000 (17:35 +0000)]
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
Michael Meissner [Thu, 16 Jan 2014 17:08:52 +0000 (17:08 +0000)]
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
Richard Biener [Thu, 16 Jan 2014 13:48:51 +0000 (13:48 +0000)]
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
Nick Clifton [Thu, 16 Jan 2014 12:17:48 +0000 (12:17 +0000)]
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
Marek Polacek [Thu, 16 Jan 2014 11:42:56 +0000 (11:42 +0000)]
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
Andreas Schwab [Thu, 16 Jan 2014 10:14:29 +0000 (10:14 +0000)]
* gcc.c-torture/execute/pr59747.c (fn1): Return a value.
From-SVN: r206659
Uros Bizjak [Thu, 16 Jan 2014 08:23:33 +0000 (09:23 +0100)]
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
Kirill Yukhin [Thu, 16 Jan 2014 04:25:38 +0000 (04:25 +0000)]
Fix testsuite/ChangeLog entry for PR59808.
From-SVN: r206657
GCC Administrator [Thu, 16 Jan 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r206655
Pat Haugen [Wed, 15 Jan 2014 23:48:12 +0000 (23:48 +0000)]
rs6000.c (rs6000_output_function_prologue): Check if current procedure should be profiled.
* config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
current procedure should be profiled.
From-SVN: r206650
Andrew Pinski [Wed, 15 Jan 2014 23:30:16 +0000 (23:30 +0000)]
aarch64.c (aarch64_register_move_cost): Correct cost of moving from/to the STACK_REG register class.
2014-01-15 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
of moving from/to the STACK_REG register class.
From-SVN: r206649
Marek Polacek [Wed, 15 Jan 2014 22:02:53 +0000 (22:02 +0000)]
Add missing CL entry.
From-SVN: r206648
Richard Henderson [Wed, 15 Jan 2014 21:41:03 +0000 (13:41 -0800)]
re PR debug/54694 (internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2out.c:2387)
PR debug/54694
Diagnose frame_pointer_required vs fixed hfp
From-SVN: r206647
Teresa Johnson [Wed, 15 Jan 2014 21:21:32 +0000 (21:21 +0000)]
tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
2014-01-15 Teresa Johnson <tejohnson@google.com>
* tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
From-SVN: r206646
Laurent Alfonsi [Wed, 15 Jan 2014 19:37:35 +0000 (19:37 +0000)]
re PR c++/49718 (please allow no_instrument_function attribute in class member definition/declaration)
PR c++/49718
* c-common.c (handle_no_instrument_function_attribute): Allow
no_instrument_function attribute in class member
definition/declaration.
PR c++/49718
* g++.dg/pr49718.C: New test.
From-SVN: r206643
Richard Sandiford [Wed, 15 Jan 2014 19:31:46 +0000 (19:31 +0000)]
umips-branch-4.c: Add addressing=absolute.
gcc/testsuite/
* gcc.target/mips/umips-branch-4.c: Add addressing=absolute.
From-SVN: r206642
Bill Schmidt [Wed, 15 Jan 2014 19:16:53 +0000 (19:16 +0000)]
altivec.md (mulv8hi3): Explicitly generate vmulesh and vmulosh rather than call gen_vec_widen_smult_*.
gcc:
2014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
* config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
and vmulosh rather than call gen_vec_widen_smult_*.
(vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
(vec_widen_smult_even_v16qi): Likewise.
(vec_widen_umult_even_v8hi): Likewise.
(vec_widen_smult_even_v8hi): Likewise.
(vec_widen_umult_odd_v16qi): Likewise.
(vec_widen_smult_odd_v16qi): Likewise.
(vec_widen_umult_odd_v8hi): Likewise.
(vec_widen_smult_odd_v8hi): Likewise.
(vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
vmuloub rather than call gen_vec_widen_umult_*.
(vec_widen_umult_lo_v16qi): Likewise.
(vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
vmulosb rather than call gen_vec_widen_smult_*.
(vec_widen_smult_lo_v16qi): Likewise.
(vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
rather than call gen_vec_widen_umult_*.
(vec_widen_umult_lo_v8hi): Likewise.
(vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
rather than call gen_vec_widen_smult_*.
(vec_widen_smult_lo_v8hi): Likewise.
gcc/testsuite:
2014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
* gcc.dg/vmx/mult-even-odd.c: New.
* gcc.dg/vmx/mult-even-odd-be-order.c: New.
From-SVN: r206641
Balaji V. Iyer [Wed, 15 Jan 2014 19:11:16 +0000 (19:11 +0000)]
target-supports.exp (check_libcilkrts_available): Added an extern "C" if we are using C++ along with a function prototype.
2014-01-15 Balaji V. Iyer <balaji.v.iyer@intel.com>
* lib/target-supports.exp (check_libcilkrts_available): Added an
extern "C" if we are using C++ along with a function prototype.
From-SVN: r206640
Jason Merrill [Wed, 15 Jan 2014 19:10:09 +0000 (14:10 -0500)]
re PR c++/59659 (large zero-initialized std::array compile time excessive)
PR c++/59659
* typeck2.c (massage_init_elt): New.
(process_init_constructor_record)
(process_init_constructor_union): Use it.
(process_init_constructor_array): Use it. Use RANGE_EXPR.
(split_nonconstant_init_1): Handle it.
* semantics.c (cxx_eval_vec_init_1): Use force_rvalue.
From-SVN: r206639
Jeff Law [Wed, 15 Jan 2014 18:13:52 +0000 (11:13 -0700)]
re PR tree-optimization/59747 (wrong code at -Os and above on x86_64-linux-gnu in 64-bit mode)
PR tree-optimization/59747
* ree.c (find_and_remove_re): Properly handle case where a second
eliminated extension requires widening a copy created for elimination
of a prior extension.
(combine_set_extension): Ensure that the number of hard regs needed
for a destination register does not change when we widen it.
PR tree-optimization/59747
* gcc.c-torture/execute/pr59747.c: New test.
From-SVN: r206638
Sebastian Huber [Wed, 15 Jan 2014 17:44:33 +0000 (17:44 +0000)]
config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
2014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
(arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
(arm*-*-rtems*): Use t-rtems from existing tmake_file.
(avr-*-rtems*): Likewise.
(bfin*-rtems*): Likewise.
(moxie-*-rtems*): Likewise.
(h8300-*-rtems*): Likewise.
(i[34567]86-*-rtems*): Likewise.
(lm32-*-rtems*): Likewise.
(m32r-*-rtems*): Likewise.
(m68k-*-rtems*): Likewise.
(microblaze*-*-rtems*): Likewise.
(mips*-*-rtems*): Likewise.
(powerpc-*-rtems*): Likewise.
(sh-*-rtems*): Likewise.
(sparc-*-rtems*): Likewise.
(sparc64-*-rtems*): Likewise.
(v850-*-rtems*): Likewise.
(m32c-*-rtems*): Likewise.
From-SVN: r206637
Vladimir Makarov [Wed, 15 Jan 2014 17:32:47 +0000 (17:32 +0000)]
re PR rtl-optimization/59511 (FAIL: gcc.target/i386/pr36222-1.c scan-assembler-not movdqa with -mtune=corei7)
2014-01-15 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/59511
* ira.c (ira_init_register_move_cost): Use memory costs for some
cases of register move cost calculations.
* lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
instead of BB frequency.
* lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
* lra-assigns.c (find_hard_regno_for): Ditto.
From-SVN: r206636
H.J. Lu [Wed, 15 Jan 2014 17:08:38 +0000 (17:08 +0000)]
Silence vector ABI change warnings for x86
PR target/59794
* c-c++-common/convert-vec-1.c: Also prune ABI change for
Linux/x86.
* g++.dg/cpp0x/constexpr-53094-2.C: Likewise.
* g++.dg/ext/attribute-test-1.C: Likewise.
* g++.dg/ext/attribute-test-2.C: Likewise.
* g++.dg/ext/attribute-test-3.C: Likewise.
* g++.dg/ext/attribute-test-4.C: Likewise.
* g++.dg/ext/pr56790-1.C: Likewise.
* g++.dg/torture/pr38565.C: Likewise.
* gcc.dg/pr53060.c: Likewise.
* c-c++-common/scal-to-vec2.c: Add -msse2 for x86.
* c-c++-common/vector-compare-2.c: Likewise.
* gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: Likewise.
* g++.dg/conversion/simd1.C: Add -msse2 for x86. Adjust
dg-message line number.
From-SVN: r206634
François Dumont [Wed, 15 Jan 2014 16:55:34 +0000 (16:55 +0000)]
Add missing PR reference in ChangeLog.
From-SVN: r206633
François Dumont [Wed, 15 Jan 2014 16:53:02 +0000 (16:53 +0000)]
hashtable_policy.h: Fix some long lines.
2014-01-15 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h: Fix some long lines.
* include/bits/hashtable.h (__hash_code_base_access): Define and
use it to check its _M_bucket_index noexcept qualification. Use
also in place of...
(__access_protected_ctor): ...this.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adapt line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
From-SVN: r206632
Matthias Klose [Wed, 15 Jan 2014 15:31:55 +0000 (15:31 +0000)]
go-test.exp: Set goarch for aarch64*-*-*.
2014-01-15 Matthias Klose <doko@ubuntu.com>
* go.test/go-test.exp: Set goarch for aarch64*-*-*.
From-SVN: r206631
Richard Biener [Wed, 15 Jan 2014 15:13:08 +0000 (15:13 +0000)]
re PR tree-optimization/59822 (ice in compute_live_loop_exits with -O3)
2014-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/59822
* tree-vect-stmts.c (hoist_defs_of_uses): New function.
(vectorizable_load): Use it to hoist defs of uses of invariant
loads out of the loop.
* g++.dg/torture/pr59822.C: New testcase.
From-SVN: r206630
Kirill Yukhin [Wed, 15 Jan 2014 12:01:08 +0000 (12:01 +0000)]
re PR testsuite/59808 (r206596 caused: FAIL: gcc.target/i386/sse-14.c (test for excess errors))
PR target/59808
* gcc.target/i386/sse-12.c: Add `-mavx512[cd, er, pf]' options.
* gcc.target/i386/sse-14.c: Fix PR59808.
From-SVN: r206629
Matthew Gretton-Dann [Wed, 15 Jan 2014 10:27:55 +0000 (10:27 +0000)]
re PR target/59695 (bad code generation on aarch64 in aarch64_output_mi_thunk)
2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
Kugan Vivekanandarajah <kuganv@linaro.org>
gcc/
PR target/59695
* config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
truncation.
gcc/testsuite/
PR target/59695
* g++.dg/pr59695.C: New testcase.
Co-Authored-By: Kugan Vivekanandarajah <kuganv@linaro.org>
From-SVN: r206628
Jakub Jelinek [Wed, 15 Jan 2014 09:39:11 +0000 (10:39 +0100)]
re PR target/59803 (s390x -march=z10 reload ICE)
Add
PR target/59803
reference to ChangeLog entries.
From-SVN: r206625
Richard Biener [Wed, 15 Jan 2014 08:47:30 +0000 (08:47 +0000)]
re PR rtl-optimization/59802 (excessive compile time in RTL optimizers (loop unswitching, CPROP))
2014-01-15 Richard Biener <rguenther@suse.de>
PR rtl-optimization/59802
* lcm.c (compute_available): Use inverted postorder to seed
the initial worklist.
From-SVN: r206624
Andreas Krebbel [Wed, 15 Jan 2014 08:36:44 +0000 (08:36 +0000)]
s390.c (s390_preferred_reload_class): Don't return ADDR_REGS for invalid symrefs in non-PIC code.
2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_preferred_reload_class): Don't return
ADDR_REGS for invalid symrefs in non-PIC code.
2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.c-torture/compile/pr59803.c: New testcase.
From-SVN: r206623
Jakub Jelinek [Wed, 15 Jan 2014 08:08:17 +0000 (09:08 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)
PR other/58712
* builtins.c (determine_block_size): Initialize *probable_max_size
even if len_rtx is CONST_INT.
From-SVN: r206621
Jakub Jelinek [Wed, 15 Jan 2014 08:03:53 +0000 (09:03 +0100)]
re PR c/58943 (wrong calculation of indirect structure member arithmetic via function call)
PR c/58943
* c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
effects, preevaluate rhs using SAVE_EXPR first.
* c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
build_modify_expr with non-NOP_EXPR opcode. Handle return from it
being COMPOUND_EXPR.
(c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
operand a SAVE_EXPR and second MODIFY_EXPR.
* gcc.c-torture/execute/pr58943.c: New test.
* gcc.dg/tree-ssa/ssa-fre-33.c (main): Avoid using += in the test.
From-SVN: r206620
Chris Manghane [Wed, 15 Jan 2014 00:17:22 +0000 (00:17 +0000)]
compiler: Use backend interface for interface info and field expressions.
* go-gcc.cc (Gcc_backend::compound_expression): New function.
(Gcc_backend::conditional_expression): New function.
From-SVN: r206615
GCC Administrator [Wed, 15 Jan 2014 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206614
Ian Lance Taylor [Tue, 14 Jan 2014 23:21:16 +0000 (23:21 +0000)]
compiler: Add Backend Function type.
From-SVN: r206611
Andrew Pinski [Tue, 14 Jan 2014 19:55:59 +0000 (19:55 +0000)]
aarch64-protos.h (tune_params): Add issue_rate.
2014-01-14 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
* config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
(cortexa53_tunings): Likewise.
(aarch64_sched_issue_rate): New function.
(TARGET_SCHED_ISSUE_RATE): Define.
From-SVN: r206609
Vladimir Makarov [Tue, 14 Jan 2014 19:08:32 +0000 (19:08 +0000)]
ira-costs.c (find_costs_and_classes): Add missed ira_init_register_move_cost_if_necessary.
2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
* ira-costs.c (find_costs_and_classes): Add missed
ira_init_register_move_cost_if_necessary.
From-SVN: r206606
Vladimir Makarov [Tue, 14 Jan 2014 19:07:01 +0000 (19:07 +0000)]
re PR target/59787 ([ARM] mmx-2.c causes ICE when GCC is configured for cortex-a5/vfpv3-d16-fp16)
2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
PR target/59787
* config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
From-SVN: r206605
H.J. Lu [Tue, 14 Jan 2014 16:41:10 +0000 (08:41 -0800)]
Consolidate ABI warning into type_natural_mode
gcc/
PR target/59794
* config/i386/i386.c (type_natural_mode): Add a bool parameter
to indicate if type is used for function return value. Warn
ABI change if the vector mode isn't available for function
return value.
(ix86_function_arg_advance): Pass false to type_natural_mode.
(ix86_function_arg): Likewise.
(ix86_gimplify_va_arg): Likewise.
(function_arg_32): Don't warn ABI change.
(ix86_function_value): Pass true to type_natural_mode.
(ix86_return_in_memory): Likewise.
(ix86_struct_value_rtx): Removed.
(TARGET_STRUCT_VALUE_RTX): Likewise.
gcc/testsuite/
PR target/59794
* g++.dg/ext/vector23.C: Also prune ABI change for Linux/x86.
* gcc.target/i386/pr39162.c (y): New __m256i variable.
(bar): Change return type to void. Set y to x.
* gcc.target/i386/pr59794-1.c: New testcase.
* gcc.target/i386/pr59794-2.c: Likewise.
* gcc.target/i386/pr59794-3.c: Likewise.
* gcc.target/i386/pr59794-4.c: Likewise.
* gcc.target/i386/pr59794-5.c: Likewise.
* gcc.target/i386/pr59794-6.c: Likewise.
* gcc.target/i386/pr59794-7.c: Likewise.
From-SVN: r206603
Richard Sandiford [Tue, 14 Jan 2014 14:45:07 +0000 (14:45 +0000)]
jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when converting a conditional jump into a...
gcc/
* jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
converting a conditional jump into a conditional return.
From-SVN: r206600
Richard Biener [Tue, 14 Jan 2014 09:04:50 +0000 (09:04 +0000)]
re PR tree-optimization/58921 (ICE with segfault on valid code at -O3 on x86_64-linux-gnu)
2014-01-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/58921
PR tree-optimization/59006
* tree-vect-loop-manip.c (vect_loop_versioning): Remove code
hoisting invariant stmts.
* tree-vect-stmts.c (vectorizable_load): Insert the splat of
invariant loads on the preheader edge if possible.
* gcc.dg/torture/pr58921.c: New testcase.
* gcc.dg/torture/pr59006.c: Likewise.
* gcc.dg/vect/pr58508.c: XFAIL no longer handled cases.
From-SVN: r206599
Jakub Jelinek [Tue, 14 Jan 2014 09:00:30 +0000 (10:00 +0100)]
re PR testsuite/59494 (FAIL: gfortran.dg/vect/fast-math-mgrid-resid.f scan-tree-dump-times optimized "vect_[^\\n]*\\+ " 13)
PR testsuite/59494
* gfortran.dg/vect/fast-math-mgrid-resid.f: Change
-fdump-tree-optimized to -fdump-tree-pcom-details in dg-options and
cleanup-tree-dump from optimized to pcom. Remove scan-tree-dump-times
for vect_\[^\\n\]*\\+, add scan-tree-dump-times for no suitable chains and
Executing predictive commoning without unrolling.
From-SVN: r206598
Joey Ye [Tue, 14 Jan 2014 07:29:25 +0000 (07:29 +0000)]
plugin.texi (Building GCC plugins): Update to C++.
2014-01-14 Joey Ye <joey.ye@arm.com>
* doc/plugin.texi (Building GCC plugins): Update to C++.
From-SVN: r206597
Kirill Yukhin [Tue, 14 Jan 2014 06:21:06 +0000 (06:21 +0000)]
avx512erintrin.h (_mm_rcp28_round_sd): New.
gcc/
* config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
(_mm_rcp28_round_ss): Ditto.
(_mm_rsqrt28_round_sd): Ditto.
(_mm_rsqrt28_round_ss): Ditto.
(_mm_rcp28_sd): Ditto.
(_mm_rcp28_ss): Ditto.
(_mm_rsqrt28_sd): Ditto.
(_mm_rsqrt28_ss): Ditto.
* config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
* config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
* config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
(IX86_BUILTIN_RCP28SD): Ditto.
(IX86_BUILTIN_RCP28SS): Ditto.
(IX86_BUILTIN_RSQRT28SD): Ditto.
(IX86_BUILTIN_RSQRT28SS): Ditto.
(bdesc_special_args): Define __builtin_ia32_movntdqa512,
__builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
__builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
(ix86_expand_special_args_builtin): Expand new FTYPE.
* config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
(srcp14<mode>): Make insn unary.
(avx512f_vmscalef<mode><round_name>): Use substed predicate.
(avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
(avx512f_rndscale<mode><round_saeonly_name>): Ditto.
(<sse4_1_avx2>_movntdqa): Extend to 512 bits.
(avx512er_exp2<mode><mask_name><round_saeonly_name>):
Fix rounding: make it SAE only.
(<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): Ditto.
(<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): Ditto.
(avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
(avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
(avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
* config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
(round_saeonly_mask_scalar_operand4): Ditto.
(round_saeonly_mask_scalar_op3): Ditto.
(round_saeonly_mask_scalar_op4): Ditto.
gcc/testsuite/
* gcc.target/i386/avx-1.c: Fix __builtin_ia32_exp2ps_mask,
__builtin_ia32_exp2pd_mask, __builtin_ia32_rcp28ps_mask,
__builtin_ia32_rcp28pd_mask, __builtin_ia32_rsqrt28ps_mask,
__builtin_ia32_rsqrt28pd_mask. Add __builtin_ia32_rcp28ss_round,
__builtin_ia32_rcp28sd_round, __builtin_ia32_rsqrt28ss_round,
__builtin_ia32_rsqrt28sd_round.
* gcc.target/i386/avx512er-vexp2pd-1.c: Fix rounding mode.
* gcc.target/i386/avx512er-vexp2ps-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28pd-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28sd-1.c: New.
* gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto.
* gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
* gcc.target/i386/avx512f-vmovntdqa-1.c: Ditto.
* gcc.target/i386/avx512f-vmovntdqa-2.c: Ditto.
* gcc.target/i386/avx512f-vrcp14sd-2.c: Fix.
* gcc.target/i386/avx512f-vrcp14ss-2.c: Ditto.
* gcc.target/i386/sse-22.c: Extend with new built-ins,
fix wrong rounding mode (see above).
* gcc.target/i386/sse-23.c: Ditto.
From-SVN: r206596
GCC Administrator [Tue, 14 Jan 2014 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206593
Bill Schmidt [Mon, 13 Jan 2014 23:18:05 +0000 (23:18 +0000)]
rs6000-c.c (altivec_resolve_overloaded_builtin): Implement -maltivec=be for vec_insert and vec_extract.
gcc:
2014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Implement -maltivec=be for vec_insert and vec_extract.
gcc/testsuite:
2014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/insert.c: New.
* gcc.dg/vmx/insert-be-order.c: New.
* gcc.dg/vmx/extract.c: New.
* gcc.dg/vmx/extract-be-order.c: New.
From-SVN: r206590
François Dumont [Mon, 13 Jan 2014 20:07:22 +0000 (20:07 +0000)]
set.h (set): Implement C++11 allocator-aware container requirements.
2014-01-13 François Dumont <fdumont@gcc.gnu.org>
* include/debug/set.h (set): Implement C++11 allocator-aware
container requirements.
* include/debug/map.h (map): Likewise.
* include/debug/multiset.h (multiset): Likewise.
* include/debug/multimap.h (multimap): Likewise.
* include/debug/set.h (set::operator=(set&&)): Add noexcept and
fix implementation regarding management of safe iterators.
* include/debug/map.h (map::operator=(map&&)): Likewise.
* include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
* include/debug/multimap.h (multimap::operator=(multimap&&)):
Likewise.
* include/debug/set.h (set::operator=(std::initializer_list<>)):
Rely on the same operator from normal mode.
* include/debug/map.h (map::operator=(std::initializer_list<>)):
Likewise.
* include/debug/multiset.h
(multiset::operator=(std::initializer_list<>)): Likewise.
* include/debug/multimap.h
(multimap::operator=(std::initializer_list<>)): Likewise.
* include/debug/set.h (set::swap(set&)): Add noexcept
specification, add allocator equality check.
* include/debug/map.h (map::swap(map&)): Likewise.
* include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
* include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
From-SVN: r206588
H.J. Lu [Mon, 13 Jan 2014 19:36:17 +0000 (19:36 +0000)]
Make sure that -msse/-mavx are appended at the end
PR libitm/53113
* Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
(x86_avx.lo): Append -mavx to CXXFLAGS.
* Makefile.in: Regenerate.
From-SVN: r206587
DJ Delorie [Mon, 13 Jan 2014 19:17:45 +0000 (14:17 -0500)]
msp430.md (call_internal): Don't allow memory references with SP as the base register.
* config/msp430/msp430.md (call_internal): Don't allow memory
references with SP as the base register.
(call_value_internal): Likewise.
* config/msp430/constraints.md (Yc): New. For memory references
that don't use SP as a base register.
* config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
"an integer without a # prefix"
* config/msp430/msp430.md (epilogue_helper): Use it.
From-SVN: r206586
Jakub Jelinek [Mon, 13 Jan 2014 19:16:30 +0000 (20:16 +0100)]
re PR tree-optimization/59617 ([vectorizer] ICE in vectorizable_mask_load_store with AVX-512F's gathers enabled.)
PR target/59617
* config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
AVX512F gather builtins.
* tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
on gather decls with INTEGER_TYPE masktype.
(vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
directly into the builtin rather than hoisting it before loop.
From-SVN: r206585
Jakub Jelinek [Mon, 13 Jan 2014 19:14:03 +0000 (20:14 +0100)]
re PR tree-optimization/59387 (wrong code (hangs) at -Os on x86_64-linux-gnu)
PR tree-optimization/59387
* tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
(scev_const_prop): If folded_casts and type has undefined overflow,
use force_gimple_operand instead of force_gimple_operand_gsi and
for each added stmt if it is assign with
arith_code_with_undefined_signed_overflow, call
rewrite_to_defined_overflow.
* tree-ssa-loop-im.c: Don't include gimplify-me.h, include
gimple-fold.h instead.
(arith_code_with_undefined_signed_overflow,
rewrite_to_defined_overflow): Moved to ...
* gimple-fold.c (arith_code_with_undefined_signed_overflow,
rewrite_to_defined_overflow): ... here. No longer static.
Include gimplify-me.h.
* gimple-fold.h (arith_code_with_undefined_signed_overflow,
rewrite_to_defined_overflow): New prototypes.
* gcc.c-torture/execute/pr59387.c: New test.
From-SVN: r206583
Kyrylo Tkachov [Mon, 13 Jan 2014 15:58:47 +0000 (15:58 +0000)]
arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
2014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
From-SVN: r206580
Richard Biener [Mon, 13 Jan 2014 11:27:43 +0000 (11:27 +0000)]
lto.exp: Do check_effective_target_lto check before adjusting mathlib options.
2014-01-13 Richard Biener <rguenther@suse.de>
* g++.dg/lto/lto.exp: Do check_effective_target_lto check before
adjusting mathlib options.
* gfortran.dg/lto/lto.exp: Likewise.
From-SVN: r206577
Eric Botcazou [Mon, 13 Jan 2014 10:36:27 +0000 (10:36 +0000)]
builtins.c (get_object_alignment_2): Minor tweak.
* builtins.c (get_object_alignment_2): Minor tweak.
* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
From-SVN: r206576
Christian Bruel [Mon, 13 Jan 2014 09:16:48 +0000 (10:16 +0100)]
sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and optimized non constant lengths.
2014-01-13 Christian Bruel <christian.bruel@st.com>
* config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
optimized non constant lengths.
From-SVN: r206575
Jakub Jelinek [Mon, 13 Jan 2014 09:13:15 +0000 (10:13 +0100)]
vect-simd-clone-10.c: Add dg-do run.
* gcc.dg/vect/vect-simd-clone-10.c: Add dg-do run.
* gcc.dg/vect/vect-simd-clone-12.c: Likewise.
From-SVN: r206574
Jakub Jelinek [Mon, 13 Jan 2014 07:56:40 +0000 (08:56 +0100)]
re PR libgomp/59194 (tsan detects race for real variables in an OMP reduction clause)
PR libgomp/59194
* omp-low.c (expand_omp_atomic_pipeline): Expand the initial
load as __atomic_load_N if possible.
From-SVN: r206572
GCC Administrator [Mon, 13 Jan 2014 00:17:02 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r206571
Eric Botcazou [Sun, 12 Jan 2014 14:29:12 +0000 (14:29 +0000)]
re PR ada/59772 (floating-point constants are not correctly encoded)
PR ada/59772
* gcc-interface/cuintp.c (build_cst_from_int): Use 32-bit integer type
as intermediate type.
(UI_To_gnu): Likewise.
From-SVN: r206565
Janus Weil [Sun, 12 Jan 2014 11:08:31 +0000 (12:08 +0100)]
re PR fortran/58026 ([F03] Bad error recovery for allocatable component of undeclared type)
2014-01-12 Janus Weil <janus@gcc.gnu.org>
PR fortran/58026
* decl.c (gfc_match_data_decl): Improve error recovery.
2014-01-12 Janus Weil <janus@gcc.gnu.org>
PR fortran/58026
* gfortran.dg/alloc_comp_basics_6.f90: New.
From-SVN: r206564
GCC Administrator [Sun, 12 Jan 2014 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r206563
Steven G. Kargl [Sat, 11 Jan 2014 21:38:30 +0000 (21:38 +0000)]
re PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item 0 in list input)
2014-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/59700
* gfortran.dg/pr59700.f90: New test.
From-SVN: r206559
Jerry DeLisle [Sat, 11 Jan 2014 21:36:57 +0000 (21:36 +0000)]
Missed file for previous commit.
From-SVN: r206558
Dominique d'Humieres [Sat, 11 Jan 2014 21:30:43 +0000 (22:30 +0100)]
re PR libfortran/59419 (Failing OPEN with FILE='xxx' and IOSTAT creates the file 'xxx' after revision 196783)
2014-01-11 Dominique d'Humieres <dominiq@lps.ens.fr>
* gfortran.dg/binding_label_tests_10_main.f03: Cleanup mod file.
* gfortran.dg/use_only_3.f90: Likewise.
* gfortran.dg/inquire_10.f90: Delete opened file.
* gfortran.dg/inquire_15.f90: Likewise.
* gfortran.dg/pr16597.f90: Likewise.
* gfortran.dg/open_negative_unit_1.f90: Likewise + test
for PR59419.
From-SVN: r206557
David Edelsohn [Sat, 11 Jan 2014 19:25:54 +0000 (19:25 +0000)]
rs6000.c (rs6000_expand_mtfsf_builtin): Remove target parameter.
* config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
target parameter.
(rs6000_expand_builtin): Adjust call.
From-SVN: r206555
David Edelsohn [Sat, 11 Jan 2014 18:57:56 +0000 (18:57 +0000)]
re PR target/58115 (testcase gcc.target/i386/intrinsics_4.c failure)
PR target/58115
* config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
* config/rs6000/rs6000.c: Include target-globals.h.
(rs6000_set_current_function): Instead of doing target_reinit
unconditionally, use save_target_globals_default_opts and
restore_target_globals.
* config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
FPSCR.
* config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
(rs6000_expand_builtin): Handle mffs and mtfsf.
(rs6000_init_builtins): Define mffs and mtfsf.
* config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New.
(rs6000_mffs): New pattern.
(rs6000_mtfsf): New pattern.
From-SVN: r206554
Jerry DeLisle [Sat, 11 Jan 2014 18:57:20 +0000 (18:57 +0000)]
re PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item 0 in list input)
2014-01-11 Jerry DeLisle <jvdelisle@gcc.gnu>
Dominique d'Humieres <dominiq@lps.ens.fr>
Steven G. Kargl <kargl@gcc.gnu.org>
PR libfortran/59700
PR libfortran/59764
* io/io.h (struct st_parameter_dt): Assign expanded_read flag to
unused bit. Define new variable line_buffer_pos.
* io/list_read.c (free_saved, next_char, l_push_char,
read_logical, read_real): Replace use of item_count with
line_buffer_pos for line_buffer look ahead.
(read_logical, read_integer, parse_real, read_real, check_type):
Adjust location of free_line to after generating error messages
to retain the correct item count for the message.
Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r206553
Bin Cheng [Sat, 11 Jan 2014 09:33:39 +0000 (09:33 +0000)]
tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
* tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
Start narrowing with START. Apply candidate-use pair
and check overall cost in narrowing.
(iv_ca_prune): Pass new argument.
From-SVN: r206552
GCC Administrator [Sat, 11 Jan 2014 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206548
Jeff Law [Fri, 10 Jan 2014 22:13:18 +0000 (15:13 -0700)]
re PR middle-end/59743 (ICE: Segmentation fault)
PR middle-end/59743
* ree.c (combine_reaching_defs): Ensure the defining statement
occurs before the extension when optimizing extensions with
different source and destination hard registers.
PR middle-end/59743
* gcc.c-torture/compile/pr59743.c: New test.
From-SVN: r206545
Jan Hubicka [Fri, 10 Jan 2014 21:34:37 +0000 (22:34 +0100)]
re PR middle-end/58585 (ICE in ipa with virtual inheritance)
PR ipa/58585
* ipa-devirt.c (build_type_inheritance_graph): Also add types of vtables
into the type inheritance graph.
* g++.dg/torture/pr58585.C: New testcase.
From-SVN: r206543
Jakub Jelinek [Fri, 10 Jan 2014 21:27:52 +0000 (22:27 +0100)]
re PR rtl-optimization/59754 ([ree.c] Incorrect merge while working with vector registers)
PR rtl-optimization/59754
* ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
modes in the REGNO != REGNO case.
From-SVN: r206542
Bill Schmidt [Fri, 10 Jan 2014 21:26:25 +0000 (21:26 +0000)]
rs6000-builtin.def: Fix pasto for VPKSDUS.
2014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
From-SVN: r206541
Jakub Jelinek [Fri, 10 Jan 2014 20:37:52 +0000 (21:37 +0100)]
re PR tree-optimization/59745 (internal compiler error: tree check: expected tree that contains 'typed' structure, have '<invalid tree code>' in operand_equal_p, at fold-const.c:2492)
PR tree-optimization/59745
* tree-predcom.c (tree_predictive_commoning_loop): Call
free_affine_expand_cache if giving up because components is NULL.
From-SVN: r206540
Jakub Jelinek [Fri, 10 Jan 2014 20:25:05 +0000 (21:25 +0100)]
target-globals.c (save_target_globals): Allocate < 4KB structs using GC in payload of target_globals struct instead of...
* target-globals.c (save_target_globals): Allocate < 4KB structs using
GC in payload of target_globals struct instead of allocating them on
the heap and the larger structs separately using GC.
* target-globals.h (struct target_globals): Make regs, hard_regs,
reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
of GTY((skip)) and change type to void *.
(reset_target_globals): Cast loads from those fields to corresponding
types.
From-SVN: r206539
Hans-Peter Nilsson [Fri, 10 Jan 2014 19:18:34 +0000 (19:18 +0000)]
* gcc.dg/pr46309.c: Disable for cris*-*-*.
From-SVN: r206537
Steve Ellcey [Fri, 10 Jan 2014 17:54:10 +0000 (17:54 +0000)]
re PR plugins/59335 (Plugin doesn't build on trunk)
2014-01-10 Steve Ellcey <sellcey@mips.com>
PR plugins/59335
* Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
tree-ssanames.h, print-tree.h, varasm.h, and context.h.
From-SVN: r206535
Eric Botcazou [Fri, 10 Jan 2014 16:10:37 +0000 (16:10 +0000)]
* gcc.target/arm/neon-nested-apcs.c: Tweak dg directives.
From-SVN: r206532