diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-29 10:35:15 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-29 10:35:15 +0000 |
commit | 2975871c2ec24554516712ff598390408d84d4ab (patch) | |
tree | 183b315c039dbfb46eafcbb1e63c394deca9969e /gcc/read-rtl.c | |
parent | 6a1d48879694be0af634161b24023a4b75a00ddd (diff) | |
download | gcc-2975871c2ec24554516712ff598390408d84d4ab.tar.gz |
PR other/58712
* read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
For REGs set ORIGINAL_REGNO.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207230 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/read-rtl.c')
-rw-r--r-- | gcc/read-rtl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/read-rtl.c b/gcc/read-rtl.c index aa7c03b2060..81ce1a864ae 100644 --- a/gcc/read-rtl.c +++ b/gcc/read-rtl.c @@ -1131,6 +1131,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) @@ -1154,6 +1155,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': |