diff options
author | Alex Samuel <samuel@gcc.gnu.org> | 2000-03-10 08:16:55 +0000 |
---|---|---|
committer | Alex Samuel <samuel@gcc.gnu.org> | 2000-03-10 08:16:55 +0000 |
commit | d9d4fb433e86047a5bab699548322cfa745795d6 (patch) | |
tree | 03e5dea61e82a209e52f9313b2506ef3fc4b78a4 /gcc/rtl.def | |
parent | ea7f51a4af057b3a231b25fc037417373a5421cd (diff) | |
download | gcc-d9d4fb433e86047a5bab699548322cfa745795d6.zip gcc-d9d4fb433e86047a5bab699548322cfa745795d6.tar.gz gcc-d9d4fb433e86047a5bab699548322cfa745795d6.tar.bz2 |
Changes in include:
* partition.h: New file.
Changes in libiberty:
* Makefile.in (CFILES): Add partition.c.
(REQUIRED_OFILES): Add partition.o.
(partition.o): New rule.
* partition.c: New file.
Changes in gcc:
* Makefile.in (ssa.o): New rule.
(OBJS): Add ssa.o.
(STAGESTUFF): Add *.ssa and *.ussa.
(mostlyclean): Delete *.ssa, *.ussa, */*.ssa, */*.ussa.
* rtl.def (PHI): New RTL expression.
* rtl.h (clear_log_links): New declaration.
(convert_to_ssa): Likewise.
(convert_from_ssa): Likewise.
* flow.c (split_edge): If the entry node falls through to the
split edge's source block, split the entry edge.
(clear_log_links): New function.
* toplev.c (ssa_dump): New variable.
(flag_ssa): Likewise.
(f_options): Add "ssa".
(compile_file): Create SSA dump files.
(rest_of_compilation): Go to and from SSA if enabled.
(decide_d_option): Handle -de for SSA dump files.
* ssa.c: New file.
From-SVN: r32465
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r-- | gcc/rtl.def | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def index 996a38e..fd2f13d 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -880,6 +880,21 @@ DEF_RTL_EXPR(CONSTANT_P_RTX, "constant_p_rtx", "e", 'x') after we select a call method. */ DEF_RTL_EXPR(CALL_PLACEHOLDER, "call_placeholder", "uuuu", 'x') +/* The SSA phi operator. + + The argument is a vector of 2N rtxes. Element 2N+1 is a CONST_INT + containing the block number of the predecessor through which control + has passed when the register at element 2N is used. + + Note that PHI may only appear at the beginning of a basic block. + + ??? There may be multiple PHI insns, but they are all evaluated + in parallel. This probably ought to be changed to use a real + PARALLEL, as that would be less confusing and more in the spirit + of canonical RTL. It is, however, easier to manipulate this way. */ +DEF_RTL_EXPR(PHI, "phi", "E", 'x') + + /* Local variables: mode:c |