Home | History | Annotate | Download | only in analyzer

Lines Matching refs:region

41    of region.  */
67 /* Region and its subclasses.
72 region
97 Regions form a tree-like hierarchy, with a root region at the base,
100 within the frames and the "globals" region. Regions for structs
103 class region
106 virtual ~region ();
109 static int cmp_ids (const region *reg1, const region *reg2);
137 const region *get_parent_region () const { return m_parent; }
138 const region *get_base_region () const;
140 bool descendent_of_p (const region *elder) const;
166 /* Attempt to get the size of this region as a concrete number of bytes.
171 /* Attempt to get the size of this region as a concrete number of bits.
176 /* Get a symbolic value describing the size of this region in bytes
180 /* Attempt to get the offset in bits of this region relative to its parent.
185 /* Attempt to get the position and size of this region expressed as a
196 auto_vec <const region *> *out) const;
200 /* For most base regions it makes sense to track the bindings of the region
210 region (complexity c, unsigned id, const region *parent, tree type);
217 const region *m_parent;
228 is_a_helper <const region *>::test (const region *)
235 /* Abstract subclass of region, for regions that represent an untyped
238 class space_region : public region
241 space_region (unsigned id, const region *parent)
242 : region (complexity (parent), id, parent, NULL_TREE)
248 The parent is the stack region; there's also a hierarchy of call-stack
255 where the parent region for each of the frames is the "stack" region.
296 frame_region (unsigned id, const region *parent,
304 /* region vfuncs. */
327 /* Implemented in region-model-manager.cc. */
347 is_a_helper <const frame_region *>::test (const region *reg)
365 globals_region (unsigned id, const region *parent)
369 /* region vfuncs. */
379 is_a_helper <const globals_region *>::test (const region *reg)
392 code_region (unsigned id, const region *parent)
396 /* region vfuncs. */
406 is_a_helper <const code_region *>::test (const region *reg)
413 /* Concrete region subclass. A region representing the code for
416 class function_region : public region
420 : region (complexity (parent), id, parent, TREE_TYPE (fndecl)),
426 /* region vfuncs. */
443 is_a_helper <const function_region *>::test (const region *reg)
450 /* Concrete region subclass. A region representing a particular label
453 class label_region : public region
457 : region (complexity (parent), id, parent, NULL_TREE), m_label (label)
462 /* region vfuncs. */
477 is_a_helper <const label_region *>::test (const region *reg)
490 stack_region (unsigned id, region *parent)
504 is_a_helper <const stack_region *>::test (const region *reg)
511 /* Concrete space_region subclass: a region within which regions can be
517 heap_region (unsigned id, region *parent)
530 is_a_helper <const heap_region *>::test (const region *reg)
537 /* Concrete region subclass. The root region, containing all regions
541 class root_region : public region
555 is_a_helper <const root_region *>::test (const region *reg)
562 /* Concrete region subclass: a region to use when dereferencing an unknown
565 class symbolic_region : public region
571 key_t (const region *parent, const svalue *sval_ptr)
598 const region *m_parent;
602 symbolic_region (unsigned id, region *parent, const svalue *sval_ptr);
622 is_a_helper <const symbolic_region *>::test (const region *reg)
635 /* Concrete region subclass representing the memory occupied by a
639 class decl_region : public region
642 decl_region (unsigned id, const region *parent, tree decl)
643 : region (complexity (parent), id, parent, TREE_TYPE (decl)), m_decl (decl),
680 is_a_helper <const decl_region *>::test (const region *reg)
687 /* Concrete region subclass representing the memory occupied by a
690 class field_region : public region
696 key_t (const region *parent, tree field)
720 const region *m_parent;
724 field_region (unsigned id, const region *parent, tree field)
725 : region (complexity (parent), id, parent, TREE_TYPE (field)),
748 is_a_helper <const field_region *>::test (const region *reg)
763 class element_region : public region
769 key_t (const region *parent, tree element_type, const svalue *index)
799 const region *m_parent;
804 element_region (unsigned id, const region *parent, tree element_type,
806 : region (complexity::from_pair (parent, index), id, parent, element_type),
832 is_a_helper <const element_region *>::test (const region *reg)
845 /* A byte-offset within another region, for handling pointer arithmetic
846 as a region. */
848 class offset_region : public region
854 key_t (const region *parent, tree element_type, const svalue *byte_offset)
884 const region *m_parent;
889 offset_region (unsigned id, const region *parent, tree type,
891 : region (complexity::from_pair (parent, byte_offset), id, parent, type),
916 is_a_helper <const offset_region *>::test (const region *reg)
929 /* A region that is size BYTES_SIZE_SVAL in size within its parent
930 region (or possibly larger, which would lead to an overflow. */
932 class sized_region : public region
938 key_t (const region *parent, tree element_type,
970 const region *m_parent;
976 sized_region (unsigned id, const region *parent, tree type,
978 : region (complexity::from_pair (parent, byte_size_sval),
1009 is_a_helper <const sized_region *>::test (const region *reg)
1022 /* A region that views another region using a different type. */
1024 class cast_region : public region
1030 key_t (const region *original_region, tree type)
1055 const region *m_original_region;
1059 cast_region (unsigned id, const region *original_region, tree type)
1060 : region (complexity (original_region), id,
1071 const region *get_original_region () const { return m_original_region; }
1074 const region *m_original_region;
1082 is_a_helper <const cast_region *>::test (const region *reg)
1095 /* An untyped region dynamically allocated on the heap via "malloc"
1098 class heap_allocated_region : public region
1101 heap_allocated_region (unsigned id, const region *parent)
1102 : region (complexity (parent), id, parent, NULL_TREE)
1111 /* An untyped region dynamically allocated on the stack via "alloca". */
1113 class alloca_region : public region
1117 : region (complexity (parent), id, parent, NULL_TREE)
1125 /* A region for a STRING_CST. */
1127 class string_region : public region
1130 string_region (unsigned id, const region *parent, tree string_cst)
1131 : region (complexity (parent), id, parent, TREE_TYPE (string_cst)),
1153 is_a_helper <const string_region *>::test (const region *reg)
1160 /* A region for a specific range of bits within another region. */
1162 class bit_range_region : public region
1168 key_t (const region *parent, tree type, const bit_range &bits)
1191 void mark_deleted () { m_parent = reinterpret_cast<const region *> (1); }
1195 return m_parent == reinterpret_cast<const region *> (1);
1199 const region *m_parent;
1204 bit_range_region (unsigned id, const region *parent, tree type,
1206 : region (complexity (parent), id, parent, type),
1233 is_a_helper <const bit_range_region *>::test (const region *reg)
1246 /* An unknown region, for handling unimplemented tree codes. */
1248 class unknown_region : public region
1251 unknown_region (unsigned id, const region *parent, tree type)
1252 : region (complexity (parent), id, parent, type)