<commit_before>/*
 * Project:     libFIRM
 * File name:   ir/ana/trouts.h
 * Purpose:     Reverse edges that reference types/entities.
 * Author:      <NAME>
 * Modified by:
 * Created:     29.10.2004
 * CVS-ID:      $Id$
 * Copyright:   (c) 2004 Universitt Karlsruhe
 * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
 */

/**
 * @file trouts.h
 *
 * Trouts list all uses of types and entities.
 * Each type gets a list of all Alloc nodes allocating it.
 * Each entity gets two lists:
 *   - one containing all accesses (Load, (Call), Store),
 *   - and one containing all uses to get a reference (Sel, SymConst).
 *
 * @todo
 *   To list all uses of entities of a type, we also should list all
 *   static/automatic allocated entities in types.  The Alloc nodes
 *   represent only the dynamic allocated entities.
 *
 * @author <NAME>
 *
 */

# ifndef _TROUTS_H_
# define _TROUTS_H_

#include "type.h"
#include "entity.h"
#include "irnode.h"

/*-----------------------------------------------------------------*/
/* Accessing the trout datastructures.                             */
/* These routines only work properly if firm is in state           */
/* trouts_consistent or trouts_inconsistent.                       */
/*-----------------------------------------------------------------*/

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* entities                                                        */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

/** Number of Load/Store nodes that possibly access this entity. */<commit_msg>uses firm_types.h now<commit_after>/*
 * Project:     libFIRM
 * File name:   ir/ana/trouts.h
 * Purpose:     Reverse edges that reference types/entities.
 * Author:      <NAME>ier
 * Modified by:
 * Created:     29.10.2004
 * CVS-ID:      $Id$
 * Copyright:   (c) 2004 Universitt Karlsruhe
 * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
 */

/**
 * @file trouts.h
 *
 * Trouts list all uses of types and entities.
 * Each type gets a list of all Alloc nodes allocating it.
 * Each entity gets two lists:
 *   - one containing all accesses (Load, (Call), Store),
 *   - and one containing all uses to get a reference (Sel, SymConst).
 *
 * @todo
 *   To list all uses of entities of a type, we also should list all
 *   static/automatic allocated entities in types.  The Alloc nodes
 *   represent only the dynamic allocated entities.
 *
 * @author <NAME>
 *
 */

# ifndef _TROUTS_H_
# define _TROUTS_H_

#include "firm_types.h"
#include "irgraph.h"

/*-----------------------------------------------------------------*/
/* Accessing the trout datastructures.                             */
/* These routines only work properly if firm is in state           */
/* trouts_consistent or trouts_inconsistent.                       */
/*-----------------------------------------------------------------*/

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* entities                                                        */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

/** Number of Load/Store nodes that possibly access this entity. */
{'fraction_non_alphanumeric': 0.2080223880597015, 'fraction_numerical': 0.007462686567164179, 'mean_word_length': 1.3328498912255258, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3047384', 'n_tokens_mistral': 961, 'n_tokens_neox': 913, 'n_words': 294}