summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authordoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-05-23 06:54:35 +0000
committerdoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-05-23 06:54:35 +0000
commite239917120a85184a30d47e04205b699766f3446 (patch)
tree26830549a67a55a0cc5ebda0edaa90ebeb42a94f /debian
parent369682a6f5d1f4186e2e5d7c890b9ceed3da3d92 (diff)
downloadgcc-49-e239917120a85184a30d47e04205b699766f3446.tar.gz
* Update to SVN 20140523 (r210844) from the gcc-4_9-branch.
git-svn-id: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.9@7408 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog4
-rw-r--r--debian/patches/pr60969-revert.diff170
-rw-r--r--debian/patches/svn-updates.diff112
-rw-r--r--debian/rules.patch1
4 files changed, 89 insertions, 198 deletions
diff --git a/debian/changelog b/debian/changelog
index 3f5e6e8..6bd0f07 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,6 @@
gcc-4.9 (4.9.0-5) UNRELEASED; urgency=medium
- * Update to SVN 20140523 (r210828) from the gcc-4_9-branch.
+ * Update to SVN 20140523 (r210844) from the gcc-4_9-branch.
* Limit systemtap-sdt-dev build dependency to enumerated linux architectures.
Build-conflict with systemtap-sdt-dev on ppc64el.
* Build libitm on AArch64, patch taken from the trunk.
@@ -11,7 +11,7 @@ gcc-4.9 (4.9.0-5) UNRELEASED; urgency=medium
* Fix PR other/61257, check for working sys/sdt.h.
* Drop the libstdc++-arm-wno-abi patch, not needed anymore in 4.9.
- -- Matthias Klose <doko@debian.org> Tue, 20 May 2014 17:32:15 +0200
+ -- Matthias Klose <doko@debian.org> Fri, 23 May 2014 08:52:56 +0200
gcc-4.9 (4.9.0-4) unstable; urgency=medium
diff --git a/debian/patches/pr60969-revert.diff b/debian/patches/pr60969-revert.diff
deleted file mode 100644
index b55f3fe..0000000
--- a/debian/patches/pr60969-revert.diff
+++ /dev/null
@@ -1,170 +0,0 @@
-# DP: Revert the fix for PR rtl-optimization/60969, causing bootstrap failure on ppc64el.
-
-gcc/
-
-2014-05-16 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/60969
- * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
- Calculate costs for this case.
-
---- a/src/gcc/ira-costs.c
-+++ b/src/gcc/ira-costs.c
-@@ -762,11 +762,10 @@
- into that class. */
- if (REG_P (op) && REGNO (op) >= FIRST_PSEUDO_REGISTER)
- {
-- if (classes[i] == NO_REGS && ! allows_mem[i])
-+ if (classes[i] == NO_REGS)
- {
- /* We must always fail if the operand is a REG, but
-- we did not find a suitable class and memory is
-- not allowed.
-+ we did not find a suitable class.
-
- Otherwise we may perform an uninitialized read
- from this_op_costs after the `continue' statement
-@@ -784,90 +783,50 @@
- bool out_p = recog_data.operand_type[i] != OP_IN;
- enum reg_class op_class = classes[i];
- move_table *move_in_cost, *move_out_cost;
-- short (*mem_cost)[2];
-
- ira_init_register_move_cost_if_necessary (mode);
- if (! in_p)
- {
- ira_assert (out_p);
-- if (op_class == NO_REGS)
-+ move_out_cost = ira_may_move_out_cost[mode];
-+ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
- {
-- mem_cost = ira_memory_move_cost[mode];
-- for (k = cost_classes_ptr->num - 1; k >= 0; k--)
-- {
-- rclass = cost_classes[k];
-- pp_costs[k] = mem_cost[rclass][0] * frequency;
-- }
-+ rclass = cost_classes[k];
-+ pp_costs[k]
-+ = move_out_cost[op_class][rclass] * frequency;
- }
-- else
-- {
-- move_out_cost = ira_may_move_out_cost[mode];
-- for (k = cost_classes_ptr->num - 1; k >= 0; k--)
-- {
-- rclass = cost_classes[k];
-- pp_costs[k]
-- = move_out_cost[op_class][rclass] * frequency;
-- }
-- }
- }
- else if (! out_p)
- {
- ira_assert (in_p);
-- if (op_class == NO_REGS)
-+ move_in_cost = ira_may_move_in_cost[mode];
-+ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
- {
-- mem_cost = ira_memory_move_cost[mode];
-- for (k = cost_classes_ptr->num - 1; k >= 0; k--)
-- {
-- rclass = cost_classes[k];
-- pp_costs[k] = mem_cost[rclass][1] * frequency;
-- }
-+ rclass = cost_classes[k];
-+ pp_costs[k]
-+ = move_in_cost[rclass][op_class] * frequency;
- }
-- else
-- {
-- move_in_cost = ira_may_move_in_cost[mode];
-- for (k = cost_classes_ptr->num - 1; k >= 0; k--)
-- {
-- rclass = cost_classes[k];
-- pp_costs[k]
-- = move_in_cost[rclass][op_class] * frequency;
-- }
-- }
- }
- else
- {
-- if (op_class == NO_REGS)
-+ move_in_cost = ira_may_move_in_cost[mode];
-+ move_out_cost = ira_may_move_out_cost[mode];
-+ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
- {
-- mem_cost = ira_memory_move_cost[mode];
-- for (k = cost_classes_ptr->num - 1; k >= 0; k--)
-- {
-- rclass = cost_classes[k];
-- pp_costs[k] = ((mem_cost[rclass][0]
-- + mem_cost[rclass][1])
-- * frequency);
-- }
-+ rclass = cost_classes[k];
-+ pp_costs[k] = ((move_in_cost[rclass][op_class]
-+ + move_out_cost[op_class][rclass])
-+ * frequency);
- }
-- else
-- {
-- move_in_cost = ira_may_move_in_cost[mode];
-- move_out_cost = ira_may_move_out_cost[mode];
-- for (k = cost_classes_ptr->num - 1; k >= 0; k--)
-- {
-- rclass = cost_classes[k];
-- pp_costs[k] = ((move_in_cost[rclass][op_class]
-- + move_out_cost[op_class][rclass])
-- * frequency);
-- }
-- }
- }
-
- /* If the alternative actually allows memory, make
- things a bit cheaper since we won't need an extra
- insn to load it. */
-- if (op_class != NO_REGS)
-- pp->mem_cost
-- = ((out_p ? ira_memory_move_cost[mode][op_class][0] : 0)
-- + (in_p ? ira_memory_move_cost[mode][op_class][1] : 0)
-- - allows_mem[i]) * frequency;
-+ pp->mem_cost
-+ = ((out_p ? ira_memory_move_cost[mode][op_class][0] : 0)
-+ + (in_p ? ira_memory_move_cost[mode][op_class][1] : 0)
-+ - allows_mem[i]) * frequency;
- /* If we have assigned a class to this allocno in
- our first pass, add a cost to this alternative
- corresponding to what we would add if this
-@@ -877,28 +836,15 @@
- enum reg_class pref_class = pref[COST_INDEX (REGNO (op))];
-
- if (pref_class == NO_REGS)
-- {
-- if (op_class != NO_REGS)
-- alt_cost
-- += ((out_p
-- ? ira_memory_move_cost[mode][op_class][0]
-- : 0)
-- + (in_p
-- ? ira_memory_move_cost[mode][op_class][1]
-- : 0));
-- }
-- else if (op_class == NO_REGS)
- alt_cost
- += ((out_p
-- ? ira_memory_move_cost[mode][pref_class][1]
-- : 0)
-+ ? ira_memory_move_cost[mode][op_class][0] : 0)
- + (in_p
-- ? ira_memory_move_cost[mode][pref_class][0]
-+ ? ira_memory_move_cost[mode][op_class][1]
- : 0));
- else if (ira_reg_class_intersect[pref_class][op_class]
- == NO_REGS)
-- alt_cost += (ira_register_move_cost
-- [mode][pref_class][op_class]);
-+ alt_cost += ira_register_move_cost[mode][pref_class][op_class];
- }
- }
- }
diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff
index 48c519b..e7494e0 100644
--- a/debian/patches/svn-updates.diff
+++ b/debian/patches/svn-updates.diff
@@ -1,10 +1,10 @@
-# DP: updates from the 4.9 branch upto 20140520 (r210646).
+# DP: updates from the 4.9 branch upto 20140523 (r210844).
last_updated()
{
cat > ${dir}LAST_UPDATED <<EOF
-Fri May 23 00:24:33 CEST 2014
-Thu May 22 22:24:33 UTC 2014 (revision 210828)
+Fri May 23 08:44:51 CEST 2014
+Fri May 23 06:44:51 UTC 2014 (revision 210844)
EOF
}
@@ -2417,7 +2417,7 @@ Index: gcc/DATESTAMP
+++ b/src/gcc/DATESTAMP (.../branches/gcc-4_9-branch)
@@ -1 +1 @@
-20140422
-+20140522
++20140523
Index: gcc/tree-tailcall.c
===================================================================
--- a/src/gcc/tree-tailcall.c (.../tags/gcc_4_9_0_release)
@@ -2473,6 +2473,27 @@ Index: gcc/configure
if { ac_try='$gcc_cv_as $gcc_cv_as_flags -Aleon -o conftest.o conftest.s >&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
+Index: gcc/lra-eliminations.c
+===================================================================
+--- a/src/gcc/lra-eliminations.c (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/lra-eliminations.c (.../branches/gcc-4_9-branch)
+@@ -565,6 +565,16 @@
+ alter_subreg (&x, false);
+ return x;
+ }
++ else if (! subst_p)
++ {
++ /* LRA can transform subregs itself. So don't call
++ simplify_gen_subreg until LRA transformations are
++ finished. Function simplify_gen_subreg can do
++ non-trivial transformations (like truncation) which
++ might make LRA work to fail. */
++ SUBREG_REG (x) = new_rtx;
++ return x;
++ }
+ else
+ return simplify_gen_subreg (GET_MODE (x), new_rtx,
+ GET_MODE (new_rtx), SUBREG_BYTE (x));
Index: gcc/fold-const.c
===================================================================
--- a/src/gcc/fold-const.c (.../tags/gcc_4_9_0_release)
@@ -2890,7 +2911,20 @@ Index: gcc/ChangeLog
===================================================================
--- a/src/gcc/ChangeLog (.../tags/gcc_4_9_0_release)
+++ b/src/gcc/ChangeLog (.../branches/gcc-4_9-branch)
-@@ -1,3 +1,799 @@
+@@ -1,3 +1,812 @@
++2014-05-22 Vladimir Makarov <vmakarov@redhat.com>
++
++ PR rtl-optimization/61215
++ * lra-elelimination.c (lra_eliminate_regs_1): Don't use
++ simplify_gen_subreg until final substitution.
++
++2014-05-23 Alan Modra <amodra@gmail.com>
++
++ PR target/61231
++ * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
++ * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
++ Use "Y" constraint rather than "m".
++
+2014-05-22 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/60969
@@ -3690,7 +3724,7 @@ Index: gcc/ChangeLog
2014-04-22 Release Manager
* GCC 4.9.0 released.
-@@ -59,8 +860,7 @@
+@@ -59,8 +873,7 @@
2014-04-11 Tobias Burnus <burnus@net-b.de>
PR other/59055
@@ -3700,7 +3734,7 @@ Index: gcc/ChangeLog
* doc/gcc.texi (Service): Update description in the @menu
* doc/invoke.texi (Option Summary): Remove misplaced and
duplicated @menu.
-@@ -86,15 +886,14 @@
+@@ -86,15 +899,14 @@
2014-04-11 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/60663
@@ -3719,7 +3753,7 @@ Index: gcc/ChangeLog
2014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-@@ -212,9 +1011,10 @@
+@@ -212,9 +1024,10 @@
2014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
@@ -3733,7 +3767,7 @@ Index: gcc/ChangeLog
* config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
* config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
-@@ -282,21 +1082,21 @@
+@@ -282,21 +1095,21 @@
2014-04-04 Martin Jambor <mjambor@suse.cz>
PR ipa/60640
@@ -3766,7 +3800,7 @@ Index: gcc/ChangeLog
moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
2014-04-04 Jeff Law <law@redhat.com>
-@@ -334,8 +1134,8 @@
+@@ -334,8 +1147,8 @@
PR tree-optimization/60505
* tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
@@ -3777,7 +3811,7 @@ Index: gcc/ChangeLog
* tree-vect-loop.c (new_loop_vec_info):
Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
* tree-vect-loop.c (vect_analyze_loop_operations):
-@@ -347,8 +1147,7 @@
+@@ -347,8 +1160,7 @@
2014-04-03 Richard Biener <rguenther@suse.de>
@@ -3787,7 +3821,7 @@ Index: gcc/ChangeLog
(streamer_tree_cache_create): Adjust.
* tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
to allow optional nodes array.
-@@ -359,8 +1158,7 @@
+@@ -359,8 +1171,7 @@
* lto-streamer-out.c (create_output_block): Avoid maintaining
the node array in the writer cache.
(DFS_write_tree): Remove assertion.
@@ -3797,7 +3831,7 @@ Index: gcc/ChangeLog
* lto-streamer-in.c (lto_data_in_create): Adjust for
streamer_tree_cache_create prototype change.
-@@ -381,24 +1179,6 @@
+@@ -381,24 +1192,6 @@
(Weffc++): Remove Scott's numbering, merge lists and reference
Wnon-virtual-dtor.
@@ -3822,7 +3856,7 @@ Index: gcc/ChangeLog
2014-04-03 Nick Clifton <nickc@redhat.com>
* config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
-@@ -414,8 +1194,8 @@
+@@ -414,8 +1207,8 @@
2014-04-02 Jan Hubicka <hubicka@ucw.cz>
PR ipa/60659
@@ -3833,7 +3867,7 @@ Index: gcc/ChangeLog
(possible_polymorphic_call_targets): For inconsistent contexts
return empty complete list.
-@@ -519,8 +1299,7 @@
+@@ -519,8 +1312,7 @@
2014-04-01 Richard Biener <rguenther@suse.de>
@@ -22545,7 +22579,17 @@ Index: gcc/config/rs6000/rs6000.c
/* The quad memory instructions only works in 64-bit mode. In 32-bit mode,
silently turn off quad memory mode. */
if ((TARGET_QUAD_MEMORY || TARGET_QUAD_MEMORY_ATOMIC) && !TARGET_POWERPC64)
-@@ -12381,7 +12408,15 @@
+@@ -6091,7 +6118,8 @@
+ return false;
+
+ extra = GET_MODE_SIZE (mode) - UNITS_PER_WORD;
+- gcc_assert (extra >= 0);
++ if (extra < 0)
++ extra = 0;
+
+ if (GET_CODE (addr) == LO_SUM)
+ /* For lo_sum addresses, we must allow any offset except one that
+@@ -12381,7 +12409,15 @@
}
}
else if (icode == CODE_FOR_vsx_set_v2df
@@ -22562,7 +22606,7 @@ Index: gcc/config/rs6000/rs6000.c
{
/* Only allow 1-bit unsigned literals. */
STRIP_NOPS (arg2);
-@@ -12392,6 +12427,44 @@
+@@ -12392,6 +12428,44 @@
return const0_rtx;
}
}
@@ -22607,7 +22651,7 @@ Index: gcc/config/rs6000/rs6000.c
else if (icode == CODE_FOR_crypto_vshasigmaw
|| icode == CODE_FOR_crypto_vshasigmad)
{
-@@ -13483,6 +13556,16 @@
+@@ -13483,6 +13557,16 @@
error ("Builtin function %s requires the -mpaired option", name);
else if ((fnmask & RS6000_BTM_SPE) != 0)
error ("Builtin function %s requires the -mspe option", name);
@@ -22624,7 +22668,7 @@ Index: gcc/config/rs6000/rs6000.c
else
error ("Builtin function %s is not supported with the current options",
name);
-@@ -13671,7 +13754,10 @@
+@@ -13671,7 +13755,10 @@
return ret;
}
@@ -22636,7 +22680,7 @@ Index: gcc/config/rs6000/rs6000.c
/* Handle simple unary operations. */
d = bdesc_1arg;
-@@ -13762,6 +13848,9 @@
+@@ -13762,6 +13849,9 @@
uintTI_type_internal_node = unsigned_intTI_type_node;
float_type_internal_node = float_type_node;
double_type_internal_node = double_type_node;
@@ -22646,7 +22690,7 @@ Index: gcc/config/rs6000/rs6000.c
void_type_internal_node = void_type_node;
/* Initialize the modes for builtin_function_type, mapping a machine mode to
-@@ -13776,6 +13865,9 @@
+@@ -13776,6 +13866,9 @@
builtin_mode_to_type[TImode][1] = unsigned_intTI_type_node;
builtin_mode_to_type[SFmode][0] = float_type_node;
builtin_mode_to_type[DFmode][0] = double_type_node;
@@ -22656,7 +22700,7 @@ Index: gcc/config/rs6000/rs6000.c
builtin_mode_to_type[V1TImode][0] = V1TI_type_node;
builtin_mode_to_type[V1TImode][1] = unsigned_V1TI_type_node;
builtin_mode_to_type[V2SImode][0] = V2SI_type_node;
-@@ -14868,6 +14960,8 @@
+@@ -14868,6 +14961,8 @@
/* unsigned 1 argument functions. */
case CRYPTO_BUILTIN_VSBOX:
case P8V_BUILTIN_VGBBD:
@@ -22665,7 +22709,7 @@ Index: gcc/config/rs6000/rs6000.c
h.uns_p[0] = 1;
h.uns_p[1] = 1;
break;
-@@ -14886,6 +14980,11 @@
+@@ -14886,6 +14981,11 @@
case CRYPTO_BUILTIN_VPMSUMW:
case CRYPTO_BUILTIN_VPMSUMD:
case CRYPTO_BUILTIN_VPMSUM:
@@ -22677,7 +22721,7 @@ Index: gcc/config/rs6000/rs6000.c
h.uns_p[0] = 1;
h.uns_p[1] = 1;
h.uns_p[2] = 1;
-@@ -14947,9 +15046,18 @@
+@@ -14947,9 +15047,18 @@
/* signed args, unsigned return. */
case VSX_BUILTIN_XVCVDPUXDS_UNS:
case ALTIVEC_BUILTIN_FIXUNS_V4SF_V4SI:
@@ -22696,7 +22740,7 @@ Index: gcc/config/rs6000/rs6000.c
default:
break;
}
-@@ -31203,6 +31311,8 @@
+@@ -31203,6 +31312,8 @@
{ "power8-vector", RS6000_BTM_P8_VECTOR, false, false },
{ "crypto", RS6000_BTM_CRYPTO, false, false },
{ "htm", RS6000_BTM_HTM, false, false },
@@ -23188,6 +23232,24 @@ Index: gcc/config/rs6000/rs6000.md
;; Start with fixed-point load and store insns. Here we put only the more
;; complex forms. Basic data transfer is done later.
+@@ -732,7 +746,7 @@
+
+ (define_insn "*extendsidi2_lfiwax"
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r,??wm,!wl,!wu")
+- (sign_extend:DI (match_operand:SI 1 "lwa_operand" "m,r,r,Z,Z")))]
++ (sign_extend:DI (match_operand:SI 1 "lwa_operand" "Y,r,r,Z,Z")))]
+ "TARGET_POWERPC64 && TARGET_LFIWAX"
+ "@
+ lwa%U1%X1 %0,%1
+@@ -755,7 +769,7 @@
+
+ (define_insn "*extendsidi2_nocell"
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
+- (sign_extend:DI (match_operand:SI 1 "lwa_operand" "m,r")))]
++ (sign_extend:DI (match_operand:SI 1 "lwa_operand" "Y,r")))]
+ "TARGET_POWERPC64 && rs6000_gen_cell_microcode && !TARGET_LFIWAX"
+ "@
+ lwa%U1%X1 %0,%1
@@ -2755,10 +2769,7 @@
(match_operand:GPR 2 "gpc_reg_operand" "r")))]
""
diff --git a/debian/rules.patch b/debian/rules.patch
index c432935..47e9016 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -80,7 +80,6 @@ debian_patches += \
pr59758 \
pr57653 \
libitm-aarch64 \
- pr60969-revert \
pr61257 \
gdb_depends := $(shell dpkg -s gdb | grep '^Depends:.*libpython3')