GCC Middle and Back End API Reference
Main Page
Namespaces
Data Structures
Files
File List
Globals
tree-ssa-loop-manip.h
Go to the documentation of this file.
1
/* Header file for High-level loop manipulation functions.
2
Copyright (C) 2013 Free Software Foundation, Inc.
3
4
This file is part of GCC.
5
6
GCC is free software; you can redistribute it and/or modify it under
7
the terms of the GNU General Public License as published by the Free
8
Software Foundation; either version 3, or (at your option) any later
9
version.
10
11
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12
WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with GCC; see the file COPYING3. If not see
18
<http://www.gnu.org/licenses/>. */
19
20
#ifndef GCC_TREE_SSA_LOOP_MANIP_H
21
#define GCC_TREE_SSA_LOOP_MANIP_H
22
23
typedef
void (*
transform_callback
)(
struct
loop
*,
void
*);
24
25
extern
void
create_iv
(
tree
,
tree
,
tree
,
struct
loop
*,
gimple_stmt_iterator
*,
26
bool
,
tree
*,
tree
*);
27
extern
void
rewrite_into_loop_closed_ssa
(
bitmap
,
unsigned
);
28
extern
void
verify_loop_closed_ssa
(
bool
);
29
extern
basic_block
split_loop_exit_edge
(
edge
);
30
extern
basic_block
ip_end_pos
(
struct
loop
*);
31
extern
basic_block
ip_normal_pos
(
struct
loop
*);
32
extern
void
standard_iv_increment_position
(
struct
loop
*,
33
gimple_stmt_iterator
*,
bool
*);
34
extern
bool
gimple_duplicate_loop_to_header_edge
(
struct
loop
*,
edge
,
35
unsigned
int
,
sbitmap
,
36
edge
,
vec<edge>
*,
37
int
);
38
extern
bool
can_unroll_loop_p
(
struct
loop
*
loop
,
unsigned
factor,
39
struct
tree_niter_desc
*niter);
40
extern
void
tree_transform_and_unroll_loop
(
struct
loop
*,
unsigned
,
41
edge
,
struct
tree_niter_desc
*,
42
transform_callback
,
void
*);
43
extern
void
tree_unroll_loop
(
struct
loop
*,
unsigned
,
44
edge
,
struct
tree_niter_desc
*);
45
extern
tree
canonicalize_loop_ivs
(
struct
loop
*,
tree
*,
bool
);
46
47
48
49
#endif
/* GCC_TREE_SSA_LOOP_MANIP_H */
gcc
tree-ssa-loop-manip.h
Generated by
1.8.1.1