Nathan Sidwell [Sun, 7 Sep 2014 18:09:34 +0000 (18:09 +0000)]
libgcov-interface.c (STRONG_ALIAS): Rename to ...
* libgcov-interface.c (STRONG_ALIAS): Rename to ...
(ALIAS_weak): ... here. Use forwarding function. Adjust uses.
From-SVN: r215005
Venkataramanan Kumar [Sun, 7 Sep 2014 17:08:50 +0000 (17:08 +0000)]
Fix PR63190
From-SVN: r215004
Richard Sandiford [Sun, 7 Sep 2014 08:54:49 +0000 (08:54 +0000)]
re PR rtl-optimization/62208 (ICE with -fwhole-program on valid code at -O3 on x86_64-linux-gnu in trunc_int_for_mode, at explow.c:56)
gcc/
PR rtl-optimization/62208
* simplify-rtx.c (simplify_relational_operation_1): Use CONST0_RTX
rather than const0_rtx in eq/ne-xor simplifications.
gcc/testsuite/
* gcc.target/i386/pr62208.c: New test.
From-SVN: r215002
GCC Administrator [Sun, 7 Sep 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215001
John David Anglin [Sat, 6 Sep 2014 21:45:53 +0000 (21:45 +0000)]
re PR testsuite/56194 (FAIL: g++.dg/init/const9.C -std=c++98 scan-assembler-not rodata)
PR testsuite/56194
* g++.dg/init/const9.C: Skip scan-assembler-not "rodata" on hppa*-*-*.
From-SVN: r214996
John David Anglin [Sat, 6 Sep 2014 21:28:13 +0000 (21:28 +0000)]
pr61800.C: Require visibility.
* g++.dg/ipa/pr61800.C: Require visibility.
From-SVN: r214995
John David Anglin [Sat, 6 Sep 2014 19:25:29 +0000 (19:25 +0000)]
pr61868.c: Require lto.
* gcc.dg/pr61868.c: Require lto.
From-SVN: r214994
Joern Rennecke [Sat, 6 Sep 2014 16:14:47 +0000 (16:14 +0000)]
arc.c (arc_predicate_delay_insns): Swap comparison arguments to silence bogus warning.
* config/arc/arc.c (arc_predicate_delay_insns): Swap comparison
arguments to silence bogus warning.
From-SVN: r214993
Joern Rennecke [Sat, 6 Sep 2014 16:04:40 +0000 (16:04 +0000)]
arc.c (arc_print_operand): Fix format for HOST_WIDE_INT.
* config/arc/arc.c (arc_print_operand): Fix format for HOST_WIDE_INT.
* arc_output_mi_thunk: Likewise.
From-SVN: r214992
Richard Sandiford [Sat, 6 Sep 2014 10:04:44 +0000 (10:04 +0000)]
re PR target/63171 (Segfault in rs6000.c:rs6000_emit_move for multiple tls tests starting with r214658)
gcc/
PR middle-end/63171
* rtlanal.c (tls_referenced_p): Don't skip constant subrtxes.
From-SVN: r214989
Tom de Vries [Sat, 6 Sep 2014 08:08:36 +0000 (08:08 +0000)]
Fix IRA_HARD_REGNO_ADD_COST_MULTIPLIER in ira_tune_allocno_costs
2014-09-06 Tom de Vries <tom@codesourcery.com>
* ira-costs.c (ira_tune_allocno_costs): Don't conditionalize
IRA_HARD_REGNO_ADD_COST_MULTIPLIER code on
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
From-SVN: r214988
François Dumont [Sat, 6 Sep 2014 07:38:48 +0000 (07:38 +0000)]
hashtable_policy.h (_Prime_rehash_policy): Constructor noexcept qualified.
2014-09-06 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
noexcept qualified.
(_Hash_code_base<>): All specialization default constructible if
possible.
(_Hashtable_base<>): Likewise.
* include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
* include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
implementation defaulted.
(unordered_multimap<>::unordered_multimap()): Likewise.
* include/bits/unordered_set.h
(unordered_set<>::unordered_set()): Likewise.
(unordered_multiset<>::unordered_multiset()): Likewise.
* include/debug/unordered_map: Likewise.
* include/debug/unordered_set: Likewise.
* testsuite/23_containers/unordered_map/allocator/noexcept.cc
(test04()): New.
* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
(test04()): New.
* testsuite/23_containers/unordered_set/allocator/noexcept.cc
(test04()): New.
* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
(test04()): New.
From-SVN: r214986
Dominique d'Humieres [Sat, 6 Sep 2014 05:17:10 +0000 (05:17 +0000)]
re PR bootstrap/63188 (r214954 breaks bootstrap on x86_64-apple-darwin13)
2014-09-05 Dominique Dhumieres <dominiq@lps.ens.fr>
PR target/63188
* config/darwin.h (INIT_SECTION_ASM_OP): Define to "".
* config/pa/pa64-hpux.h (INIT_SECTION_ASM_OP): Likewise.
From-SVN: r214983
GCC Administrator [Sat, 6 Sep 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r214980
Easwaran Raman [Fri, 5 Sep 2014 22:23:26 +0000 (22:23 +0000)]
re PR rtl-optimization/62146 (CSE replaces constant with an expression incorrectly)
2014-09-05 Easwaran Raman <eraman@google.com>
PR rtl-optimization/62146
* ifcvt.c (dead_or_predicable): Make removal of REG_EQUAL note of
hoisted instruction unconditional.
testsuite:
* testsuite/g++.dg/opt/pr62146.C: New.
From-SVN: r214977
Segher Boessenkool [Fri, 5 Sep 2014 19:17:08 +0000 (21:17 +0200)]
re PR target/63187 (Unrecognizable insn ICE due to revision 214080)
2014-09-05 Segher Boessenkool <segher@kernel.crashing.org>
PR target/63187
* config/rs6000/rs6000.md (*and<mode>3_imm_dot, *and<mode>3_imm_dot2):
Do not allow any_mask_operand for operands[2].
(*and<mode>3_imm_mask_dot, *and<mode>3_imm_mask_dot2): New.
From-SVN: r214976
Jason Merrill [Fri, 5 Sep 2014 17:59:40 +0000 (13:59 -0400)]
re PR c++/62659 (Regression in template argument substitution in 4.9+)
PR c++/62659
* semantics.c (potential_constant_expression_1): Handle un-folded
pointer to member constants.
From-SVN: r214974
Ian Lance Taylor [Fri, 5 Sep 2014 15:24:36 +0000 (15:24 +0000)]
runtime: Use the clone system call on GNU/Linux.
Without this we weren't supporting the standard Cloneflags
field of SysProcAttr.
From-SVN: r214972
David Malcolm [Fri, 5 Sep 2014 15:15:43 +0000 (15:15 +0000)]
Use rtx_insn for various jump-handling functions and predicates
gcc/ChangeLog:
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* config/arc/arc.c (arc_print_operand): Use insn method of
final_sequence for type-safety.
* config/bfin/bfin.c (bfin_hardware_loop): Strengthen param
"insn" from rtx to rtx_insn *.
* config/frv/frv.c (frv_print_operand_jump_hint): Likewise.
* config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
Likewise for locals "branch", "label".
* config/h8300/h8300.c (same_cmp_preceding_p): Likewise for
locals "i1", "i2". Use NULL rather than NULL_RTX in comparisons.
(same_cmp_following_p): Likewise for locals "i2", "i3".
* config/sh/sh_optimize_sett_clrt.cc
(sh_optimize_sett_clrt::sh_cbranch_ccreg_value): Likewise for
param "cbranch_insn".
* function.c (convert_jumps_to_returns): Likewis for local "jump".
* ifcvt.c (cond_exec_get_condition): Likewise for param "jump".
* jump.c (simplejump_p): Strengthen param "insn" from const_rtx to
const rtx_insn *.
(condjump_p): Likewise.
(condjump_in_parallel_p): Likewise.
(pc_set): Likewise.
(any_uncondjump_p): Likewise.
(any_condjump_p): Likewise.
(condjump_label): Likewise.
(returnjump_p): Strengthen param "insn" from rtx to
const rtx_insn *.
(onlyjump_p): Strengthen param "insn" from const_rtx to
const rtx_insn *.
(jump_to_label_p): Likewise.
(invert_jump_1): Strengthen param "jump" from rtx to rtx_insn *.
(invert_jump): Likewise.
* reorg.c (simplejump_or_return_p): Add checked cast when calling
simplejump_p.
(get_jump_flags): Strengthen param "insn" from rtx to
const rtx_insn *.
(get_branch_condition): Likewise.
(condition_dominates_p): Likewise.
(make_return_insns): Move declaration of local "pat" earlier, to
after we've handled NONJUMP_INSN_P and non-sequences, using its
methods to simplify the code and for type-safety.
* rtl.h (find_constant_src): Strengthen param from const_rtx to
const rtx_insn *.
(jump_to_label_p): Strengthen param from rtx to const rtx_insn *.
(condjump_p): Strengthen param from const_rtx to
const rtx_insn *.
(any_condjump_p): Likewise.
(any_uncondjump_p): Likewise.
(pc_set): Likewise.
(condjump_label): Likewise.
(simplejump_p): Likewise.
(returnjump_p): Likewise.
(onlyjump_p): Likewise.
(invert_jump_1): Strengthen param 1 from rtx to rtx_insn *.
(invert_jump): Likewise.
(condjump_in_parallel_p): Strengthen param from const_rtx to
const rtx_insn *.
* rtlanal.c (find_constant_src): Strengthen param from const_rtx
to const rtx_insn *.
* sel-sched-ir.c (fallthru_bb_of_jump): Strengthen param from rtx
to const rtx_insn *.
* sel-sched-ir.h (fallthru_bb_of_jump): Likewise.
From-SVN: r214970
David Malcolm [Fri, 5 Sep 2014 15:03:12 +0000 (15:03 +0000)]
Simplification within reorg.c
gcc/ChangeLog:
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* reorg.c (relax_delay_slots): Move declaration of "trial_seq"
above the conditional, and convert the check on GET_CODE to a
dyn_cast, so that "trial_seq" is available as an rtx_sequence * in
the conditional. Simplify the conditional by using methods of
"trial_seq".
From-SVN: r214969
David Malcolm [Fri, 5 Sep 2014 14:55:53 +0000 (14:55 +0000)]
Use rtx_insn_list within haifa-sched.c
gcc/ChangeLog:
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* haifa-sched.c (check_clobbered_conditions): Strengthen local
"link" from rtx to rtx_insn_list *, and use its methods for
clarity and type-safety.
(toggle_cancelled_flags): Likewise.
(restore_last_backtrack_point): Likewise.
(queue_to_ready): Use insn method of "link" in one place.
(schedule_block): Strengthen local "link" from rtx to
rtx_insn_list *, and use its methods for clarity and type-safety.
From-SVN: r214968
David Malcolm [Fri, 5 Sep 2014 14:51:09 +0000 (14:51 +0000)]
Use rtx_insn for more scheduler things, plus CONST_CAST_RTX_INSN
gcc/ChangeLog:
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* sched-deps.c (sched_get_condition_with_rev_uncached): Strengthen
param "insn" from const_rtx to const rtx_insn *.
(sched_get_reverse_condition_uncached): Likewise.
(sched_get_condition_with_rev): Likewise.
(sched_has_condition_p): Likewise.
(sched_insns_conditions_mutex_p): Likewise for both params.
(sched_insn_is_legitimate_for_speculation_p): Likewise for param
"insn"; convert use of CONST_CAST_RTX to CONST_CAST_RTX_INSN.
(setup_insn_reg_uses): Move local "list" to be more tightly
scoped, strengthening it from an rtx to an rtx_insn_list *. Use
its methods for clarity and type-safety.
(sched_analyze_1): Strengthen local "pending" from rtx to
rtx_insn_list *, and local "pending_mem" from rtx to
rtx_expr_list *. Use methods of each for clarity and type-safety.
(sched_analyze_2): Likewise.
(sched_analyze_insn): Likewise.
* sched-int.h (sched_get_reverse_condition_uncached): Strengthen
param from const_rtx to const rtx_insn *.
(sched_insns_conditions_mutex_p): Likewise for both params.
(sched_insn_is_legitimate_for_speculation_p): Likewise for first
param.
* system.h (CONST_CAST_RTX_INSN): New macro.
From-SVN: r214967
David Malcolm [Fri, 5 Sep 2014 14:47:02 +0000 (14:47 +0000)]
Use rtx_insn more within peep2
gcc/ChangeLog:
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* recog.c (peep2_attempt): Strengthen return type from rtx to
rtx_insn *.
(peep2_update_life): Likewise for params "last", "prev", removing
a checked cast made redundant by this.
(peephole2_optimize): Likewise for local "last".
From-SVN: r214966
Ian Lance Taylor [Fri, 5 Sep 2014 14:43:24 +0000 (14:43 +0000)]
runtime: Use correct size for unsafe.Pointer GC instructions.
From-SVN: r214965
David Malcolm [Fri, 5 Sep 2014 14:19:35 +0000 (14:19 +0000)]
Convert set_block_for_insn from a macro to an inline function
gcc/ChangeLog:
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* basic-block.h (set_block_for_insn): Eliminate this macro in
favor of...
* rtl.h (set_block_for_insn): New inline function, imposing the
requirement that the "insn" param is an rtx_insn *.
From-SVN: r214963
David Malcolm [Fri, 5 Sep 2014 14:13:28 +0000 (14:13 +0000)]
Eliminate the checked cast from get_call_reg_set_usage
gcc/ChangeLog
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* caller-save.c (setup_save_areas): Strengthen local "insn" from
rtx to rtx_insn *.
* final.c (get_call_reg_set_usage): Likewise for first param,
eliminating a checked cast.
* regs.h (get_call_reg_set_usage): Likewise for first param.
* resource.c (mark_set_resources): Introduce local rtx_call_insn *
"call_insn" for the case of a MARK_SRC_DEST_CALL via a checked
cast, replacing references to "x" with "call_insn" where
appropriate.
(mark_target_live_regs): Strengthen local "real_insn" from rtx to
rtx_insn *, adding a checked cast.
From-SVN: r214962
David Malcolm [Fri, 5 Sep 2014 14:04:46 +0000 (14:04 +0000)]
Drop uncast_insn from param 1 of final_scan_insn
gcc/ChangeLog
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* output.h (final_scan_insn): Strengthen first param from rtx to
rtx_insn *.
* final.c (final_scan_insn): Likewise, renaming it back from
"uncast_insn" to "insn", eliminating the checked cast.
* config/h8300/h8300.md (define_insn "jump"): Replace local rtx
"vec" with an rtx_sequence * "seq", taking a copy of
"final_sequence", and using methods of "seq" for clarity, and for
type-safety in the calls to final_scan_insn.
* config/mips/mips.c (mips_output_conditional_branch): Use methods
of "final_sequence" for clarity, and for type-safety in the call to
final_scan_insn.
* config/sh/sh.c (print_slot): Strengthen param from rtx to
rtx_sequence * and rename from "insn" to "seq".
From-SVN: r214961
David Malcolm [Fri, 5 Sep 2014 13:58:29 +0000 (13:58 +0000)]
Use rtx_jump_table_data in jump.c:delete_related_insns
gcc/ChangeLog
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* jump.c (delete_related_insns): Introduce a new local "table" by
replacing JUMP_TABLE_DATA_P with a dyn_cast, then use the
get_labels method of "table" to simplify access to the labels in
the jump table.
From-SVN: r214960
Kyrylo Tkachov [Fri, 5 Sep 2014 13:44:17 +0000 (13:44 +0000)]
[ARM/AArch64] Add scheduling info for ARMv8-A FPU new instructions in Cortex-A53.
* config/arm/cortex-a53.md (cortex_a53_fpalu): Add f_rints, f_rintd,
f_minmaxs, f_minmaxd types.
From-SVN: r214959
Joost VandeVondele [Fri, 5 Sep 2014 13:40:05 +0000 (13:40 +0000)]
re PR fortran/62245 (gfortran miscompiles int() on mips)
PR fortran/62245
* intrinsic.texi (INT): clarify result.
From-SVN: r214958
Richard Biener [Fri, 5 Sep 2014 13:04:40 +0000 (13:04 +0000)]
cfgloop.c (mark_loop_for_removal): Record former header when ENABLE_CHECKING.
2014-09-05 Richard Biener <rguenther@suse.de>
* cfgloop.c (mark_loop_for_removal): Record former header
when ENABLE_CHECKING.
* cfgloop.h (strut loop): Add former_header member when
ENABLE_CHECKING.
* loop-init.c (fix_loop_structure): Sanity check loops
marked for removal if they re-appeared.
From-SVN: r214957
Marat Zakirov [Fri, 5 Sep 2014 13:04:21 +0000 (13:04 +0000)]
vect-109.c: Skip predicate added.
2014-09-05 Marat Zakirov <m.zakirov@samsung.com>
testsuite
* gcc.dg/vect/vect-109.c: Skip predicate added.
* gcc.dg/vect/vect-93.c: Test check fixed.
* gcc.dg/vect/bb-slp-10.c: Likewise.
* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
Check unaligned feature.
From-SVN: r214956
Joseph Myers [Fri, 5 Sep 2014 12:03:46 +0000 (13:03 +0100)]
Use -fbuilding-libgcc for more target macros used in libgcc.
gcc/c-family:
* c-cppbuiltin.c (c_cpp_builtins): Also define
__LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
__LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
__LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
__LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
__LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
__LIBGCC_STACK_GROWS_DOWNWARD__,
__LIBGCC_DONT_USE_BUILTIN_SETJMP__,
__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
__LIBGCC_DWARF_FRAME_REGISTERS__,
__LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
__LIBGCC_STACK_POINTER_REGNUM__ and
__LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
(builtin_define_with_value): Handle backslash-escaping in string
macro values.
libgcc:
* Makefile.in (CRTSTUFF_CFLAGS): Add -fbuilding-libgcc.
* config/aarch64/linux-unwind.h (STACK_POINTER_REGNUM): Change all
uses to __LIBGCC_STACK_POINTER_REGNUM__.
(DWARF_ALT_FRAME_RETURN_COLUMN): Change all uses to
__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
* config/alpha/vms-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN):
Change use to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
* config/cr16/unwind-cr16.c (STACK_GROWS_DOWNWARD): Change all
uses to __LIBGCC_STACK_GROWS_DOWNWARD__.
(DWARF_FRAME_REGISTERS): Change all uses to
__LIBGCC_DWARF_FRAME_REGISTERS__.
(EH_RETURN_STACKADJ_RTX): Change all uses to
__LIBGCC_EH_RETURN_STACKADJ_RTX__.
* config/cr16/unwind-dw2.h (DWARF_FRAME_REGISTERS): Change use to
__LIBGCC_DWARF_FRAME_REGISTERS__. Remove conditional definition.
* config/i386/cygming-crtbegin.c (EH_FRAME_SECTION_NAME): Change
use to __LIBGCC_EH_FRAME_SECTION_NAME__.
(JCR_SECTION_NAME): Change use to __LIBGCC_JCR_SECTION_NAME__.
* config/i386/cygming-crtend.c (EH_FRAME_SECTION_NAME): Change use
to __LIBGCC_EH_FRAME_SECTION_NAME__.
(JCR_SECTION_NAME): Change use to __LIBGCC_JCR_SECTION_NAME__
* config/mips/linux-unwind.h (STACK_POINTER_REGNUM): Change use to
__LIBGCC_STACK_POINTER_REGNUM__.
(DWARF_ALT_FRAME_RETURN_COLUMN): Change all uses to
__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
* config/nios2/linux-unwind.h (STACK_POINTER_REGNUM): Change use
to __LIBGCC_STACK_POINTER_REGNUM__.
* config/pa/hpux-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN): Change
all uses to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
* config/pa/linux-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN): Change
all uses to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
* config/rs6000/aix-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN):
Change all uses to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
(STACK_POINTER_REGNUM): Change all uses to
__LIBGCC_STACK_POINTER_REGNUM__.
* config/rs6000/darwin-fallback.c (STACK_POINTER_REGNUM): Change
use to __LIBGCC_STACK_POINTER_REGNUM__.
* config/rs6000/linux-unwind.h (STACK_POINTER_REGNUM): Change all
uses to __LIBGCC_STACK_POINTER_REGNUM__.
* config/sparc/linux-unwind.h (DWARF_FRAME_REGISTERS): Change use
to __LIBGCC_DWARF_FRAME_REGISTERS__.
* config/sparc/sol2-unwind.h (DWARF_FRAME_REGISTERS): Change use
to __LIBGCC_DWARF_FRAME_REGISTERS__.
* config/tilepro/linux-unwind.h (STACK_POINTER_REGNUM): Change use
to __LIBGCC_STACK_POINTER_REGNUM__.
* config/xtensa/unwind-dw2-xtensa.h (DWARF_FRAME_REGISTERS):
Remove conditional definition.
* crtstuff.c (TEXT_SECTION_ASM_OP): Change all uses to
__LIBGCC_TEXT_SECTION_ASM_OP__.
(EH_FRAME_SECTION_NAME): Change all uses to
__LIBGCC_EH_FRAME_SECTION_NAME__.
(EH_TABLES_CAN_BE_READ_ONLY): Change all uses to
__LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__.
(CTORS_SECTION_ASM_OP): Change all uses to
__LIBGCC_CTORS_SECTION_ASM_OP__.
(DTORS_SECTION_ASM_OP): Change all uses to
__LIBGCC_DTORS_SECTION_ASM_OP__.
(JCR_SECTION_NAME): Change all uses to
__LIBGCC_JCR_SECTION_NAME__.
(INIT_SECTION_ASM_OP): Change all uses to
__LIBGCC_INIT_SECTION_ASM_OP__.
(INIT_ARRAY_SECTION_ASM_OP): Change all uses to
__LIBGCC_INIT_ARRAY_SECTION_ASM_OP__.
* generic-morestack.c (STACK_GROWS_DOWNWARD): Change all uses to
__LIBGCC_STACK_GROWS_DOWNWARD__.
* libgcc2.c (INIT_SECTION_ASM_OP): Change all uses to
__LIBGCC_INIT_SECTION_ASM_OP__.
(INIT_ARRAY_SECTION_ASM_OP): Change all uses to
__LIBGCC_INIT_ARRAY_SECTION_ASM_OP__.
(EH_FRAME_SECTION_NAME): Change all uses to
__LIBGCC_EH_FRAME_SECTION_NAME__.
* libgcov-profiler.c (VTABLE_USES_DESCRIPTORS): Remove conditional
definitions. Change all uses to
__LIBGCC_VTABLE_USES_DESCRIPTORS__.
* unwind-dw2.c (STACK_GROWS_DOWNWARD): Change all uses to
__LIBGCC_STACK_GROWS_DOWNWARD__.
(DWARF_FRAME_REGISTERS): Change all uses to
__LIBGCC_DWARF_FRAME_REGISTERS__.
(EH_RETURN_STACKADJ_RTX): Change all uses to
__LIBGCC_EH_RETURN_STACKADJ_RTX__.
* unwind-dw2.h (DWARF_FRAME_REGISTERS): Remove conditional
definition. Change use to __LIBGCC_DWARF_FRAME_REGISTERS__.
* unwind-sjlj.c (DONT_USE_BUILTIN_SETJMP): Change all uses to
__LIBGCC_DONT_USE_BUILTIN_SETJMP__.
(JMP_BUF_SIZE): Change use to __LIBGCC_JMP_BUF_SIZE__.
From-SVN: r214954
Alan Lawrence [Fri, 5 Sep 2014 11:48:04 +0000 (11:48 +0000)]
[PATCH AArch64] Rename [u]int32x1_t to [u]int32_t (resp 16x1, 8x1) in arm_neon.h
gcc/:
* config/aarch64/arm_neon.h (int32x1_t, int16x1_t, int8x1_t,
uint32x1_t, uint16x1_t, uint8x1_t): Remove typedefs.
(vqabsb_s8, vqabsh_s16, vqabss_s32, vqaddb_s8, vqaddh_s16, vqadds_s32,
vqaddb_u8, vqaddh_u16, vqadds_u32, vqdmlalh_s16, vqdmlalh_lane_s16,
vqdmlals_s32, vqdmlslh_s16, vqdmlslh_lane_s16, vqdmlsls_s32,
vqdmulhh_s16, vqdmulhh_lane_s16, vqdmulhs_s32, vqdmulhs_lane_s32,
vqdmullh_s16, vqdmullh_lane_s16, vqdmulls_s32, vqdmulls_lane_s32,
vqmovnh_s16, vqmovns_s32, vqmovnd_s64, vqmovnh_u16, vqmovns_u32,
vqmovnd_u64, vqmovunh_s16, vqmovuns_s32, vqmovund_s64, vqnegb_s8,
vqnegh_s16, vqnegs_s32, vqrdmulhh_s16, vqrdmulhh_lane_s16,
vqrdmulhs_s32, vqrdmulhs_lane_s32, vqrshlb_s8, vqrshlh_s16,
vqrshls_s32, vqrshlb_u8, vqrshlh_u16, vqrshls_u32, vqrshrnh_n_s16,
vqrshrns_n_s32, vqrshrnd_n_s64, vqrshrnh_n_u16, vqrshrns_n_u32,
vqrshrnd_n_u64, vqrshrunh_n_s16, vqrshruns_n_s32, vqrshrund_n_s64,
vqshlb_s8, vqshlh_s16, vqshls_s32, vqshlb_u8, vqshlh_u16, vqshls_u32,
vqshlb_n_s8, vqshlh_n_s16, vqshls_n_s32, vqshlb_n_u8, vqshlh_n_u16,
vqshls_n_u32, vqshlub_n_s8, vqshluh_n_s16, vqshlus_n_s32,
vqshrnh_n_s16, vqshrns_n_s32, vqshrnd_n_s64, vqshrnh_n_u16,
vqshrns_n_u32, vqshrnd_n_u64, vqshrunh_n_s16, vqshruns_n_s32,
vqshrund_n_s64, vqsubb_s8, vqsubh_s16, vqsubs_s32, vqsubb_u8,
vqsubh_u16, vqsubs_u32, vsqaddb_u8, vsqaddh_u16, vsqadds_u32,
vuqaddb_s8, vuqaddh_s16, vuqadds_s32): Replace all int{32,16,8}x1_t
with int{32,16,8}_t.
gcc/testsuite/:
* gcc.target/aarch64/scalar_intrinsics.c (*): Replace all
int{32,16,8}x1_t with int{32,16,8}_t.
* gcc.target/aarch64/simd/vqdmlalh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlslh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmullh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Likewise.
From-SVN: r214953
Alan Lawrence [Fri, 5 Sep 2014 11:24:56 +0000 (11:24 +0000)]
[PATCH AArch64 2/2] Replace temporary inline assembler for vget_high
* config/aarch64/arm_neon.h (__GET_HIGH): New macro.
(vget_high_f32, vget_high_f64, vget_high_p8, vget_high_p16,
vget_high_s8, vget_high_s16, vget_high_s32, vget_high_s64,
vget_high_u8, vget_high_u16, vget_high_u32, vget_high_u64):
Remove temporary __asm__ and reimplement.
From-SVN: r214952
Alan Lawrence [Fri, 5 Sep 2014 11:13:47 +0000 (11:13 +0000)]
[PATCH AArch64 1/2] Add execution tests of vget_low and vget_high
* gcc.target/aarch64/vget_high_1.c: New test.
* gcc.target/aarch64/vget_low_1.c: Likewise.
From-SVN: r214950
Alan Lawrence [Fri, 5 Sep 2014 11:09:28 +0000 (11:09 +0000)]
[PATCH AArch64 2/2] Remove vector compare/tst __builtins
* config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): Remove code
handling cmge, cmgt, cmeq, cmtst.
* config/aarch64/aarch64-simd-builtins.def (cmeq, cmge, cmgt, cmle,
cmlt, cmgeu, cmgtu, cmtst): Remove.
* config/aarch64/arm_neon.h (vceq_*, vceqq_*, vceqz_*, vceqzq_*,
vcge_*, vcgeq_*, vcgez_*, vcgezq_*, vcgt_*, vcgtq_*, vcgtz_*,
vcgtzq_*, vcle_*, vcleq_*, vclez_*, vclezq_*, vclt_*, vcltq_*,
vcltz_*, vcltzq_*, vtst_*, vtstq_*): Use gcc vector extensions.
From-SVN: r214949
Alan Lawrence [Fri, 5 Sep 2014 10:50:04 +0000 (10:50 +0000)]
[PATCH AArch64 1/2] Improve codegen of vector compares inc. tst instruction
gcc/:
* config/aarch64/aarch64-builtins.c (aarch64_types_cmtst_qualifiers,
TYPES_TST): Define.
(aarch64_fold_builtin): Update pattern for cmtst.
* config/aarch64/aarch64-protos.h (aarch64_const_vec_all_same_int_p):
Declare.
* config/aarch64/aarch64-simd-builtins.def (cmtst): Update qualifiers.
* config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>):
Switch operands, separate out more cases, refactor.
(aarch64_cmtst<mode>): Rewrite pattern to match (plus ... -1).
* config/aarch64.c (aarch64_const_vec_all_same_int_p): Take single
argument; rename old version to...
(aarch64_const_vec_all_same_in_range_p): ...this.
(aarch64_print_operand, aarch64_simd_shift_imm_p): Follow renaming.
* config/aarch64/predicates.md (aarch64_simd_imm_minus_one): Define.
gcc/testsuite/:
* gcc.target/aarch64/simd/int_comparisons.x: New file.
* gcc.target/aarch64/simd/int_comparisons_1.c: New test.
* gcc.target/aarch64/simd/int_comparisons_2.c: Ditto.
From-SVN: r214948
Alan Lawrence [Fri, 5 Sep 2014 10:37:00 +0000 (10:37 +0000)]
[PATCH][AArch64] Tidy: remove unused qualifier_const_pointer
* config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
Remove qualifier_const_pointer, update comment.
From-SVN: r214947
Alan Lawrence [Fri, 5 Sep 2014 10:32:09 +0000 (10:32 +0000)]
[PATCH][AArch64] One-liner: fix type of an add in SIMD registers
* config/aarch64/aarch64.md (adddi3_aarch64): set type to neon_add.
From-SVN: r214946
Alan Lawrence [Fri, 5 Sep 2014 10:21:46 +0000 (10:21 +0000)]
[PATCH AArch64] Remove varargs from aarch64_simd_expand_args
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Replace
varargs with pointer parameter.
(aarch64_simd_expand_builtin): pass pointer into previous.
From-SVN: r214945
Kyrylo Tkachov [Fri, 5 Sep 2014 10:14:01 +0000 (10:14 +0000)]
[ARM/AArch64] Schedule alu_ext for Cortex-A53.
* config/arm/cortex-a53.md (cortex_a53_alu_shift): Add alu_ext,
alus_ext.
From-SVN: r214944
Alan Lawrence [Fri, 5 Sep 2014 09:58:21 +0000 (09:58 +0000)]
[PATCH AArch64] Add a builtin for rbit(q?)_p8; add intrinsics and tests.
gcc/:
* config/aarch64/aarch64-simd.md (aarch64_rbit<mode>): New pattern.
* config/aarch64/aarch64-simd-builtins.def (rbit): New builtin.
* config/aarch64/arm_neon.h (vrbit_s8, vrbit_u8, vrbitq_s8, vrbitq_u8):
Replace temporary asm with call to builtin.
(vrbit_p8, vrbitq_p8): New functions.
gcc/testsuite/:
* gcc.target/aarch64/simd/vrbit_1.c: New test.
From-SVN: r214943
Richard Biener [Fri, 5 Sep 2014 09:17:49 +0000 (09:17 +0000)]
cfgloop.c (mark_loop_for_removal): New function.
2014-09-05 Richard Biener <rguenther@suse.de>
* cfgloop.c (mark_loop_for_removal): New function.
* cfgloop.h (mark_loop_for_removal): Declare.
* cfghooks.c (delete_basic_block): Use mark_loop_for_removal.
(merge_blocks): Likewise.
(duplicate_block): Likewise.
* except.c (sjlj_emit_dispatch_table): Likewise.
* tree-eh.c (cleanup_empty_eh_merge_phis): Likewise.
* tree-ssa-threadupdate.c (ssa_redirect_edges): Likewise.
(thread_through_loop_header): Likewise.
From-SVN: r214942
Richard Biener [Fri, 5 Sep 2014 08:23:32 +0000 (08:23 +0000)]
re PR tree-optimization/63148 (r187042 causes auto-vectorization failure for X86 for -m32.)
2014-09-05 Richard Biener <rguenther@suse.de>
PR middle-end/63148
* fold-const.c (try_move_mult_to_index): Remove.
(fold_binary_loc): Do not call it.
* tree-data-ref.c (dr_analyze_indices): Strip conversions
from the base object again.
c-family/
* c-format.c (check_format_arg): Properly handle
effectively signed POINTER_PLUS_EXPR offset.
* gcc.dg/vect/pr63148.c: New testcase.
* c-c++-common/pr19807-1.c: Likewise.
* g++.dg/tree-ssa/pr19807.C: Adjust.
* g++.dg/tree-ssa/tmmti-2.C: Remove.
From-SVN: r214941
James Greenhalgh [Fri, 5 Sep 2014 08:19:12 +0000 (08:19 +0000)]
[AArch64 Obvious] Add a mode to operand 1 of sibcall_value_insn
gcc/
* config/aarch64/aarch64.md (sibcall_value_insn): Give operand 1
a mode.
From-SVN: r214940
Joey Ye [Fri, 5 Sep 2014 06:52:17 +0000 (06:52 +0000)]
re PR plugins/59335 (Plugin doesn't build on trunk)
2014-09-05 Joey Ye <joey.ye@arm.com>
PR plugin/59335
* Makefile.in (PLUGIN_HEADERS): Add wide-int.h, signop.h, hash-map.h,
From-SVN: r214938
Bin Cheng [Fri, 5 Sep 2014 03:45:57 +0000 (03:45 +0000)]
re PR target/55701 (Inline some instances of memset for ARM)
PR target/55701
* config/arm/arm.md (setmem): New pattern.
* config/arm/arm-protos.h (struct tune_params): New fields.
(arm_gen_setmem): New prototype.
* config/arm/arm.c (arm_slowmul_tune): Initialize new fields.
(arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
(arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
(arm_cortex_a8_tune, arm_cortex_a7_tune): Ditto.
(arm_cortex_a15_tune, arm_cortex_a53_tune): Ditto.
(arm_cortex_a57_tune, arm_cortex_a5_tune): Ditto.
(arm_cortex_a9_tune, arm_cortex_a12_tune): Ditto.
(arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
(arm_const_inline_cost): New function.
(arm_block_set_max_insns): New function.
(arm_block_set_non_vect_profit_p): New function.
(arm_block_set_vect_profit_p): New function.
(arm_block_set_unaligned_vect): New function.
(arm_block_set_aligned_vect): New function.
(arm_block_set_unaligned_non_vect): New function.
(arm_block_set_aligned_non_vect): New function.
(arm_block_set_vect, arm_gen_setmem): New functions.
testsuite
* gcc.target/arm/memset-inline-1.c: New test.
* gcc.target/arm/memset-inline-2.c: New test.
* gcc.target/arm/memset-inline-3.c: New test.
* gcc.target/arm/memset-inline-4.c: New test.
* gcc.target/arm/memset-inline-5.c: New test.
* gcc.target/arm/memset-inline-6.c: New test.
* gcc.target/arm/memset-inline-7.c: New test.
* gcc.target/arm/memset-inline-8.c: New test.
* gcc.target/arm/memset-inline-9.c: New test.
* gcc.target/arm/memset-inline-10.c: New test.
From-SVN: r214937
Bin Cheng [Fri, 5 Sep 2014 03:33:38 +0000 (03:33 +0000)]
arm.md (arm_movqi_insn): Use Uh instead of m constraint.
* config/arm/arm.md (arm_movqi_insn): Use Uh instead of m constraint.
From-SVN: r214936
Bin Cheng [Fri, 5 Sep 2014 03:31:29 +0000 (03:31 +0000)]
arm.c (output_move_neon): Handle REG explicitly.
* config/arm/arm.c (output_move_neon): Handle REG explicitly.
From-SVN: r214935
Trevor Saunders [Fri, 5 Sep 2014 02:32:00 +0000 (02:32 +0000)]
make dead_debug_insert_temp take an rtx_insn *
gcc/ChangeLog:
2014-09-04 Trevor Saunders <tsaunders@mozilla.com>
* valtrack.c (dead_debug_insert_temp): Take an rtx_insn * instead of
an rtx.
* valtrack.h: Adjust.
From-SVN: r214934
Trevor Saunders [Fri, 5 Sep 2014 02:31:40 +0000 (02:31 +0000)]
make several emit functions take an rtx_insn *
gcc/ChangeLog:
2014-09-04 Trevor Saunders <tsaunders@mozilla.com>
* emit-rtl.c (emit_insn_before_noloc): Take an rtx_insn * instead of
an rtx.
(emit_jump_insn_before_noloc): Likewise.
(emit_call_insn_before_noloc): Likewise.
(emit_label_before): Likewise.
(emit_label_after): Likewise.
(emit_insn_before_setloc): Likewise.
(emit_jump_insn_before_setloc): Likewise.
(emit_call_insn_before_setloc): Likewise.
(emit_call_insn_before): Likewise.
* rtl.h: Adjust.
From-SVN: r214933
David Malcolm [Fri, 5 Sep 2014 01:32:23 +0000 (01:32 +0000)]
Remove a cast in cse.c
gcc/
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* cse.c (cse_insn): Strengthen local "new_rtx" from rtx to
rtx_insn *, eliminating a checked cast.
From-SVN: r214932
David Malcolm [Fri, 5 Sep 2014 01:24:47 +0000 (01:24 +0000)]
Params to modified_between_p
gcc/
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* rtl.h (modified_between_p): Strengthen params 2 and 3 from
const_rtx to const rtx_insn *.
* rtlanal.c (modified_between_p): Likewise, eliminating a checked
cast.
From-SVN: r214931
David Malcolm [Fri, 5 Sep 2014 01:14:41 +0000 (01:14 +0000)]
fixup_args_size_notes takes a pair of rtx_insn
gcc/
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* emit-rtl.c (try_split): Update NULL_RTX to NULL in call to
fixup_args_size_notes.
* expr.c (fixup_args_size_notes): Strengthen first two params from
rtx to rtx_insn *, eliminating a checked cast.
* rtl.h (fixup_args_size_notes): Strengthen first two params from
rtx to rtx_insn *.
From-SVN: r214930
David Malcolm [Fri, 5 Sep 2014 01:06:19 +0000 (01:06 +0000)]
Return type of get_ready_element
gcc/
2014-09-05 David Malcolm <dmalcolm@redhat.com>
* haifa-sched.c (get_ready_element): Strengthen return type from
rtx to rtx_insn *.
* sched-int.h (get_ready_element): Likewise.
From-SVN: r214929
Kaz Kojima [Fri, 5 Sep 2014 00:20:33 +0000 (00:20 +0000)]
Remove dg-options for sh*-*-* from gcc.c-torture/execute/pr44683.c.
From-SVN: r214928
GCC Administrator [Fri, 5 Sep 2014 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r214927
Segher Boessenkool [Thu, 4 Sep 2014 22:53:01 +0000 (00:53 +0200)]
re PR target/63165 (r214816 breaks Java build and 435.gromacs)
2014-09-04 Segher Boessenkool <segher@kernel.crashing.org>
PR target/63165
* config/rs6000/rs6000.md (floatsi<mode>2_lfiwax_mem): Use
indexed_or_indirect_operand instead of memory_operand.
(floatsi<mode>2_lfiwzx_mem): Ditto.
From-SVN: r214924
Trevor Saunders [Thu, 4 Sep 2014 21:11:34 +0000 (21:11 +0000)]
use rtx_insn * a little more
gcc/ChangeLog:
2014-09-04 Trevor Saunders <tsaunders@mozilla.com>
* config/bfin/bfin.c, config/c6x/c6x.c, config/m32c/m32c.c,
config/mn10300/mn10300.c, config/s390/s390.c, config/sh/sh.c,
ifcvt.c, reorg.c: Change types of variables from rtx to rtx_insn *.
From-SVN: r214923
Trevor Saunders [Thu, 4 Sep 2014 21:11:23 +0000 (21:11 +0000)]
Change the types of arguments and return values for several functions from rtx to rtx_insn *
gcc/ChangeLog:
2014-09-04 Trevor Saunders <tsaunders@mozilla.com>
* emit-rtl.c (get_first_nonnote_insn): Return rtx_insn * instead of
rtx.
(get_last_nonnote_insn): Likewise.
(next_nonnote_insn_bb): Take rtx_insn * instead of rtx.
* resource.c (find_basic_block): Likewise.
* rtl.h: Adjust.
* rtlanal.c (keep_with_call_p): Take const rtx_insn * instead of
const_rtx.
From-SVN: r214922
David Malcolm [Thu, 4 Sep 2014 20:56:16 +0000 (20:56 +0000)]
insn_latency takes a pair of rtx_insn
gcc/
2014-09-04 David Malcolm <dmalcolm@redhat.com>
* genattr.c (main): Within the prototype of insn_latency written
out to insn-attr.h, strengthen both params from rtx to rtx_insn *.
* genautomata.c (output_internal_maximal_insn_latency_func):
Within the implementation of insn_latency written out to
insn-automata.c, strengthen both params from rtx to rtx_insn *,
eliminating a pair of checked casts.
From-SVN: r214921
David Malcolm [Thu, 4 Sep 2014 20:34:36 +0000 (20:34 +0000)]
eh_returnjump_p takes an rtx_insn
2014-09-04 David Malcolm <dmalcolm@redhat.com>
gcc/
* jump.c (eh_returnjump_p): Strengthen param "insn" from rtx to
rtx_insn *.
* rtl.h (eh_returnjump_p): Likewise.
From-SVN: r214919
Aldy Hernandez [Thu, 4 Sep 2014 19:19:46 +0000 (19:19 +0000)]
* Makefile.in (TAGS): Handle constructs in timevar.def.
From-SVN: r214918
Aldy Hernandez [Thu, 4 Sep 2014 18:22:13 +0000 (18:22 +0000)]
Revert mistakenly committed change.
From-SVN: r214917
Aldy Hernandez [Thu, 4 Sep 2014 18:08:47 +0000 (18:08 +0000)]
Remove file that was mistakenly added.
From-SVN: r214916
Aldy Hernandez [Thu, 4 Sep 2014 18:08:42 +0000 (18:08 +0000)]
Merge remote-tracking branch 'origin/aldyh/debug-early' into debug-early
Conflicts:
gcc/ChangeLog.debug-early
gcc/dwarf2out.c
From-SVN: r214915
Aldy Hernandez [Thu, 4 Sep 2014 18:04:14 +0000 (18:04 +0000)]
Revert incorrect merging of debug-early branch.
From-SVN: r214914
Aldy Hernandez [Thu, 4 Sep 2014 16:38:29 +0000 (16:38 +0000)]
Merge remote-tracking branch 'origin/aldyh/debug-early' into debug-early
Conflicts:
gcc/ChangeLog.debug-early
gcc/dwarf2out.c
From-SVN: r214912
Aldy Hernandez [Thu, 4 Sep 2014 16:38:21 +0000 (16:38 +0000)]
+ * c/c-decl.c (write_global_declarations_1): Call global_decl() + with early=true.
+ * c/c-decl.c (write_global_declarations_1): Call global_decl()
+ with early=true.
+ (write_global_declarations_2): Call global_decl() with
+ early=false.
+ * dbxout.c (dbxout_global_decl): New argument.
+ * debug.c (do_nothing_debug_hooks): Use debug_nothing_tree_bool
+ for global_decl hook.
+ (debug_nothing_tree_bool): New.
+ (struct gcc_debug_hooks): New argument to global_decl.
+ * dwarf2out.c (output_die): Add misc debugging information.
+ (gen_variable_die): Do not reparent children.
+ (dwarf2out_global_decl): Add new documentation. Add EARLY
+ argument.
+ (dwarf2out_decl): Make sure we don't generate new DIEs if we
+ already have a DIE.
+ * cp/name-lookup.c (do_namespace_alias): New argument to
+ global_decl debug hook.
+ * fortran/trans-decl.c (gfc_emit_parameter_debug_info): Same.
+ * godump.c (go_global_decl): Same.
+ * lto/lto-lang.c (lto_write_globals): Same.
+ * sdbout.c (sdbout_global_decl): Same.
+ * toplev.c (emit_debug_global_declarations): Same.
+ * vmsdbgout.c (vmsdbgout_global_decl): Same.
+ * tree.c (free_lang_data_in_decl): Do not call
+ dwarf2out_early_decl from here.
From-SVN: r214911
Aldy Hernandez [Thu, 4 Sep 2014 16:38:11 +0000 (16:38 +0000)]
Add missing ChangeLog entries for last commit.
From-SVN: r214910
Aldy Hernandez [Thu, 4 Sep 2014 16:38:04 +0000 (16:38 +0000)]
dwarf2out.c (struct die_struct): Add dumped_early field.
* dwarf2out.c (struct die_struct): Add dumped_early field.
(reparent_child): New.
(splice_child_die): Use reparent_child.
(gen_subprogram_die): Do not regenerate parameters if previously
dumped.
(gen_variable_die): Fix parent of decls that have been dumped
early to reflect correct context.
Do not regenerate decls if previously dumped.
(dwarf2out_decl): Add return value.
(dwarf2out_early_decl): Set dumped_early bit.
From-SVN: r214909
Aldy Hernandez [Thu, 4 Sep 2014 16:37:54 +0000 (16:37 +0000)]
Make output_die() output the parent DIE for each DIE.
From-SVN: r214908
Aldy Hernandez [Thu, 4 Sep 2014 16:37:45 +0000 (16:37 +0000)]
Make gen_formal_parameter_die() merge DIEs from a previous execution.
Do not set DW_AT_inline incorrectly on all functions.
Do not remove formal parameters when a previous DIE has been found.
Instead, augment the missing bits later.
From-SVN: r214907
Aldy Hernandez [Thu, 4 Sep 2014 16:37:36 +0000 (16:37 +0000)]
dearly: Emit DIEs for decls early in the compilation process.
This is the original patch from Michael Matz, ported to a more recent
mainline.
From-SVN: r214906
Guozhi Wei [Thu, 4 Sep 2014 16:06:13 +0000 (16:06 +0000)]
re PR target/62040 (internal compiler error: in simplify_const_unary_operation, at simplify-rtx.c:1555)
PR target/62040
* config/aarch64/iterators.md (VQ_NO2E, VQ_2E): New iterators.
* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Split
it into two patterns.
(move_lo_quad_internal_be_<mode>): Likewise.
* gcc.target/aarch64/pr62040.c: New test.
From-SVN: r214905
Manuel López-Ibáñez [Thu, 4 Sep 2014 15:13:40 +0000 (15:13 +0000)]
options.texi: Document that Var and Init are required if CPP is given.
gcc/ChangeLog:
2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
* doc/options.texi: Document that Var and Init are required if CPP
is given.
* optc-gen.awk: Require Var and Init if CPP is given.
* common.opt (Wpedantic): Use Init.
libcpp/ChangeLog:
2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
* macro.c (replace_args): Use cpp_pedwarning, cpp_warning and
CPP_W flags.
* include/cpplib.h: Add CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
* init.c (cpp_create_reader): Do not init to -1 here.
* expr.c (num_binary_op): Use cpp_pedwarning.
gcc/c-family/ChangeLog:
2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
(Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
and Init.
* c-opts.c (c_common_handle_option): Do not handle here.
(sanitize_cpp_opts): Likewise.
* c-common.c (struct reason_option_codes_t): Handle
CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
gcc/testsuite/ChangeLog:
2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gcc.dg/cpp/endif-pedantic2.c: More general options do not
override specific ones, but specific ones do.
From-SVN: r214904
Bill Schmidt [Thu, 4 Sep 2014 14:31:34 +0000 (14:31 +0000)]
rs6000.c (special_handling_values): Add SH_EXTRACT.
[gcc]
2014-09-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (special_handling_values): Add
SH_EXTRACT.
(rtx_is_swappable_p): Look for patterns with a VEC_SELECT, perhaps
wrapped in a VEC_DUPLICATE, representing an extract. Mark these
as swappable with special handling SH_EXTRACT. Remove
UNSPEC_VSX_XXSPLTW from the list of disallowed unspecs for the
optimization.
(adjust_extract): New function.
(handle_special_swappables): Add default to case statement; add
case for SH_EXTRACT that calls adjust_extract.
(dump_swap_insn_table): Handle SH_EXTRACT.
[gcc/testsuite]
2014-09-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/swaps-p8-13.c: New test.
* gcc.target/powerpc/swaps-p8-14.c: New test.
* gcc.target/powerpc/swaps-p8-15.c: New test.
From-SVN: r214903
Bill Schmidt [Thu, 4 Sep 2014 14:27:45 +0000 (14:27 +0000)]
vsx.md (*vsx_extract_<mode>_load): Always match selection of 0th memory doubleword, regardless of endianness.
[gcc]
2014-09-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vsx.md (*vsx_extract_<mode>_load): Always match
selection of 0th memory doubleword, regardless of endianness.
[gcc/testsuite]
2014-09-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vsx-extract-1.c: Test 0th doubleword
regardless of endianness.
From-SVN: r214902
Jan-Benedict Glaw [Thu, 4 Sep 2014 13:22:53 +0000 (13:22 +0000)]
rx.h (HARD_REGNO_MODE_OK): Add braces.
2014-09-04 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/rx/rx.h (HARD_REGNO_MODE_OK): Add braces.
From-SVN: r214901
Markus Trippelsdorf [Thu, 4 Sep 2014 12:37:05 +0000 (12:37 +0000)]
re PR ipa/61659 (Extra undefined symbol because of devirtualization)
PR ipa/61659
* decl.c (duplicate_decls): Check DECL_DECLARED_INLINE_P on
newdecl, not olddecl.
From-SVN: r214900
Alan Modra [Thu, 4 Sep 2014 12:18:25 +0000 (21:48 +0930)]
re PR debug/60655 (ICE: output_operand: invalid expression as operand)
PR debug/60655
* dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
can't be output.
From-SVN: r214899
Matthew Fortune [Thu, 4 Sep 2014 08:32:05 +0000 (08:32 +0000)]
Add target hook to override DWARF2 frame register size
gcc/
* target.def (TARGET_DWARF_FRAME_REG_MODE): New target hook.
* targhooks.c (default_dwarf_frame_reg_mode): New function.
* targhooks.h (default_dwarf_frame_reg_mode): New prototype.
* doc/tm.texi.in (TARGET_DWARF_FRAME_REG_MODE): Document.
* doc/tm.texi: Regenerate.
* dwarf2cfi.c (expand_builtin_init_dwarf_reg_sizes): Abstract mode
selection logic to default_dwarf_frame_reg_mode.
From-SVN: r214898
GCC Administrator [Thu, 4 Sep 2014 00:17:00 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r214897
Chris Manghane [Wed, 3 Sep 2014 22:56:09 +0000 (22:56 +0000)]
compiler: Add precise type information on the heap.
* go-gcc.cc (Gcc_backend::implicit_variable): Remove init
parameter. Add is_hidden parameter.
(Gcc_backend::implicit_variable_set_init): New method.
(Gcc_backend::implicit_variable_reference): New method.
From-SVN: r214894
Marek Polacek [Wed, 3 Sep 2014 20:37:33 +0000 (20:37 +0000)]
invoke.texi: Document that -Wlogical-not-parentheses is enabled by -Wall.
* doc/invoke.texi: Document that -Wlogical-not-parentheses is enabled
by -Wall.
c-family/
* c.opt (Wlogical-not-parentheses): Enable by -Wall.
From-SVN: r214893
Fritz Reese [Wed, 3 Sep 2014 18:50:27 +0000 (18:50 +0000)]
[multiple changes]
2014-09-03 Fritz Reese <Reese-Fritz@zai.com>
PR fortran/62174
* decl.c (variable_decl): Don't overwrite typespecs of Cray
* pointees
when matching a component declaration.
2014-09-02 Fritz Reese <Reese-Fritz@zai.com>
PR fortran/62174
* gfortran.dg/cray_pointers_11.f90: New.
From-SVN: r214891
Richard Sandiford [Wed, 3 Sep 2014 18:43:29 +0000 (18:43 +0000)]
rtl.texi (RTX_AUTOINC): Document that the first operand is the automodified register.
gcc/
* doc/rtl.texi (RTX_AUTOINC): Document that the first operand is
the automodified register.
From-SVN: r214890
Richard Sandiford [Wed, 3 Sep 2014 18:36:10 +0000 (18:36 +0000)]
output.h (get_some_local_dynamic_name): Declare.
gcc/
* output.h (get_some_local_dynamic_name): Declare.
* final.c (some_local_dynamic_name): New variable.
(get_some_local_dynamic_name): New function.
(final_end_function): Clear some_local_dynamic_name.
* config/alpha/alpha.c (machine_function): Remove some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.
(print_operand): Report an error if '%&' is used inappropriately.
* config/i386/i386.c (get_some_local_dynamic_name): Delete.
(get_some_local_dynamic_name_1): Delete.
* config/rs6000/rs6000.c (machine_function): Remove some_ld_name.
(rs6000_get_some_local_dynamic_name): Delete.
(rs6000_get_some_local_dynamic_name_1): Delete.
(print_operand): Report an error if '%&' is used inappropriately.
* config/s390/s390.c (machine_function): Remove some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.
(print_operand): Assert that get_some_local_dynamic_name is nonnull.
* config/sparc/sparc.c: Include rtl-iter.h.
(machine_function): Remove some_ld_name.
(sparc_print_operand): Report an error if '%&' is used inappropriately.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.
From-SVN: r214889
Richard Henderson [Wed, 3 Sep 2014 17:00:31 +0000 (10:00 -0700)]
aarch64: Improve epilogue unwind info
* config/aarch64/aarch64.c (aarch64_popwb_single_reg): Remove.
(aarch64_popwb_pair_reg): Remove.
(aarch64_set_frame_expr): Remove.
(aarch64_restore_callee_saves): Add CFI_OPS argument; fill it with
the restore ops performed by the insns generated.
(aarch64_expand_epilogue): Attach CFI_OPS to the stack deallocation
insn. Perform the calls_eh_return addition later; do not attempt to
preserve the CFA in that case. Don't use aarch64_set_frame_expr.
(aarch64_expand_prologue): Use REG_CFA_ADJUST_CFA directly, or no
special markup at all. Load cfun->machine->frame.hard_fp_offset
into a local variable.
(aarch64_frame_pointer_required): Don't check calls_alloca.
From-SVN: r214886
Richard Biener [Wed, 3 Sep 2014 14:28:20 +0000 (14:28 +0000)]
opts.c (default_options_optimization): Adjust max-combine-insns to 2 for -Og.
2014-09-03 Richard Biener <rguenther@suse.de>
* opts.c (default_options_optimization): Adjust
max-combine-insns to 2 for -Og.
From-SVN: r214879
Martin Jambor [Wed, 3 Sep 2014 14:26:38 +0000 (16:26 +0200)]
re PR ipa/62015 (ipa-cp-clone uses a clone that is too specialized for the call context)
2014-09-03 Martin Jambor <mjambor@suse.cz>
PR ipa/62015
* ipa-cp.c (intersect_aggregates_with_edge): Handle impermissible
pass-trough jump functions correctly.
testsuite/
* g++.dg/ipa/pr62015.C: New test.
From-SVN: r214878
Martin Jambor [Wed, 3 Sep 2014 14:16:54 +0000 (16:16 +0200)]
re PR ipa/61986 (ICE on valid code at -O3 on x86_64-linux-gnu indecide_about_value, at ipa-cp.c:3480)
2014-09-03 Martin Jambor <mjambor@suse.cz>
PR ipa/61986
* ipa-cp.c (find_aggregate_values_for_callers_subset): Chain
created replacements in ascending order of offsets.
(known_aggs_to_agg_replacement_list): Likewise.
gcc/testsuite/
* gcc.dg/ipa/pr61986.c: New test.
From-SVN: r214877
Marek Polacek [Wed, 3 Sep 2014 13:20:43 +0000 (13:20 +0000)]
re PR c/62294 (Missing "passing argument [...] from incompatible pointer type" warning.)
PR c/62294
* gcc.dg/pr62294.c: New test.
* gcc.dg/pr62294.h: New file.
From-SVN: r214876
Martin Liska [Wed, 3 Sep 2014 12:42:01 +0000 (14:42 +0200)]
Fix for tree-ssa-pre
* tree-ssa-sccvn.c (vn_reference_lookup_call): default (NULL) value
is set to preserve uninitialized value for vnresult.
From-SVN: r214873
Kaz Kojima [Wed, 3 Sep 2014 12:27:52 +0000 (12:27 +0000)]
pr39228.c: Use dg-add-options instead of dg-options.
* gcc.c-torture/execute/pr39228.c: Use dg-add-options instead
of dg-options. Add "inline" keyword to test functions.
From-SVN: r214872
Marek Polacek [Wed, 3 Sep 2014 11:16:29 +0000 (11:16 +0000)]
re PR c/62024 (__atomic_always_lock_free is not a constant expression)
PR c/62024
* c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
conversions.
* g++.dg/cpp0x/pr62024.C: New test.
* gcc.dg/pr62024.c: New test.
From-SVN: r214871
Chung-Ju Wu [Wed, 3 Sep 2014 10:19:39 +0000 (10:19 +0000)]
[NDS32] No need to take padding into consideration in Andes ABI2 because we can...
[NDS32] No need to take padding into consideration in Andes ABI2 because
we can pass arguments in registers for variadic function.
-- By default GCC uses must_pass_in_stack_var_size_or_pad for TARGET_MUST_PASS_IN_STACK.
For Andes ABI2, the data layout in memory will be incorrect when calling variadic function
under big-endian configuration.
* config/nds32/nds32.c (nds32_must_pass_in_stack): New implementation
for TARGET_MUST_PASS_IN_STACK.
From-SVN: r214869
Chung-Ju Wu [Wed, 3 Sep 2014 10:15:06 +0000 (10:15 +0000)]
[NDS32] Provide TARGET_ARG_PARTIAL_BYTES so that we can have structure argument
partially in registers and stack.
-- This is needed if we would like to pass variadic arguments via registers
that are pused on the stack by callee. So that va_arg() can access
arguments continously in memory.
* config/nds32/nds32.c (nds32_arg_partial_bytes): New implementation
for TARGET_ARG_PARTIAL_BYTES.
From-SVN: r214868
Chung-Ju Wu [Wed, 3 Sep 2014 10:09:14 +0000 (10:09 +0000)]
[NDS32] Emit stack push instructions for varargs at prologue stage and emit...
[NDS32] Emit stack push instructions for varargs at prologue stage and
emit stack adjustment instructions for varargs at epilogue stage.
-- Note that we do not need to handle it in v3push/v3pop prologue/epilogue
expanding because we do not apply v3push/v3pop for variadic function.
* config/nds32/nds32.c (nds32_expand_prologue): Emit stack push
instructions for varargs implementation.
(nds32_expand_epilogue): Emit stack adjustment instructions for
varargs implementation.
From-SVN: r214867