platform/upstream/linaro-gcc.git
10 years ago PR c++/62659
jason [Fri, 5 Sep 2014 17:59:40 +0000 (17:59 +0000)]
PR c++/62659
* semantics.c (potential_constant_expression_1): Handle un-folded
pointer to member constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214974 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoruntime: Use the clone system call on GNU/Linux.
ian [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214972 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUse rtx_insn for various jump-handling functions and predicates
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214970 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSimplification within reorg.c
dmalcolm [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".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214969 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUse rtx_insn_list within haifa-sched.c
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214968 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUse rtx_insn for more scheduler things, plus CONST_CAST_RTX_INSN
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214967 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUse rtx_insn more within peep2
dmalcolm [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".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214966 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoruntime: Use correct size for unsafe.Pointer GC instructions.
ian [Fri, 5 Sep 2014 14:43:24 +0000 (14:43 +0000)]
runtime: Use correct size for unsafe.Pointer GC instructions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214965 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoConvert set_block_for_insn from a macro to an inline function
dmalcolm [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 *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214963 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate the checked cast from get_call_reg_set_usage
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214962 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDrop uncast_insn from param 1 of final_scan_insn
dmalcolm [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".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214961 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUse rtx_jump_table_data in jump.c:delete_related_insns
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214960 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[ARM/AArch64] Add scheduling info for ARMv8-A FPU new instructions in Cortex-A53.
ktkachov [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214959 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR fortran/62245
vondele [Fri, 5 Sep 2014 13:40:05 +0000 (13:40 +0000)]
    PR fortran/62245
        * intrinsic.texi (INT): clarify result.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214958 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-05 Richard Biener <rguenther@suse.de>
rguenth [Fri, 5 Sep 2014 13:04:40 +0000 (13:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214957 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-05 Marat Zakirov <m.zakirov@samsung.com>
mzakirov [Fri, 5 Sep 2014 13:04:21 +0000 (13:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214956 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUse -fbuilding-libgcc for more target macros used in libgcc.
jsm28 [Fri, 5 Sep 2014 12:03:46 +0000 (12:03 +0000)]
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__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214954 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[PATCH AArch64] Rename [u]int32x1_t to [u]int32_t (resp 16x1, 8x1) in arm_neon.h
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214953 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[PATCH AArch64 2/2] Replace temporary inline assembler for vget_high
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214952 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[PATCH AArch64 1/2] Add execution tests of vget_low and vget_high
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214950 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[PATCH AArch64 2/2] Remove vector compare/tst __builtins
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214949 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[PATCH AArch64 1/2] Improve codegen of vector compares inc. tst instruction
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214948 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[PATCH][AArch64] Tidy: remove unused qualifier_const_pointer
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214947 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[PATCH][AArch64] One-liner: fix type of an add in SIMD registers
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214946 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[PATCH AArch64] Remove varargs from aarch64_simd_expand_args
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214945 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[ARM/AArch64] Schedule alu_ext for Cortex-A53.
ktkachov [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214944 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[PATCH AArch64] Add a builtin for rbit(q?)_p8; add intrinsics and tests.
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214943 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-05 Richard Biener <rguenther@suse.de>
rguenth [Fri, 5 Sep 2014 09:17:49 +0000 (09:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214942 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-05 Richard Biener <rguenther@suse.de>
rguenth [Fri, 5 Sep 2014 08:23:32 +0000 (08:23 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214941 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[AArch64 Obvious] Add a mode to operand 1 of sibcall_value_insn
jgreenhalgh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214940 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-05 Joey Ye <joey.ye@arm.com>
jye2 [Fri, 5 Sep 2014 06:52:17 +0000 (06:52 +0000)]
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,

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214938 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/55701
amker [Fri, 5 Sep 2014 03:45:57 +0000 (03:45 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214937 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/arm/arm.md (arm_movqi_insn): Use Uh instead of m constraint.
amker [Fri, 5 Sep 2014 03:33:38 +0000 (03:33 +0000)]
* config/arm/arm.md (arm_movqi_insn): Use Uh instead of m constraint.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214936 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/arm/arm.c (output_move_neon): Handle REG explicitly.
amker [Fri, 5 Sep 2014 03:31:29 +0000 (03:31 +0000)]
* config/arm/arm.c (output_move_neon): Handle REG explicitly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214935 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agomake dead_debug_insert_temp take an rtx_insn *
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214934 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agomake several emit functions take an rtx_insn *
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214933 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove a cast in cse.c
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214932 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoParams to modified_between_p
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214931 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agofixup_args_size_notes takes a pair of rtx_insn
dmalcolm [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 *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214930 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoReturn type of get_ready_element
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214929 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove dg-options for sh*-*-* from gcc.c-torture/execute/pr44683.c.
kkojima [Fri, 5 Sep 2014 00:20:33 +0000 (00:20 +0000)]
Remove dg-options for sh*-*-* from gcc.c-torture/execute/pr44683.c.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214928 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Fri, 5 Sep 2014 00:17:08 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214927 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-04 Segher Boessenkool <segher@kernel.crashing.org>
segher [Thu, 4 Sep 2014 22:53:01 +0000 (22:53 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214924 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agouse rtx_insn * a little more
tbsaunde [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 *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214923 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoChange the types of arguments and return values for several functions from rtx to...
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214922 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoinsn_latency takes a pair of rtx_insn
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214921 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoeh_returnjump_p takes an rtx_insn
dmalcolm [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214919 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * Makefile.in (TAGS): Handle constructs in timevar.def.
aldyh [Thu, 4 Sep 2014 19:19:46 +0000 (19:19 +0000)]
* Makefile.in (TAGS): Handle constructs in timevar.def.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214918 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRevert mistakenly committed change.
aldyh [Thu, 4 Sep 2014 18:22:13 +0000 (18:22 +0000)]
Revert mistakenly committed change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214917 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove file that was mistakenly added.
aldyh [Thu, 4 Sep 2014 18:08:47 +0000 (18:08 +0000)]
Remove file that was mistakenly added.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214916 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoMerge remote-tracking branch 'origin/aldyh/debug-early' into debug-early
aldyh [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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214915 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRevert incorrect merging of debug-early branch.
aldyh [Thu, 4 Sep 2014 18:04:14 +0000 (18:04 +0000)]
Revert incorrect merging of debug-early branch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214914 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoMerge remote-tracking branch 'origin/aldyh/debug-early' into debug-early
aldyh [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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214912 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago+ * c/c-decl.c (write_global_declarations_1): Call global_decl()
aldyh [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.
+       (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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214911 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd missing ChangeLog entries for last commit.
aldyh [Thu, 4 Sep 2014 16:38:11 +0000 (16:38 +0000)]
Add missing ChangeLog entries for last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214910 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * dwarf2out.c (struct die_struct): Add dumped_early field.
aldyh [Thu, 4 Sep 2014 16:38:04 +0000 (16:38 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214909 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoMake output_die() output the parent DIE for each DIE.
aldyh [Thu, 4 Sep 2014 16:37:54 +0000 (16:37 +0000)]
Make output_die() output the parent DIE for each DIE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214908 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoMake gen_formal_parameter_die() merge DIEs from a previous execution.
aldyh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214907 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agodearly: Emit DIEs for decls early in the compilation process.
aldyh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214906 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/62040
carrot [Thu, 4 Sep 2014 16:06:13 +0000 (16:06 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214905 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/ChangeLog:
manu [Thu, 4 Sep 2014 15:13:40 +0000 (15:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214904 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[gcc]
wschmidt [Thu, 4 Sep 2014 14:31:34 +0000 (14:31 +0000)]
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214903 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[gcc]
wschmidt [Thu, 4 Sep 2014 14:27:45 +0000 (14:27 +0000)]
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214902 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-04 Jan-Benedict Glaw <jbglaw@lug-owl.de>
jbglaw [Thu, 4 Sep 2014 13:22:53 +0000 (13:22 +0000)]
2014-09-04  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/rx/rx.h (HARD_REGNO_MODE_OK): Add braces.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214901 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR ipa/61659
jason [Thu, 4 Sep 2014 12:37:05 +0000 (12:37 +0000)]
PR ipa/61659
* decl.c (duplicate_decls): Check DECL_DECLARED_INLINE_P on
newdecl, not olddecl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214900 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR debug/60655
amodra [Thu, 4 Sep 2014 12:18:25 +0000 (12:18 +0000)]
PR debug/60655
* dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
can't be output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214899 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd target hook to override DWARF2 frame register size
mpf [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214898 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Thu, 4 Sep 2014 00:17:00 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214897 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Add precise type information on the heap.
ian [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214894 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * doc/invoke.texi: Document that -Wlogical-not-parentheses is enabled
mpolacek [Wed, 3 Sep 2014 20:37:33 +0000 (20:37 +0000)]
* doc/invoke.texi: Document that -Wlogical-not-parentheses is enabled
by -Wall.
c-family/
* c.opt (Wlogical-not-parentheses): Enable by -Wall.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214893 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-03 Fritz Reese <Reese-Fritz@zai.com>
burnus [Wed, 3 Sep 2014 18:50:27 +0000 (18:50 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214891 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Wed, 3 Sep 2014 18:43:29 +0000 (18:43 +0000)]
gcc/
* doc/rtl.texi (RTX_AUTOINC): Document that the first operand is
the automodified register.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214890 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Wed, 3 Sep 2014 18:36:10 +0000 (18:36 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214889 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoaarch64: Improve epilogue unwind info
rth [Wed, 3 Sep 2014 17:00:31 +0000 (17:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214886 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-03 Richard Biener <rguenther@suse.de>
rguenth [Wed, 3 Sep 2014 14:28:20 +0000 (14:28 +0000)]
2014-09-03  Richard Biener  <rguenther@suse.de>

* opts.c (default_options_optimization): Adjust
max-combine-insns to 2 for -Og.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214879 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-03 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 3 Sep 2014 14:26:38 +0000 (14:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214878 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-03 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 3 Sep 2014 14:16:54 +0000 (14:16 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214877 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c/62294
mpolacek [Wed, 3 Sep 2014 13:20:43 +0000 (13:20 +0000)]
PR c/62294
* gcc.dg/pr62294.c: New test.
* gcc.dg/pr62294.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214876 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix for tree-ssa-pre
marxin [Wed, 3 Sep 2014 12:42:01 +0000 (12:42 +0000)]
Fix for tree-ssa-pre

* tree-ssa-sccvn.c (vn_reference_lookup_call): default (NULL) value
is set to preserve uninitialized value for vnresult.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214873 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.c-torture/execute/pr39228.c: Use dg-add-options instead
kkojima [Wed, 3 Sep 2014 12:27:52 +0000 (12:27 +0000)]
* gcc.c-torture/execute/pr39228.c: Use dg-add-options instead
of dg-options.  Add "inline" keyword to test functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214872 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c/62024
mpolacek [Wed, 3 Sep 2014 11:16:29 +0000 (11:16 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214871 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] No need to take padding into consideration in Andes ABI2 because
jasonwucj [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 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214869 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Provide TARGET_ARG_PARTIAL_BYTES so that we can have structure argument
jasonwucj [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214868 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Emit stack push instructions for varargs at prologue stage and
jasonwucj [Wed, 3 Sep 2014 10:09:14 +0000 (10:09 +0000)]
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214867 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Since we are going to provide new heuristic for fp-as-gp optimization,
jasonwucj [Wed, 3 Sep 2014 10:01:54 +0000 (10:01 +0000)]
[NDS32] Since we are going to provide new heuristic for fp-as-gp optimization,
        we better not to set cfun->machine->fp_as_gp_p at prologue expanding.

* config/nds32/nds32.c (nds32_expand_prologue): Suppress fp-as-gp
optimization detection.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214866 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Deal with nameless arguments in nds32_function_arg and nds32_function_arg_adv...
jasonwucj [Wed, 3 Sep 2014 09:55:28 +0000 (09:55 +0000)]
[NDS32] Deal with nameless arguments in nds32_function_arg and nds32_function_arg_advance.

  1. We have caller prepare nameless arguments in the way of calling a normal function.

     e.g. Assume a function: void va_test (int n, ...);
          When calling "va_test (6, 11, 22, 33, 44, 55, 66);",
               r0    <- 6
               r1    <- 11
               r2    <- 22
               r3    <- 33
               r4    <- 44
               r5    <- 55
            [sp + 0] <- 66

  2. Note that we DO NOT handle it for TARGET_HARD_FLOAT case.
     The TARGET_HARD_FLOAT should push all the nameless arguments into
     stack and GCC is able to take care of them itself.
     In addition, we have not implemented hard float on trunk yet.

* config/nds32/nds32.c (nds32_function_arg): Deal with nameless
arguments.
(nds32_function_arg_advance): Deal with nameless arguments.
* config/nds32/nds32.h (NDS32_ARG_PASS_IN_REG_P): Split it into ...
(NDS32_ARG_ENTIRE_IN_GPR_REG_P): ... this one and ...
(NDS32_ARG_PARTIAL_IN_GPR_REG_P): ... this one.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214865 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2014-09-03 Richard Biener <rguenther@suse.de>
rguenth [Wed, 3 Sep 2014 09:50:24 +0000 (09:50 +0000)]
2014-09-03  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (alloc_expression_id): Use quick_grow_cleared.
(struct bb_bitmap_sets): Remove deferred member.
(BB_DEFERRED): Remove.
(defer_or_phi_translate_block): Remove.
(compute_antic_aux): Remove deferring of blocks, assert
proper iteration order.
(compute_antic): Do not set BB_DEFERRED.
(eliminate): Allocate el_avail of proper size initially.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214864 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Since argument pointer must be 8-byte alignment, our first parameter may
jasonwucj [Wed, 3 Sep 2014 09:44:49 +0000 (09:44 +0000)]
[NDS32] Since argument pointer must be 8-byte alignment, our first parameter may
        require 4-byte offset if pushed varargs is not 8-byte aligned.

* config/nds32/nds32.h (FIRST_PARM_OFFSET): Set proper location
according to the value of crtl->args.pretend_args_size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214863 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Prepare necessary varargs information in compute_stack_frame().
jasonwucj [Wed, 3 Sep 2014 09:37:36 +0000 (09:37 +0000)]
[NDS32] Prepare necessary varargs information in compute_stack_frame().

* config/nds32/nds32.c (nds32_compute_stack_frame): Prepare necessary
varargs information.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214862 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Implement TARGET_SETUP_INCOMING_VARARGS target hook.
jasonwucj [Wed, 3 Sep 2014 09:32:08 +0000 (09:32 +0000)]
[NDS32] Implement TARGET_SETUP_INCOMING_VARARGS target hook.

* config/nds32/nds32.c (nds32_setup_incoming_varargs): New
implementation for TARGET_SETUP_INCOMING_VARARGS.
(nds32_strict_argument_naming): Refine comment.
* config/nds32/nds32.h (TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT):
Define for future implementation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214861 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
tocarip [Wed, 3 Sep 2014 09:24:34 +0000 (09:24 +0000)]
gcc/
2014-09-02  Ilya Tocar  <ilya.tocar@intel.com>

        * config/i386/adxintrin.h (_subborrow_u32): New.
        (_addcarry_u32): Ditto.
        (_subborrow_u64): Ditto.
        (_addcarry_u64): Ditto.
        * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_SBB32,
        IX86_BUILTIN_SBB64.
        (ix86_init_mmx_sse_builtins): Handle __builtin_ia32_sbb_u32,
        __builtin_ia32_sbb_u64

testsuite/
2014-09-02  Ilya Tocar  <ilya.tocar@intel.com>

        * gcc.target/i386/adx-addcarryx32-1.c: Test addcarry, subborrow.
        * gcc.target/i386/adx-addcarryx32-2.c: Ditto.
        * gcc.target/i386/adx-addcarryx32-3.c: Ditto.
        * gcc.target/i386/adx-addcarryx64-1.c: Ditto.
        * gcc.target/i386/adx-addcarryx64-2.c: Ditto.
        * gcc.target/i386/adx-addcarryx64-3.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214860 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Define and rename some GPR-specific stuff.
jasonwucj [Wed, 3 Sep 2014 09:16:51 +0000 (09:16 +0000)]
[NDS32] Define and rename some GPR-specific stuff.

* config/nds32/nds32.c (nds32_function_arg): Define and rename some
GPR-specific stuff.
(nds32_function_arg_advance): Likewise.
(nds32_init_cumulative_args): Likewise.
* config/nds32/nds32.h (NDS32_MAX_GPR_REGS_FOR_ARGS): Define.
(NDS32_FIRST_GPR_REGNUM): Define.
(NDS32_LAST_GPR_REGNUM): Define.
(NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG): Define.
(NDS32_ARG_PASS_IN_REG_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
(FUNCTION_ARG_REGNO_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
(machine_function): Use GRP-specific stuff.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214859 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Remove unused variables.
jasonwucj [Wed, 3 Sep 2014 09:09:56 +0000 (09:09 +0000)]
[NDS32] Remove unused variables.

* config/nds32/nds32.c (nds32_expand_prologue): Remove unused variables.
(nds32_expand_epilogue): Likewise.
(nds32_expand_prologue_v3push): Likewise.
(nds32_expand_epilogue_v3pop): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214858 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] We need to make sure it is NOT a variadic function so that some v3push/v3pop...
jasonwucj [Wed, 3 Sep 2014 09:04:46 +0000 (09:04 +0000)]
[NDS32] We need to make sure it is NOT a variadic function so that some v3push/v3pop preparation can be applied.

  -- The rationale of such avoidance is that the 'pop25' instruction also
     contains return behavior and we have no chance to further adjust stack
     pointer before returning to caller, which is very important to
     variadic function.
  -- So we do not setup v3push/v3pop (push25/pop25) information for a
     variadic function.  It will use normal stack push/pop instead.

* config/nds32/nds32.c (nds32_compute_stack_frame): Do not use
v3push/v3pop for variadic function.
* config/nds32/nds32.md (prologue, epilogue): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214857 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Consider varargs situation when creating stack operation assembly code.
jasonwucj [Wed, 3 Sep 2014 08:57:02 +0000 (08:57 +0000)]
[NDS32] Consider varargs situation when creating stack operation assembly code.

  -- In fact, we only need to take care of 'push.s' situation,
     because we have to push all the nameless arguments into stack.
  -- We do not have to use 'pop.s' to restore them back to registers,
     because we can just adjust stack pointer to set frame location.
     This operation should be done in epilogue expanding.
  -- Because 'pop25' instruction also performs return operation, we will
     not use v3push/v3pop on isr and vararg functions.
     Therefore, their instruction length should be 4 bytes.

* config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
Check rtx for varargs implementation.
(nds32_output_stack_pop): Likewise.
* config/nds32/nds32-protos.h: Have a rtx argument for
nds32_output_stack_push and nds32_output_stack_pop.
* config/nds32/nds32.md: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214856 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Add a function to indentify if FUNC is an interrupt service routine.
jasonwucj [Wed, 3 Sep 2014 08:50:14 +0000 (08:50 +0000)]
[NDS32] Add a function to indentify if FUNC is an interrupt service routine.

* config/nds32/nds32-isr.c (nds32_isr_function_p): Define new function
to check if FUNC is an interrupt service routine.
* config/nds32/nds32-protos.h (nds32_isr_function_p): Declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214855 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Preparation in nds32.h of using registers to save varargs.
jasonwucj [Wed, 3 Sep 2014 08:40:40 +0000 (08:40 +0000)]
[NDS32] Preparation in nds32.h of using registers to save varargs.

  -- The varargs area may also need padding bytes so that we can ensure
     that argument pointer is 8-byte alignment.

* config/nds32/nds32.h (machine_function): Add some fields for variadic
arguments implementation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214854 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] In nds32_valid_stack_push_pop_p(), we look into OP rtx to see if we indeed...
jasonwucj [Wed, 3 Sep 2014 08:28:02 +0000 (08:28 +0000)]
[NDS32] In nds32_valid_stack_push_pop_p(), we look into OP rtx to see if we indeed save $fp/$gp/$lp registers.

* config/nds32/nds32-predicates.c
(nds32_valid_stack_push_pop): Rename to ...
(nds32_valid_stack_push_pop_p): ... this.
* config/nds32/nds32-protos.h: Likewise.
* config/nds32/predicates.md: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214853 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Refine the implementation and consider CFA restore information for stack...
jasonwucj [Wed, 3 Sep 2014 08:20:49 +0000 (08:20 +0000)]
[NDS32] Refine the implementation and consider CFA restore information for stack v3push/v3pop.

* config/nds32/nds32.c (nds32_gen_stack_v3push): Rename to ...
(nds32_emit_stack_v3push): ... this.
(nds32_gen_stack_v3pop): Rename to ...
(nds32_emit_stack_v3pop): ... this and consider CFA restore
information.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214852 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[NDS32] Refine the implementation and consider CFA restore information for stack...
jasonwucj [Wed, 3 Sep 2014 08:17:00 +0000 (08:17 +0000)]
[NDS32] Refine the implementation and consider CFA restore information for stack push/pop multiple.

* config/nds32/nds32.c (nds32_gen_stack_push_multiple): Rename to ...
(nds32_emit_stack_push_multiple): ... this.
(nds32_gen_stack_pop_multiple): Rename to ...
(nds32_emit_stack_pop_multiple): ... this and consider CFA restore
information.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214851 138bc75d-0d04-0410-961f-82ee72b054a4