Richard Earnshaw [Tue, 21 Feb 2012 23:51:16 +0000 (23:51 +0000)]
re PR target/52294 ([ARM Thumb] generated asm code produces "branch out of range" error in gas with -Os -mcpu=cortex-a9)
PR target/52294
* thumb2.md (thumb2_shiftsi3_short): Split register and
immediate shifts. For register shifts tie operands 0 and 1.
(peephole2 for above): Check that register-controlled shifts
have suitably tied operands.
Bin Cheng [Tue, 14 Feb 2012 07:42:41 +0000 (07:42 +0000)]
backport: re PR target/51835 (ARM EABI violation when passing arguments to helper floating functions like __aeabi_d2iz)
Backport from mainline.
2012-01-30 Bin Cheng <bin.cheng@arm.com>
PR target/51835
* config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
2011-06-08 Julian Brown <julian@codesourcery.com>
* config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
for double-precision helper functions in hard-float mode if only
single-precision arithmetic is supported in hardware.
Jakub Jelinek [Thu, 9 Feb 2012 21:39:20 +0000 (22:39 +0100)]
backport: re PR rtl-optimization/52139 (ICE: in remove_insn, at emit-rtl.c:3960 with -O -fPIC -fno-tree-dominator-opts -fno-tree-fre)
Backported from mainline
2012-02-08 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/52139
* cfgrtl.c (cfg_layout_merge_blocks): If BB_END
is a BARRIER after emit_insn_after_noloc, move BB_END
to the last non-BARRIER insn before it.
Jakub Jelinek [Thu, 9 Feb 2012 21:38:13 +0000 (22:38 +0100)]
backport: re PR libmudflap/40778 (Mudflap instrumentation missing in cloned function.)
Backported from mainline
2012-01-19 Jakub Jelinek <jakub@redhat.com>
PR libmudflap/40778
* tree-mudflap.c (mf_artificial): New function.
(execute_mudflap_function_ops, execute_mudflap_function_decls,
mx_register_decls, mudflap_enqueue_decl): Use it.
Jakub Jelinek [Thu, 9 Feb 2012 21:33:11 +0000 (22:33 +0100)]
backport: re PR driver/48306 (presence of gcc subdir with . in PATH causes breakdown)
Backported from mainline
2012-01-26 Jakub Jelinek <jakub@redhat.com>
* make-relative-prefix.c (make_relative_prefix_1): Avoid warning
about using preprocessor directives inside of macro arguments.
2012-01-02 Jakub Jelinek <jakub@redhat.com>
* make-relative-prefix.c (make_relative_prefix_1): Avoid
stack overflow if PATH contains just a single entry and
HOST_EXECUTABLE_SUFFIX needs to be used.
PR driver/48306
* make-relative-prefix.c: Include sys/stat.h.
(make_relative_prefix_1): If access succeeds, check also stat
if nstore is a regular file.
Eric Botcazou [Sat, 21 Jan 2012 15:04:25 +0000 (15:04 +0000)]
re PR ada/46192 (wrong code for renaming of volatile packed array with address clause)
PR ada/46192
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
renaming, preserve the volatileness through the indirection, if any.
Joseph Myers [Tue, 10 Jan 2012 23:53:13 +0000 (23:53 +0000)]
Revert:
2008-09-18 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/37451
* loop-doloop.c (doloop_modify): New argument zero_extend_p and
zero extend count after the correction to it is done.
(doloop_optimize): Update call to doloop_modify, don't zero extend
count before call.
2008-11-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/37782
* loop-doloop.c (doloop_modify): Add from_mode argument that says what
mode count is in.
(doloop_optimize): Update call to doloop_modify.
testsuite:
* gcc.c-torture/execute/doloop-1.c,
gcc.c-torture/execute/doloop-2.c: New tests.
Eric Botcazou [Mon, 9 Jan 2012 18:22:35 +0000 (18:22 +0000)]
sol2-unwind.h (sparc64_is_sighandler): Check that the purported sigacthandler address isn't null before dereferencing it.
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the
purported sigacthandler address isn't null before dereferencing it.
(sparc_is_sighandler): Likewise.
re PR middle-end/48660 (ARM ICE in expand_expr_real_1)
gcc/
PR middle-end/48660
* expr.h (copy_blkmode_to_reg): Declare.
* expr.c (copy_blkmode_to_reg): New function.
(expand_assignment): Don't expand register RESULT_DECLs before
the lhs. Use copy_blkmode_to_reg to copy BLKmode values into a
RESULT_DECL register.
(expand_expr_real_1): Handle BLKmode decls when looking for promotion.
gcc/testsuite/
PR middle-end/48660
* g++.dg/pr48660.C: New test.
Backport from mainline
2012-01-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49651
* tree-ssa-structalias.c (type_can_have_subvars): New function.
(var_can_have_subvars): Use it.
(get_constraint_for_1): Only consider subfields if there
can be any.
2011-07-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49651
* tree-ssa-structalias.c (get_constraint_for_1): Properly
handle dereferences with subvariables.
backport: re PR tree-optimization/49279 (Optimization incorrectly presuming constant variable inside loop in g++ 4.5 and 4.6 with -O2 and -O3 for x86_64 targets)
2012-01-03 Richard Guenther <rguenther@suse.de>
Backport from mainline
2011-10-06 Jakub Jelinek <jakub@redhat.com>
Backport from mainline
2011-05-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/48172
* tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
the number of iterations from the segment size calculation.
(vect_create_cond_for_alias_checks): Adjust.
2011-05-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/48172
* tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
multiplying by number of iterations for equal step.
(vect_create_cond_for_alias_checks): Likewise.