diff options
author | Daniel Berlin <dberlin@gcc.gnu.org> | 2006-02-15 22:47:38 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2006-02-15 22:47:38 +0000 |
commit | 943261d7164441ba03c55e821fcf1eb2479d9528 (patch) | |
tree | 50ea8eaaff2807c80bc7b4f75cf5a746fe16cb62 /gcc | |
parent | 3c0b6c430026d7d9d20a8a72e35108b6fb769af2 (diff) | |
download | gcc-943261d7164441ba03c55e821fcf1eb2479d9528.zip gcc-943261d7164441ba03c55e821fcf1eb2479d9528.tar.gz gcc-943261d7164441ba03c55e821fcf1eb2479d9528.tar.bz2 |
Add a little whitespace
From-SVN: r111121
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/tree-ssa-operands.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c index 2d0e71c..70b4ea1 100644 --- a/gcc/tree-ssa-operands.c +++ b/gcc/tree-ssa-operands.c @@ -1651,6 +1651,7 @@ access_can_touch_variable (tree ref, tree alias, HOST_WIDE_INT offset, terms of SFT_PARENT_VAR, that is where it is. However, the access through the foo pointer will be at offset 0. */ + if (size != -1 && TREE_CODE (alias) == STRUCT_FIELD_TAG && base @@ -1666,6 +1667,7 @@ access_can_touch_variable (tree ref, tree alias, HOST_WIDE_INT offset, #endif return false; } + /* Without strict aliasing, it is impossible for a component access through a pointer to touch a random variable, unless that variable *is* a structure or a pointer. @@ -1693,6 +1695,7 @@ access_can_touch_variable (tree ref, tree alias, HOST_WIDE_INT offset, (taken from 20000623-1.c) */ + else if (ref && flag_strict_aliasing && TREE_CODE (ref) != INDIRECT_REF @@ -1710,9 +1713,11 @@ access_can_touch_variable (tree ref, tree alias, HOST_WIDE_INT offset, #endif return false; } + /* If the offset of the access is greater than the size of one of the possible aliases, it can't be touching that alias, because it would be past the end of the structure. */ + else if (ref && flag_strict_aliasing && TREE_CODE (ref) != INDIRECT_REF |