aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.def
diff options
context:
space:
mode:
authorAlex Samuel <samuel@gcc.gnu.org>2000-03-10 08:16:55 +0000
committerAlex Samuel <samuel@gcc.gnu.org>2000-03-10 08:16:55 +0000
commitd9d4fb433e86047a5bab699548322cfa745795d6 (patch)
tree03e5dea61e82a209e52f9313b2506ef3fc4b78a4 /gcc/rtl.def
parentea7f51a4af057b3a231b25fc037417373a5421cd (diff)
downloadgcc-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.def15
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