James Greenhalgh [Tue, 12 Jan 2016 14:04:26 +0000 (14:04 +0000)]
Backport: [Patch AArch64] Reinstate CANNOT_CHANGE_MODE_CLASS to fix pr67609
gcc/
Backport from mainline.
2015-12-09 James Greenhalgh <james.greenhalgh@arm.com>
PR rtl-optimization/67609
* config/aarch64/aarch64.c
(aarch64_cannot_change_mode_class): Don't permit word_mode
subregs of full vector modes.
* config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use
zero_extract rather than truncate.
(aarch64_movdi_<mode>high): Likewise.
gcc/testsuite/
Backport from mainline.
2015-12-09 James Greenhalgh <james.greenhalgh@arm.com>
Martin Jambor [Mon, 11 Jan 2016 09:59:48 +0000 (10:59 +0100)]
[PR 66616] Check for thunks when adding extra constants to clones
2016-01-11 Martin Jambor <mjambor@suse.cz>
PR ipa/66616
* ipa-cp.c (propagate_constants_accross_call): Move thuk check...
(call_passes_through_thunk_p): ...here.
(find_more_scalar_values_for_callers_subset): Perform thunk checks
like propagate_constants_accross_call does.
* cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
flag from the node to the new flag.
Backport from mainline
2015-12-25 Andreas Tobler <andreast@gcc.gnu.org>
* config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64
defines. Use FBSD_DYNAMIC_LINKER instead.
Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to
LINK_OS_FREEBSD_SPEC_DEF.
re PR target/68729 (../Xbae/Methods.c:1772:1: ICE: in extract_insn, at recog.c:2343)
PR target/68729
* config/pa/pa.c (pa_emit_move_sequence): Reorganize handling of
floating-point reloads. Only reload operands that are not valid
floating-point memory operands.
Tim Shen [Tue, 15 Dec 2015 05:59:01 +0000 (05:59 +0000)]
backport: re PR libstdc++/68863 (Regular expressions: Backreferences don't work in negative lookahead)
Backport from mainline
2015-12-15 Tim Shen <timshen@google.com>
PR libstdc++/68863
* include/bits/regex_executor.tcc (_Executor::_M_lookahead):
Copy the captured content for lookahead, so that the backreferences
inside can refer to them.
* testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
New testcase.
Jeff Law [Thu, 10 Dec 2015 19:40:23 +0000 (12:40 -0700)]
re PR tree-optimization/61515 (Extremely long compile time for generated code)
PR tree-optimization/61515
PR tree-optimization/46590
Backport from mainline.
* tree-ssa-threadedge.c (invalidate_equivalences): Walk the unwinding
stack rather than looking at every SSA_NAME's value.
Backport from mainline
2015-12-08 Uros Bizjak <ubizjak@gmail.com>
PR target/68701
* config/i386/i386.c (ix86_option_override_internal): Enable
-maccumulate-outgoing-args when %ebp is fixed due to stack
realignment requirements.
testsuite/ChangeLog:
Backport from mainline
2015-12-08 Uros Bizjak <ubizjak@gmail.com>
PR target/68701
* gcc.target/i386/pr68701-1.c: New test.
* gcc.target/i386/pr68701-2.c: Ditto.
re PR target/68729 (../Xbae/Methods.c:1772:1: ICE: in extract_insn, at recog.c:2343)
PR target/68729
* config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is
consistent with modes of the input and output operands when doing
reloads to and from floating point registers. Do reload for all
address forms.
Backport from mainline.
2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
PR sanitizer/64820
gcc/
* cfgexpand.c (align_base): New function.
(alloc_stack_frame_space): Call it.
(expand_stack_vars): Align prev_frame to be sure
data->asan_vec elements aligned properly.
gcc/testsuite/
* c-c++-common/asan/pr64820.c: New test.
Ludovic Brenta [Sun, 6 Dec 2015 14:11:54 +0000 (14:11 +0000)]
re PR ada/49944 (Bootstrapping on x86_64-pc-kfreebsd-gnu fails with "s-taprop.adb:856:10: "pthread_attr_setaffinity_np" is undefined (more references follow)")
PR ada/49944
* s-osinte-freebsd.ads: Minor reformatting.
(Stack_Base_Available): Correct comments.
* s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep,
clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size,
mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol
pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling,
pthread_attr_setscope, pthread_attr_getscope,
pthread_attr_setinheritsched, pthread_attr_getinheritsched,
Time_Slice_Supported): Copy from s-osinte-freebsd.ads.
* gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of
the System.Task_Primitives.Operations package.
Andreas Tobler [Fri, 4 Dec 2015 20:25:56 +0000 (21:25 +0100)]
backport: freebsd64.h (ELFv2_ABI_CHECK): Add new macro.
2015-12-04 Andreas Tobler <andreast@gcc.gnu.org>
Backport from mainline
2015-12-01 Andreas Tobler <andreast@gcc.gnu.org>
* config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
rs6000_current_abi to ABI_AIX or ABI_ELFv2.
Kyrylo Tkachov [Thu, 26 Nov 2015 11:40:16 +0000 (11:40 +0000)]
[calls.c] PR rtl-optimization/67226: Take into account pretend_args_size when checking stack offsets for sibcall optimisation
Backport from mainline
2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/67226
* calls.c (store_one_arg): Take into account
crtl->args.pretend_args_size when checking for overlap between
arg->value and argblock + arg->locate.offset during sibcall
optimization.
Paul Thomas [Wed, 25 Nov 2015 05:28:10 +0000 (05:28 +0000)]
backport: re PR fortran/68196 (ICE on function result with procedure pointer component)
2015-11-25 Paul Thomas <pault@gcc.gnu.org>
Backport from trunk.
PR fortran/68196
* class.c (has_finalizer_component): Prevent infinite recursion
through this function if the derived type and that of its
component are the same.
* trans-types.c (gfc_get_derived_type): Do the same for proc
pointers by ignoring the explicit interface for the component.
PR fortran/66465
* check.c (same_type_check): If either of the expressions is
BT_PROCEDURE, use the typespec from the symbol, rather than the
expression.
2015-11-25 Paul Thomas <pault@gcc.gnu.org>
Backport from trunk.
PR fortran/68196
* gfortran.dg/proc_ptr_47.f90: New test.
Backport from trunk.
PR fortran/66465
* gfortran.dg/pr66465.f90: New test.
Kyrylo Tkachov [Tue, 24 Nov 2015 14:27:51 +0000 (14:27 +0000)]
[RTL-ree] PR rtl-optimization/68194: Restrict copy instruction in presence of conditional moves
Backport from mainline
2015-11-24 Bernd Schmidt <bschmidt@redhat.com>
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/68194
PR rtl-optimization/68328
PR rtl-optimization/68185
* ree.c (combine_reaching_defs): Reject copy_needed case if
copies_list is not empty.
* gcc.c-torture/execute/pr68185.c: New test.
* gcc.c-torture/execute/pr68328.c: Likewise.