gcc: update to 4.9.1.

This commit is contained in:
Juan RP 2014-07-17 07:55:15 +02:00
parent dcfcbde7c6
commit 471a14dd25
2 changed files with 3 additions and 43 deletions

View File

@ -1,40 +0,0 @@
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60902
--- gcc/tree-ssa-threadedge.c 2014/04/23 17:53:56 209715
+++ gcc/tree-ssa-threadedge.c 2014/04/23 18:04:46 209716
@@ -387,7 +387,34 @@
&& (gimple_code (stmt) != GIMPLE_CALL
|| gimple_call_lhs (stmt) == NULL_TREE
|| TREE_CODE (gimple_call_lhs (stmt)) != SSA_NAME))
- continue;
+ {
+ /* STMT might still have DEFS and we need to invalidate any known
+ equivalences for them.
+
+ Consider if STMT is a GIMPLE_ASM with one or more outputs that
+ feeds a conditional inside a loop. We might derive an equivalence
+ due to the conditional. */
+ tree op;
+ ssa_op_iter iter;
+
+ if (backedge_seen)
+ FOR_EACH_SSA_TREE_OPERAND (op, stmt, iter, SSA_OP_DEF)
+ {
+ /* This call only invalidates equivalences created by
+ PHI nodes. This is by design to keep the cost of
+ of invalidation reasonable. */
+ invalidate_equivalences (op, stack, src_map, dst_map);
+
+ /* However, conditionals can imply values for real
+ operands as well. And those won't be recorded in the
+ maps. In fact, those equivalences may be recorded totally
+ outside the threading code. We can just create a new
+ temporary NULL equivalence here. */
+ record_temporary_equivalence (op, NULL_TREE, stack);
+ }
+
+ continue;
+ }
/* The result of __builtin_object_size depends on all the arguments
of a phi node. Temporarily using only one edge produces invalid

View File

@ -1,14 +1,14 @@
# Template build file for 'gcc'
pkgname=gcc
_majorver=4.9
version=${_majorver}.0
revision=6
version=${_majorver}.1
revision=1
short_desc="The GNU C Compiler"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://gcc.gnu.org"
license="GFDL-1.2, GPL-3, LGPL-2.1"
distfiles="http://ftp.gnu.org/pub/gnu/gcc/gcc-$version/gcc-$version.tar.bz2"
checksum=b9b047a97bade9c1c89970bc8e211ff57b7b8998a1730a80a653d329f8ed1257
checksum=d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e
lib32disabled=yes
bootstrap=yes