diff options
| author | dberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-04-04 14:06:53 +0000 |
|---|---|---|
| committer | dberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-04-04 14:06:53 +0000 |
| commit | 69e11d3c64339b9919d8279630a031d6a7727f90 (patch) | |
| tree | 372560c723427398d41692efcd54e8b8e8c69e57 | |
| parent | 403157f922066d7381ec30ffd920689dba3988c9 (diff) | |
| download | ppe42-gcc-69e11d3c64339b9919d8279630a031d6a7727f90.tar.gz ppe42-gcc-69e11d3c64339b9919d8279630a031d6a7727f90.zip | |
2006-04-04 Daniel Berlin <dberlin@dberlin.org>
* doc/tree-ssa.texi (Preserving the virtual ssa form): New
subsection.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112665 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/doc/tree-ssa.texi | 20 |
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 79b0ee52b81..3502b56b28a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-04-04 Daniel Berlin <dberlin@dberlin.org> + + * doc/tree-ssa.texi (Preserving the virtual ssa form): New + subsection. + 2006-04-04 Matthias Klose <doko@debian.org> * Makefile.in (unprotoize.o): Same dependencies as for protoize.o. diff --git a/gcc/doc/tree-ssa.texi b/gcc/doc/tree-ssa.texi index e2a657a3a13..359f07864f8 100644 --- a/gcc/doc/tree-ssa.texi +++ b/gcc/doc/tree-ssa.texi @@ -1384,6 +1384,26 @@ There are several @code{TODO} flags that control the behavior of renaming are processed@. @end itemize +@subsection Preserving the virtual SSA form +@cindex preserving virtual SSA form + +The virtual SSA form is harder to preserve than the non-virtual SSA form +mainly because the set of virtual operands for a statement may change at +what some would consider unexpected times. In general, any time you +have modified a statement that has virtual operands, you should verify +whether the list of virtual operands has changed, and if so, mark the +newly exposed symbols by callnig @code{mark_new_vars_to_rename}. + +There is one additional caveat to preserving virtual SSA form. When the +entire set of virtual operands may be eliminated due to better +disambiguation, a bare SMT will be added to the list of virtual +operands, to signify the non-visible aliases that the are still being +referenced. If the set of bare SMT's may change, +@code{TODO_update_smt_usage} should be added to the todo flags. + +With the current pruning code, this can only occur when constants are +propagated into array references that were previously non-constant, or +address expressions are propagated into their uses. @subsection Examining @code{SSA_NAME} nodes @cindex examining SSA_NAMEs |

