summaryrefslogtreecommitdiff
path: root/gcc/read-rtl.c
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-10 18:07:31 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-10 18:07:31 +0000
commitfe34354e72b674130ffcf5a67e2d0b3b7307383e (patch)
treeca6f19ee04949a3bcd2ab0374a056dcb46fc2056 /gcc/read-rtl.c
parent8b3716ff7532ddf9cb6f3ae6beac038506b70941 (diff)
parentbf62ed7307453c4f8d35c952fba2c2a5d990b1a4 (diff)
downloadgcc-fe34354e72b674130ffcf5a67e2d0b3b7307383e.tar.gz
Merge in trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@207666 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/read-rtl.c')
-rw-r--r--gcc/read-rtl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/read-rtl.c b/gcc/read-rtl.c
index 281ccd2ee7e..046286dbf8a 100644
--- a/gcc/read-rtl.c
+++ b/gcc/read-rtl.c
@@ -1154,6 +1154,7 @@ read_rtx_code (const char *code_name)
/* If we end up with an insn expression then we free this space below. */
return_rtx = rtx_alloc (code);
format_ptr = GET_RTX_FORMAT (code);
+ memset (return_rtx, 0, RTX_CODE_SIZE (code));
PUT_CODE (return_rtx, code);
if (iterator)
@@ -1177,6 +1178,8 @@ read_rtx_code (const char *code_name)
/* 0 means a field for internal use only.
Don't expect it to be present in the input. */
case '0':
+ if (code == REG)
+ ORIGINAL_REGNO (return_rtx) = REGNO (return_rtx);
break;
case 'e':