diff options
author | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2014-05-23 06:54:35 +0000 |
---|---|---|
committer | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2014-05-23 06:54:35 +0000 |
commit | e239917120a85184a30d47e04205b699766f3446 (patch) | |
tree | 26830549a67a55a0cc5ebda0edaa90ebeb42a94f /debian | |
parent | 369682a6f5d1f4186e2e5d7c890b9ceed3da3d92 (diff) | |
download | gcc-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/changelog | 4 | ||||
-rw-r--r-- | debian/patches/pr60969-revert.diff | 170 | ||||
-rw-r--r-- | debian/patches/svn-updates.diff | 112 | ||||
-rw-r--r-- | debian/rules.patch | 1 |
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') |