GCC Middle and Back End API Reference
|
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "tm_p.h"
#include "basic-block.h"
#include "gimple.h"
#include "tree-ssa-loop-ivopts.h"
#include "tree-ssa-loop-manip.h"
#include "tree-ssa-loop-niter.h"
#include "tree-ssa-loop.h"
#include "tree-pass.h"
#include "cfgloop.h"
#include "flags.h"
#include "tree-inline.h"
#include "tree-scalar-evolution.h"
#include "diagnostic-core.h"
#include "tree-vectorizer.h"
Macros | |
#define | MAX_LSM_NAME_LENGTH 40 |
Variables | |
static char | lsm_tmp_name [MAX_LSM_NAME_LENGTH+1] |
static int | lsm_tmp_name_length |
#define MAX_LSM_NAME_LENGTH 40 |
The name and the length of the currently generated variable for lsm.
|
static |
Check the correctness of the data dependence analyzers.
Referenced by gate_check_data_deps().
Calls CBCK for each index in memory reference ADDR_P. There are two kinds situations handled; in each of these cases, the memory reference and DATA are passed to the callback:
Access to an array: ARRAY_{RANGE_}REF (base, index). In this case we also pass the pointer to the index to the callback.
Pointer dereference: INDIRECT_REF (addr). In this case we also pass the pointer to addr to the callback.
If the callback returns false, the whole search stops and false is returned. Otherwise the function returns true after traversing through the whole reference *ADDR_P.
If the component has varying offset, it behaves like index as well.
Referenced by refs_independent_p().
|
static |
References check_data_deps(), opt_pass::execute(), opt_pass::gate(), and gimple_opt_pass::gimple_opt_pass().
|
static |
Propagation of constants using scev.
|
static |
Loop optimizations over tree-ssa. Copyright (C) 2003-2013 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/. The loop superpass.
|
static |
|
static |
|
static |
Stores the name for temporary variable that replaces REF to lsm_tmp_name.
Nothing.
char* get_lsm_tmp_name | ( | ) |
Determines name for temporary variable that replaces REF. The name is accumulated into the lsm_tmp_name variable. N is added to the name of the temporary.
|
static |
Adds S to lsm_tmp_name.
gimple_opt_pass* make_pass_check_data_deps | ( | ) |
gimple_opt_pass* make_pass_iv_optimize | ( | ) |
References GIMPLE_PASS, and OPTGROUP_LOOP.
gimple_opt_pass* make_pass_record_bounds | ( | ) |
gimple_opt_pass* make_pass_scev_cprop | ( | ) |
gimple_opt_pass* make_pass_tree_loop | ( | ) |
gimple_opt_pass* make_pass_tree_loop_done | ( | ) |
References TREE_CODE, and TREE_OPERAND.
gimple_opt_pass* make_pass_tree_loop_init | ( | ) |
References cfun, number_of_loops(), and vectorize_loops().
gimple_opt_pass* make_pass_vectorize | ( | ) |
References cfun, number_of_loops(), and tree_check_data_deps().
|
static |
unsigned tree_num_loop_insns | ( | ) |
Computes an estimated number of insns in LOOP, weighted by WEIGHTS.
Referenced by tree_ssa_unswitch_loops().
|
static |
Record bounds on numbers of iterations of loops.
References opt_pass::execute(), gimple_opt_pass::gimple_opt_pass(), GIMPLE_PASS, OPTGROUP_NONE, PROP_cfg, and PROP_ssa.
|
static |
Loop optimizer finalization.
References opt_pass::execute(), and gimple_opt_pass::gimple_opt_pass().
|
static |
Loop optimizer initialization.
We might discover new loops, e.g. when turning irreducible regions into reducible.
|
static |
Induction variable optimizations.
References GIMPLE_PASS, and OPTGROUP_LOOP.
Referenced by gate_tree_ssa_loop_ivopts().
|
static |
|
static |