summaryrefslogtreecommitdiffstats
path: root/gcc/doc/gimple.texi
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-04 13:03:02 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-04 13:03:02 +0000
commit49a701754404dae1846ba49062fbc54a3b7c24a2 (patch)
treee122d3a36874476f12e63764b611e6ee436001d2 /gcc/doc/gimple.texi
parentc1a60a68d27bb1918025c040ed41c27548e4f0aa (diff)
downloadppe42-gcc-49a701754404dae1846ba49062fbc54a3b7c24a2.tar.gz
ppe42-gcc-49a701754404dae1846ba49062fbc54a3b7c24a2.zip
* gimple.h (gimple_build_switch): Remove.
(gimple_build_switch_vec): Promote to the new gimple_build_switch. (gimple_switch_default_label): Assert the default case label is really a default case label. (gimple_switch_set_default_label): Likewise. * gimple.c (gimple_build_switch_nlabels): Make sure a default label is passed in, and simplify accordingly. (gimple_build_switch): Removed. (gimple_build_switch_vec): Rename to gimple_build_switch. * gimplify.c (gimplify_switch_expr): Update gimple_build_switch use. * gimple-pretty-print.c (dump_gimple_switch): Do not accept a NULL case label. * stmt.c (expand_case): Simplify using the fact that every GIMPLE switch must have a default case. * tree-cfg.c (group_case_labels_stmt): Likewise. (verify_gimple_switch): Use gimple_switch_label in verifier to get the label at index 0, and verify that it is a valid default case. * except.c (sjlj_emit_dispatch_table): Rewrite construction of the switch for dispatching. * tree-eh.c (lower_try_finally_switch): Update gimple_build_switch use. (lower_eh_dispatch): Likewise. * tree-vrp.c (execute_vrp): Use gimple_switch_label to get the case label at index 0 before turning it into a default case label. * omp-low.c (expand_omp_sections): Update gimple_build_switch use. * tree-switch-conversion.c (emit_case_bit_tests): Get the default case label using gimple_switch_default_label. (collect_switch_conv_info): Likewise. (process_switch): Likewise. * doc/gimple.texi: Update documentation of gimple_build_switch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190925 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/gimple.texi')
-rw-r--r--gcc/doc/gimple.texi19
1 files changed, 5 insertions, 14 deletions
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index fa31eb00ea0..f4a65478d13 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -2034,21 +2034,12 @@ Set @code{RETVAL} to be the return value for @code{GIMPLE_RETURN} @code{G}.
@subsection @code{GIMPLE_SWITCH}
@cindex @code{GIMPLE_SWITCH}
-@deftypefn {GIMPLE function} gimple gimple_build_switch (unsigned nlabels, @
-tree index, tree default_label, ...)
-Build a @code{GIMPLE_SWITCH} statement. @code{NLABELS} are the number of
-labels excluding the default label. The default label is passed
-in @code{DEFAULT_LABEL}. The rest of the arguments are trees
-representing the labels. Each label is a tree of code
-@code{CASE_LABEL_EXPR}.
-@end deftypefn
-
-@deftypefn {GIMPLE function} gimple gimple_build_switch_vec (tree index, tree @
+@deftypefn {GIMPLE function} gimple gimple_build_switch (tree index, tree @
default_label, @code{VEC}(tree,heap) *args)
-This function is an alternate way of building @code{GIMPLE_SWITCH}
-statements. @code{INDEX} and @code{DEFAULT_LABEL} are as in
-gimple_build_switch. @code{ARGS} is a vector of @code{CASE_LABEL_EXPR} trees
-that contain the labels.
+Build a @code{GIMPLE_SWITCH} statement. @code{INDEX} is the index variable
+to switch on, and @code{DEFAULT_LABEL} represents the default label.
+@code{ARGS} is a vector of @code{CASE_LABEL_EXPR} trees that contain the
+non-default case labels. Each label is a tree of code @code{CASE_LABEL_EXPR}.
@end deftypefn
@deftypefn {GIMPLE function} unsigned gimple_switch_num_labels (gimple g)
OpenPOWER on IntegriCloud