GCC Middle and Back End API Reference
assert_locus_d Struct Reference
Collaboration diagram for assert_locus_d:

Data Fields

basic_block bb
edge e
gimple_stmt_iterator si
enum tree_code comp_code
tree val
tree expr
struct assert_locus_dnext

Detailed Description

Location information for ASSERT_EXPRs. Each instance of this structure describes an ASSERT_EXPR for an SSA name. Since a single SSA name may have more than one assertion associated with it, these locations are kept in a linked list attached to the corresponding SSA name.


Field Documentation

basic_block assert_locus_d::bb

Basic block where the assertion would be inserted.

Referenced by dump_value_range().

enum tree_code assert_locus_d::comp_code

Predicate code for the ASSERT_EXPR. Must be COMPARISON_CLASS_P.

Referenced by dump_value_range().

edge assert_locus_d::e

Some assertions need to be inserted on an edge (e.g., assertions generated by COND_EXPRs). In those cases, BB will be NULL.

Referenced by dump_value_range().

tree assert_locus_d::expr

Expression to compare.

Referenced by dump_value_range().

struct assert_locus_d* assert_locus_d::next

Next node in the linked list.

Referenced by dump_value_range(), and find_switch_asserts().

gimple_stmt_iterator assert_locus_d::si

Pointer to the statement that generated this assertion.

Referenced by dump_value_range().

tree assert_locus_d::val

Value being compared against.

Referenced by dump_value_range().


The documentation for this struct was generated from the following file: