[gcc(refs/users/marxin/heads/marxin-gcc-benchmark-branch)] Fix uninitialized field in expand_operand.

Martin Liska marxin@gcc.gnu.org
Mon Mar 30 10:09:25 GMT 2020


https://gcc.gnu.org/g:55c7ffae7021367df36588d7991a1fb0f870e2c6

commit 55c7ffae7021367df36588d7991a1fb0f870e2c6
Author: Andrew Pinski <apinski@marvell.com>
Date:   Thu Jan 16 01:52:12 2020 +0000

    Fix uninitialized field in expand_operand.
    
    Commit g:f96bf49a0 added the target field to expand_operand.
    But it leaves it uninitialized when doing a full initialization
    inside create_expand_operand.  This fixes the problem and improves
    the code generation inside create_expand_operand too.
    
    ChangeLog:
    * optabs.h (create_expand_operand): Initialize target field also.

Diff:
---
 gcc/ChangeLog | 4 ++++
 gcc/optabs.h  | 1 +
 2 files changed, 5 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d21ec86a2dd..4196998ff69 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2020-01-16  Andrew Pinski  <apinski@marvell.com>
+
+	* optabs.h (create_expand_operand): Initialize target field also.
+
 2020-01-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
 
 	PR tree-optimization/92429
diff --git a/gcc/optabs.h b/gcc/optabs.h
index 07bdc56586e..5bd19503a0a 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -78,6 +78,7 @@ create_expand_operand (class expand_operand *op,
 {
   op->type = type;
   op->unsigned_p = unsigned_p;
+  op->target = 0;
   op->unused = 0;
   op->mode = mode;
   op->value = value;


More information about the Gcc-cvs mailing list