re PR middle-end/52894 (Stage1 bootstrap fails with gcc-4.6.3: Infinite loop in pointer_set_insert)
PR middle-end/52894
* varasm.c (process_pending_assemble_externals): Set
pending_assemble_externals_processed true.
(assemble_external): Call assemble_external_real if the pending
assemble externals have been processed.
Eric Botcazou [Wed, 4 Apr 2012 08:21:00 +0000 (08:21 +0000)]
backport: init.c (__gl_main_cpu): New global variable.
Backport from 4.6 branch
* init.c (__gl_main_cpu): New global variable.
* par-ch3.adb: Remove a couple of blank lines.
* types.ads (Big_String_Ptr): Don't give it zero storage size.
(Source_Buffer_Ptr): Likewise.
* uintp.adb (Hash_Num): Use "mod" operator from Types.
Uros Bizjak [Thu, 29 Mar 2012 19:59:36 +0000 (21:59 +0200)]
backport: re PR target/52698 (-maddress-mode=long doesn't work)
Backported from mainline
2012-03-27 Uros Bizjak <ubizjak@gmail.com>
PR target/52698
* config/i386/i386-protos.h (ix86_legitimize_reload_address):
New prototype.
* config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
* config/i386/i386.c: Include reload.h.
(ix86_legitimize_reload_address): New function.
Steven Bosscher [Sat, 24 Mar 2012 13:46:33 +0000 (13:46 +0000)]
re PR middle-end/52640 (performance bottleneck: gcc/tree.c;value_member)
gcc/
PR middle-end/52640
* varasm.c: Include pointer-set.h.
(pending_assemble_externals_set): New pointer set.
(process_pending_assemble_externals): Destroy the pointer set.
(assemble_external): See if decl is in pending_assemble_externals_set,
and add it to pending_assemble_externals if necessary.
(init_varasm_once): Allocate pending_assemble_externals_set.
testsuite/
PR middle-end/52640
* gcc.c-torture/compile/limits-externdecl.c: New test.
backport: re PR target/52408 (Incorrect assembler generated for zvdep_imm64)
Backport from mainline
2012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/52408
* config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
unsigned HOST_WIDE_INT.
(zvdep_imm64): Likewise.
(vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
(vdepi_and): Likewise.
Likewise for unamed 64-bit patterns.
* config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
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.