<commit_before>/*
 * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
 *
 * This file is part of libFirm.
 *
 * This file may be distributed and/or modified under the terms of the
 * GNU General Public License version 2 as published by the Free Software
 * Foundation and appearing in the file LICENSE.GPL included in the
 * packaging of this file.
 *
 * Licensees holding valid libFirm Professional Edition licenses may use
 * this file in accordance with the libFirm Commercial License.
 * Agreement provided with the Software.
 *
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE.
 */

/**
 * @file
 * @brief   Generic hooks for various libFirm functions.
 * @author  <NAME>
 * @version $Id$
 */
#ifndef FIRM_IR_IRHOOKS_H
#define FIRM_IR_IRHOOKS_H

#include "firm_config.h"
#include "irop.h"
#include "irnode.h"
#include "irgraph.h"

/**
 * options for the hook_merge_nodes hook
 */
typedef enum {
	HOOK_OPT_DEAD_BLOCK,  /**< a block was removed because it's dead */
	HOOK_OPT_STG,         /**< straightening optimization */
	HOOK_OPT_IFSIM,       /**< if simplification */
	HOOK_OPT_CONST_EVAL,  /**< constant evaluation */
	HOOK_OPT_ALGSIM,      /**< algebraic simplification */
	HOOK_OPT_PHI,         /**< Phi optmization */
	HOOK_OPT_SYNC,        /**< Sync optmization */
	HOOK_OPT_WAW,         /**< Write-After-Write optimization */
	HOOK_OPT_WAR,         /**< Write-After-Read optimization */
	HOOK_OPT_RAW,         /**< Read-After-Write optimization */
	HOOK_OPT_RAR,         /**< Read-After-Read optimization */
	HOOK_OPT_RC,          /**< Read-a-Const optimization */
	HOOK_OPT_TUPLE,       /**< Tuple optimization */
	HOOK_OPT_ID,          /**< ID optimization */
	HOOK_OPT_CSE,         /**< common subexpression elimination */
	HOOK_OPT_STRENGTH_RED,/**< strength reduction */
	HOOK_OPT_ARCH_DEP,    /**< architecture dependent optimization */
	HOOK_OPT_REASSOC,     /**< reassociation */
	HOOK_OPT_POLY_CALL,   /**< polymorphic call optimization */
	HOOK_OPT_IF_CONV,     /**< an if conversion was tried */
	HOOK_OPT_FUNC_CALL,   /**< a real function call was removed */
	HOOK_OPT_CONFIRM,     /**< a value was substituted by another due to a Confirm */
	HOOK_OPT_CONFIRM_C,   /**< a value was substituted by a const due to a Confirm */<commit_msg>typo fixed<commit_after>/*
 * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
 *
 * This file is part of libFirm.
 *
 * This file may be distributed and/or modified under the terms of the
 * GNU General Public License version 2 as published by the Free Software
 * Foundation and appearing in the file LICENSE.GPL included in the
 * packaging of this file.
 *
 * Licensees holding valid libFirm Professional Edition licenses may use
 * this file in accordance with the libFirm Commercial License.
 * Agreement provided with the Software.
 *
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE.
 */

/**
 * @file
 * @brief   Generic hooks for various libFirm functions.
 * @author  <NAME>
 * @version $Id$
 */
#ifndef FIRM_IR_IRHOOKS_H
#define FIRM_IR_IRHOOKS_H

#include "firm_config.h"
#include "irop.h"
#include "irnode.h"
#include "irgraph.h"

/**
 * options for the hook_merge_nodes hook
 */
typedef enum {
	HOOK_OPT_DEAD_BLOCK,  /**< a block was removed because it's dead */
	HOOK_OPT_STG,         /**< straightening optimization */
	HOOK_OPT_IFSIM,       /**< if simplification */
	HOOK_OPT_CONST_EVAL,  /**< constant evaluation */
	HOOK_OPT_ALGSIM,      /**< algebraic simplification */
	HOOK_OPT_PHI,         /**< Phi optimization */
	HOOK_OPT_SYNC,        /**< Sync optimization */
	HOOK_OPT_WAW,         /**< Write-After-Write optimization */
	HOOK_OPT_WAR,         /**< Write-After-Read optimization */
	HOOK_OPT_RAW,         /**< Read-After-Write optimization */
	HOOK_OPT_RAR,         /**< Read-After-Read optimization */
	HOOK_OPT_RC,          /**< Read-a-Const optimization */
	HOOK_OPT_TUPLE,       /**< Tuple optimization */
	HOOK_OPT_ID,          /**< ID optimization */
	HOOK_OPT_CSE,         /**< common subexpression elimination */
	HOOK_OPT_STRENGTH_RED,/**< strength reduction */
	HOOK_OPT_ARCH_DEP,    /**< architecture dependent optimization */
	HOOK_OPT_REASSOC,     /**< reassociation */
	HOOK_OPT_POLY_CALL,   /**< polymorphic call optimization */
	HOOK_OPT_IF_CONV,     /**< an if conversion was tried */
	HOOK_OPT_FUNC_CALL,   /**< a real function call was removed */
	HOOK_OPT_CONFIRM,     /**< a value was substituted by another due to a Confirm */
	HOOK_OPT_CONFIRM_C,   /**< a value was substituted by a const due to a Confirm */
{'fraction_non_alphanumeric': 0.10554973821989529, 'fraction_numerical': 0.003769633507853403, 'mean_word_length': 3.2949640287769784, 'pattern_counts': {'":': 0, '<': 51, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1748310', 'n_tokens_mistral': 1541, 'n_tokens_neox': 1492, 'n_words': 465}