aboutsummaryrefslogtreecommitdiff
path: root/gcc/gensupport.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-03-02 10:19:28 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-03-02 10:19:28 +0100
commitd5a216fa21f6c67e75a91b7063d1767cff00138b (patch)
tree9bdb7b7a6aa1ef3d390e533d7e1b59fb6cab5053 /gcc/gensupport.c
parentda403f3178095ddf49c62994874f52650e3f5a4a (diff)
downloadgcc-d5a216fa21f6c67e75a91b7063d1767cff00138b.zip
gcc-d5a216fa21f6c67e75a91b7063d1767cff00138b.tar.gz
gcc-d5a216fa21f6c67e75a91b7063d1767cff00138b.tar.bz2
re PR tree-optimization/79345 (passing yet-uninitialized member as argument to base class constructor should warn (-Wunitialized))
PR tree-optimization/79345 * gensupport.h (struct pattern_stats): Add min_scratch_opno field. * gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it. (get_pattern_stats): Initialize it. * genemit.c (gen_expand): Verify match_scratch numbers come after match_operand/match_dup numbers. * config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and match_scratch numbers. * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>): Likewise. * config/s390/s390.md (trunctdsd2): Likewise. From-SVN: r245833
Diffstat (limited to 'gcc/gensupport.c')
-rw-r--r--gcc/gensupport.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/gensupport.c b/gcc/gensupport.c
index cef0a0c..874e677 100644
--- a/gcc/gensupport.c
+++ b/gcc/gensupport.c
@@ -3000,6 +3000,10 @@ get_pattern_stats_1 (struct pattern_stats *stats, rtx x)
break;
case MATCH_SCRATCH:
+ if (stats->min_scratch_opno == -1)
+ stats->min_scratch_opno = XINT (x, 0);
+ else
+ stats->min_scratch_opno = MIN (stats->min_scratch_opno, XINT (x, 0));
stats->max_scratch_opno = MAX (stats->max_scratch_opno, XINT (x, 0));
break;
@@ -3032,6 +3036,7 @@ get_pattern_stats (struct pattern_stats *stats, rtvec pattern)
stats->max_opno = -1;
stats->max_dup_opno = -1;
+ stats->min_scratch_opno = -1;
stats->max_scratch_opno = -1;
stats->num_dups = 0;