Commit 0c2e838b by Richard Kenner

(instantiate_decls{,_1}): Don't do instantiation here if the address

is mode-dependent.

From-SVN: r1615
parent 0dadecf6
...@@ -1902,12 +1902,16 @@ instantiate_decls (fndecl, valid_only) ...@@ -1902,12 +1902,16 @@ instantiate_decls (fndecl, valid_only)
/* Process all parameters of the function. */ /* Process all parameters of the function. */
for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl)) for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl))
{ {
if (DECL_RTL (decl) && GET_CODE (DECL_RTL (decl)) == MEM) if (DECL_RTL (decl) && GET_CODE (DECL_RTL (decl)) == MEM
&& (! valid_only
|| ! mode_dependent_address_p (XEXP (DECL_RTL (decl), 0))))
instantiate_virtual_regs_1 (&XEXP (DECL_RTL (decl), 0), instantiate_virtual_regs_1 (&XEXP (DECL_RTL (decl), 0),
(valid_only ? DECL_RTL (decl) : NULL_RTX), (valid_only ? DECL_RTL (decl) : NULL_RTX),
0); 0);
if (DECL_INCOMING_RTL (decl) if (DECL_INCOMING_RTL (decl)
&& GET_CODE (DECL_INCOMING_RTL (decl)) == MEM) && GET_CODE (DECL_INCOMING_RTL (decl)) == MEM
&& (! valid_only
|| ! mode_dependent_address_p (XEXP (DECL_INCOMING_RTL (decl), 0))))
instantiate_virtual_regs_1 (&XEXP (DECL_INCOMING_RTL (decl), 0), instantiate_virtual_regs_1 (&XEXP (DECL_INCOMING_RTL (decl), 0),
(valid_only ? DECL_INCOMING_RTL (decl) (valid_only ? DECL_INCOMING_RTL (decl)
: NULL_RTX), : NULL_RTX),
...@@ -1938,7 +1942,9 @@ instantiate_decls_1 (let, valid_only) ...@@ -1938,7 +1942,9 @@ instantiate_decls_1 (let, valid_only)
tree t; tree t;
for (t = BLOCK_VARS (let); t; t = TREE_CHAIN (t)) for (t = BLOCK_VARS (let); t; t = TREE_CHAIN (t))
if (DECL_RTL (t) && GET_CODE (DECL_RTL (t)) == MEM) if (DECL_RTL (t) && GET_CODE (DECL_RTL (t)) == MEM
&& (! valid_only
|| ! mode_dependent_address_p (XEXP (DECL_RTL (t), 0))))
instantiate_virtual_regs_1 (& XEXP (DECL_RTL (t), 0), instantiate_virtual_regs_1 (& XEXP (DECL_RTL (t), 0),
valid_only ? DECL_RTL (t) : NULL_RTX, 0); valid_only ? DECL_RTL (t) : NULL_RTX, 0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment