1. 12 Feb, 2015 11 commits
  2. 11 Feb, 2015 23 commits
  3. 10 Feb, 2015 6 commits
    • ffitarget.h (ffi_arg): Use unsigned long long for ILP32. · 97c32df4
      2015-02-10  Andrew Pinski  <apinski@cavium.com>
      
              * src/aarch64/ffitarget.h (ffi_arg): Use unsigned long long for ILP32.
              (FFI_SIZEOF_ARG): Define to 64 for ILP32.
              (ffi_sarg): Use signed long long for ILP32.
      
              * src/aarch64/sysv.S (PTR_REG): New macro.
              (PTR_SIZE): New macro.
              (ffi_closure_SYSV): Load cif, fn and user_data using PTR_REG.
              (ffi_go_closure_SYSV): Load cif and fn using PTR_REG.
      
      From-SVN: r220598
      Andrew Pinski committed
    • re PR sanitizer/65004 (Compare debug failure with -fno-sanitize-recover… · c8aa1929
      re PR sanitizer/65004 (Compare debug failure with -fno-sanitize-recover -fsanitize=address -fsanitize=undefined)
      
      	PR sanitizer/65004
      	* ubsan.c (ubsan_expand_vptr_ifn): Always return true.
      
      	* g++.dg/asan/pr65004.C: New test.
      
      From-SVN: r220596
      Jakub Jelinek committed
    • re PR target/64661 ([SH] Allow @(disp,reg) address mode for atomics) · 2fdc0399
      gcc/
      	PR target/64661
      	* config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
      	TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
      	TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
      	* config/sh/constraints.md (Ara, Add): New constraints.
      	* config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
      	predicates.
      	(atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
      	atomic_mem_operand_0.  Don't use force_reg on the memory address.
      	(atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
      	Sra constraint.  Convert to insn_and_split.  Add workaround for
      	PR 64974.
      	(atomic_compare_and_swap<mode>_hard): Copy to
      	atomic_compare_and_swap<mode>_hard_1.  Convert to insn_and_split.
      	Use atomic_mem_operand_0 predicate.
      	(atomic_compare_and_swap<mode>_soft_gusa,
      	atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
      	AraAdd constraints.
      	(atomic_compare_and_swap<mode>_soft_tcb,
      	atomic_compare_and_swap<mode>_soft_imask,
      	atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
      	atomic_mem_operand_0 predicate and SraSdd constraints.
      	(atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
      	constraint.
      	(atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
      	Convert to insn_and_split.  Use atomic_mem_operand_0 predicate.
      	(atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
      	atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1.  Don't use
      	force_reg on the memory address.
      	(atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
      	atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
      	atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
      	atomic_mem_operand_1 predicate and Sra constraint.
      	(atomic_fetch_<fetchop_name><mode>_hard): Copy to
      	atomic_fetch_<fetchop_name><mode>_hard_1.  Convert to insn_and_split.
      	Use atomic_mem_operand_1 predicate.
      	(atomic_<fetchop_name><mode>_hard): Copy to
      	atomic_<fetchop_name><mode>_hard_1.  Convert to insn_and_split.
      	Use atomic_mem_operand_1 predicate.
      	(atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
      	Convert to insn_and_split.  Use atomic_mem_operand_1 predicate.
      	(atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1.  Convert to
      	insn_and_split.  Use atomic_mem_operand_1 predicate.
      	(atomic_<fetchop_name>_fetch<mode>_hard): Copy to
      	atomic_<fetchop_name>_fetch<mode>_hard_1.  Convert to insn_and_split.
      	Use atomic_mem_operand_1 predicate.
      	(atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
      	Convert to insn_and_split.  Use atomic_mem_operand_1 predicate.
      	(atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
      	in generated insn with original mem operand before emitting the insn.
      	(atomic_fetch_<fetchop_name><mode>_soft_gusa,
      	atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
      	atomic_<fetchop_name>_fetch<mode>_soft_gusa,
      	atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
      	Use atomic_mem_operand_1 predicate and AraAdd constraints.
      	(atomic_fetch_<fetchop_name><mode>_soft_tcb,
      	atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
      	atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
      	atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
      	atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
      	atomic_<fetchop_name>_fetch<mode>_soft_tcb,
      	atomic_not_fetch<mode>_soft_tcb,
      	atomic_<fetchop_name>_fetch<mode>_soft_imask,
      	atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
      	atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
      	Use atomic_mem_operand_1 predicate and SraSdd constraints.
      
      gcc/testsuite/
      	PR target/64661
      	* gcc.taget/sh/pr64661-0.h: New.
      	* gcc.taget/sh/pr64661-1.c: New.
      	* gcc.taget/sh/pr64661-2.c: New.
      	* gcc.taget/sh/pr64661-3.c: New.
      	* gcc.taget/sh/pr64661-4.c: New.
      
      From-SVN: r220594
      Oleg Endo committed
    • alpha.md (reload_out<mode>_aligned): Make operands 2 and 3 earlyclobber operands. · afa20874
      	* config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
      	and 3 earlyclobber operands.
      
      From-SVN: r220590
      Uros Bizjak committed
    • re PR c++/64994 (Firefox build error: ICE: in cxx_eval_call_expression, at cp/constexpr.c:1353) · 0ec052fe
      	PR c++/64994
      	* constexpr.c (cxx_eval_call_expression): Walk the clone list.
      
      From-SVN: r220589
      Jason Merrill committed
    • * common.opt (fstack-reuse): Mark as optimization. · 082908e3
      From-SVN: r220588
      Jan Hubicka committed