Mercurial > hg > CbC > CbC_gcc
comparison gcc/doc/gimple.texi @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 @c Copyright (C) 2008-2017 Free Software Foundation, Inc. | 1 @c Copyright (C) 2008-2018 Free Software Foundation, Inc. |
2 @c Free Software Foundation, Inc. | 2 @c Free Software Foundation, Inc. |
3 @c This is part of the GCC manual. | 3 @c This is part of the GCC manual. |
4 @c For copying conditions, see the file gcc.texi. | 4 @c For copying conditions, see the file gcc.texi. |
5 | 5 |
6 @node GIMPLE | 6 @node GIMPLE |
829 | 829 |
830 @deftypefn {GIMPLE function} bool is_gimple_omp (gimple g) | 830 @deftypefn {GIMPLE function} bool is_gimple_omp (gimple g) |
831 Return true if g is any of the OpenMP codes. | 831 Return true if g is any of the OpenMP codes. |
832 @end deftypefn | 832 @end deftypefn |
833 | 833 |
834 @deftypefn {GIMPLE function} gimple_debug_begin_stmt_p (gimple g) | |
835 Return true if g is a @code{GIMPLE_DEBUG} that marks the beginning of | |
836 a source statement. | |
837 @end deftypefn | |
838 | |
839 @deftypefn {GIMPLE function} gimple_debug_inline_entry_p (gimple g) | |
840 Return true if g is a @code{GIMPLE_DEBUG} that marks the entry | |
841 point of an inlined function. | |
842 @end deftypefn | |
843 | |
844 @deftypefn {GIMPLE function} gimple_debug_nonbind_marker_p (gimple g) | |
845 Return true if g is a @code{GIMPLE_DEBUG} that marks a program location, | |
846 without any variable binding. | |
847 @end deftypefn | |
848 | |
834 @node Manipulating GIMPLE statements | 849 @node Manipulating GIMPLE statements |
835 @section Manipulating GIMPLE statements | 850 @section Manipulating GIMPLE statements |
836 @cindex Manipulating GIMPLE statements | 851 @cindex Manipulating GIMPLE statements |
837 | 852 |
838 This section documents all the functions available to handle each | 853 This section documents all the functions available to handle each |
1528 | 1543 |
1529 @node @code{GIMPLE_DEBUG} | 1544 @node @code{GIMPLE_DEBUG} |
1530 @subsection @code{GIMPLE_DEBUG} | 1545 @subsection @code{GIMPLE_DEBUG} |
1531 @cindex @code{GIMPLE_DEBUG} | 1546 @cindex @code{GIMPLE_DEBUG} |
1532 @cindex @code{GIMPLE_DEBUG_BIND} | 1547 @cindex @code{GIMPLE_DEBUG_BIND} |
1548 @cindex @code{GIMPLE_DEBUG_BEGIN_STMT} | |
1549 @cindex @code{GIMPLE_DEBUG_INLINE_ENTRY} | |
1533 | 1550 |
1534 @deftypefn {GIMPLE function} gdebug *gimple_build_debug_bind (tree var, @ | 1551 @deftypefn {GIMPLE function} gdebug *gimple_build_debug_bind (tree var, @ |
1535 tree value, gimple stmt) | 1552 tree value, gimple stmt) |
1536 Build a @code{GIMPLE_DEBUG} statement with @code{GIMPLE_DEBUG_BIND} of | 1553 Build a @code{GIMPLE_DEBUG} statement with @code{GIMPLE_DEBUG_BIND} |
1537 @code{subcode}. The effect of this statement is to tell debug | 1554 @code{subcode}. The effect of this statement is to tell debug |
1538 information generation machinery that the value of user variable | 1555 information generation machinery that the value of user variable |
1539 @code{var} is given by @code{value} at that point, and to remain with | 1556 @code{var} is given by @code{value} at that point, and to remain with |
1540 that value until @code{var} runs out of scope, a | 1557 that value until @code{var} runs out of scope, a |
1541 dynamically-subsequent debug bind statement overrides the binding, or | 1558 dynamically-subsequent debug bind statement overrides the binding, or |
1602 @deftypefn {GIMPLE function} bool gimple_debug_bind_has_value_p (gimple stmt) | 1619 @deftypefn {GIMPLE function} bool gimple_debug_bind_has_value_p (gimple stmt) |
1603 Return @code{TRUE} if @code{stmt} binds a user variable to a value, | 1620 Return @code{TRUE} if @code{stmt} binds a user variable to a value, |
1604 and @code{FALSE} if it unbinds the variable. | 1621 and @code{FALSE} if it unbinds the variable. |
1605 @end deftypefn | 1622 @end deftypefn |
1606 | 1623 |
1624 @deftypefn {GIMPLE function} gimple gimple_build_debug_begin_stmt (tree block, location_t location) | |
1625 Build a @code{GIMPLE_DEBUG} statement with | |
1626 @code{GIMPLE_DEBUG_BEGIN_STMT} @code{subcode}. The effect of this | |
1627 statement is to tell debug information generation machinery that the | |
1628 user statement at the given @code{location} and @code{block} starts at | |
1629 the point at which the statement is inserted. The intent is that side | |
1630 effects (e.g. variable bindings) of all prior user statements are | |
1631 observable, and that none of the side effects of subsequent user | |
1632 statements are. | |
1633 @end deftypefn | |
1634 | |
1635 @deftypefn {GIMPLE function} gimple gimple_build_debug_inline_entry (tree block, location_t location) | |
1636 Build a @code{GIMPLE_DEBUG} statement with | |
1637 @code{GIMPLE_DEBUG_INLINE_ENTRY} @code{subcode}. The effect of this | |
1638 statement is to tell debug information generation machinery that a | |
1639 function call at @code{location} underwent inline substitution, that | |
1640 @code{block} is the enclosing lexical block created for the | |
1641 substitution, and that at the point of the program in which the stmt is | |
1642 inserted, all parameters for the inlined function are bound to the | |
1643 respective arguments, and none of the side effects of its stmts are | |
1644 observable. | |
1645 @end deftypefn | |
1646 | |
1607 @node @code{GIMPLE_EH_FILTER} | 1647 @node @code{GIMPLE_EH_FILTER} |
1608 @subsection @code{GIMPLE_EH_FILTER} | 1648 @subsection @code{GIMPLE_EH_FILTER} |
1609 @cindex @code{GIMPLE_EH_FILTER} | 1649 @cindex @code{GIMPLE_EH_FILTER} |
1610 | 1650 |
1611 @deftypefn {GIMPLE function} geh_filter *gimple_build_eh_filter (tree types, @ | 1651 @deftypefn {GIMPLE function} geh_filter *gimple_build_eh_filter (tree types, @ |