Blame gcc-target-expr.patch
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
2001-03-16 Jakub Jelinek <jakub@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
* expr.c (expand_expr): If TARGET_EXPR is putting a non-constant
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
variable into place of constant variable, clear the /u flag if
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
possible.
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
--- gcc/expr.c.jj Mon Mar 12 13:41:38 2001
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+++ gcc/expr.c Fri Mar 16 19:46:26 2001
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
@@ -8167,6 +8167,17 @@ expand_expr (exp, target, tmode, modifie
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
else
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
{
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
DECL_RTL (slot) = target;
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+ /* If target is unchanging, but slot is not, we could end up
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+ initializing the unchanging target through non-unchanging
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+ references. */
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+ if (RTX_UNCHANGING_P (target) && ! TREE_READONLY (slot)
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+ && (GET_CODE (target) == REG
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+ || (GET_CODE (target) == MEM
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+ && GET_CODE (XEXP (target, 0)) == ADDRESSOF
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+ && GET_CODE (XEXP (XEXP (target, 0), 0)) == REG)))
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+ RTX_UNCHANGING_P (target) = 0;
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
+
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
/* If we must have an addressable slot, then make sure that
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
the RTL that we just stored in slot is OK. */
|
|
![](https://seccdn.libravatar.org/avatar/134c60e534a993fcaf7da4634f4199430a0cdb8c7235fa894d5ee95eb7cc444d?s=16&d=retro) |
01e27f8 |
if (TREE_ADDRESSABLE (slot))
|