Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
9c99a89c
Commit
9c99a89c
authored
Sep 06, 2010
by
Matthias Braun
Browse files
rename heights_t to ir_heights_t, improve docu a bit, rename to heights.[ch]
[r27970]
parent
8993beff
Changes
14
Show whitespace changes
Inline
Side-by-side
include/libfirm/firm.h
View file @
9c99a89c
...
@@ -71,7 +71,7 @@
...
@@ -71,7 +71,7 @@
#include
"firm_common.h"
#include
"firm_common.h"
#include
"firmstat.h"
#include
"firmstat.h"
#include
"firm_types.h"
#include
"firm_types.h"
#include
"height.h"
#include
"height
s
.h"
#include
"ident.h"
#include
"ident.h"
#include
"interval_analysis.h"
#include
"interval_analysis.h"
#include
"irarch.h"
#include
"irarch.h"
...
...
include/libfirm/firm_types.h
View file @
9c99a89c
...
@@ -39,6 +39,7 @@ typedef struct ir_node ir_node, *ir_node_ptr;
...
@@ -39,6 +39,7 @@ typedef struct ir_node ir_node, *ir_node_ptr;
typedef
struct
ir_op
ir_op
,
*
ir_op_ptr
;
typedef
struct
ir_op
ir_op
,
*
ir_op_ptr
;
typedef
struct
ir_mode
ir_mode
,
*
ir_mode_ptr
;
typedef
struct
ir_mode
ir_mode
,
*
ir_mode_ptr
;
typedef
struct
ir_edge_t
ir_edge_t
,
*
ir_edge_ptr
;
typedef
struct
ir_edge_t
ir_edge_t
,
*
ir_edge_ptr
;
typedef
struct
ir_heights_t
ir_heights_t
;
typedef
struct
tarval
tarval
,
*
ir_tarval_ptr
;
typedef
struct
tarval
tarval
,
*
ir_tarval_ptr
;
typedef
struct
ir_enum_const
ir_enum_const
,
*
ir_enum_const_ptr
;
typedef
struct
ir_enum_const
ir_enum_const
,
*
ir_enum_const_ptr
;
typedef
struct
ir_type
ir_type
,
*
ir_type_ptr
;
typedef
struct
ir_type
ir_type
,
*
ir_type_ptr
;
...
@@ -53,7 +54,6 @@ typedef struct ir_exec_freq ir_exec_freq, *ir_exec_freq_ptr;
...
@@ -53,7 +54,6 @@ typedef struct ir_exec_freq ir_exec_freq, *ir_exec_freq_ptr;
typedef
struct
ir_cdep
ir_cdep
,
*
ir_cdep_ptr
;
typedef
struct
ir_cdep
ir_cdep
,
*
ir_cdep_ptr
;
typedef
struct
sn_entry
*
seqno_t
;
typedef
struct
sn_entry
*
seqno_t
;
typedef
struct
arch_irn_ops_t
arch_irn_ops_t
;
typedef
struct
arch_irn_ops_t
arch_irn_ops_t
;
typedef
struct
ident_if_t
ident_if_t
;
typedef
struct
type_identify_if_t
type_identify_if_t
;
typedef
struct
type_identify_if_t
type_identify_if_t
;
typedef
struct
ir_graph_pass_t
ir_graph_pass_t
;
typedef
struct
ir_graph_pass_t
ir_graph_pass_t
;
typedef
struct
ir_prog_pass_t
ir_prog_pass_t
;
typedef
struct
ir_prog_pass_t
ir_prog_pass_t
;
...
...
include/libfirm/height.h
→
include/libfirm/height
s
.h
View file @
9c99a89c
...
@@ -23,6 +23,10 @@
...
@@ -23,6 +23,10 @@
* @author Sebastian Hack
* @author Sebastian Hack
* @date 19.04.2006
* @date 19.04.2006
* @version $Id$
* @version $Id$
*
* The height is a measure for the longest datadependencies path from a node to
* the end of a basic block. This is usefull for scheduling heuristics and can
* also be used to speedup reachability queries.
*/
*/
#ifndef FIRM_ANA_HEIGHTS_H
#ifndef FIRM_ANA_HEIGHTS_H
#define FIRM_ANA_HEIGHTS_H
#define FIRM_ANA_HEIGHTS_H
...
@@ -30,8 +34,6 @@
...
@@ -30,8 +34,6 @@
#include
"firm_types.h"
#include
"firm_types.h"
#include
"begin.h"
#include
"begin.h"
typedef
struct
heights_t
heights_t
;
/**
/**
* Get the height of a node inside a basic block.
* Get the height of a node inside a basic block.
* The height of the node is the maximal number of edges between a sink node in
* The height of the node is the maximal number of edges between a sink node in
...
@@ -40,16 +42,17 @@ typedef struct heights_t heights_t;
...
@@ -40,16 +42,17 @@ typedef struct heights_t heights_t;
* @param irn The node.
* @param irn The node.
* @return The height of the node.
* @return The height of the node.
*/
*/
FIRM_API
unsigned
get_irn_height
(
const
heights_t
*
h
,
const
ir_node
*
irn
);
FIRM_API
unsigned
get_irn_height
(
const
ir_
heights_t
*
h
,
const
ir_node
*
irn
);
/**
/**
* Check, if a certain node is reachable according to data dependence edges from another node.
* Check, if a certain node is reachable according to data dependence edges
* from another node. Both nodes must be in the same block.
* @param h The heights object.
* @param h The heights object.
* @param n The first node.
* @param n The first node.
* @param m The other node.
* @param m The other node.
* @return 1, if n is data dependent on m, 0 if not.
* @return 1, if n is data dependent on m, 0 if not.
*/
*/
FIRM_API
int
heights_reachable_in_block
(
heights_t
*
h
,
const
ir_node
*
n
,
FIRM_API
int
heights_reachable_in_block
(
ir_
heights_t
*
h
,
const
ir_node
*
n
,
const
ir_node
*
m
);
const
ir_node
*
m
);
/**
/**
...
@@ -57,7 +60,7 @@ FIRM_API int heights_reachable_in_block(heights_t *h, const ir_node *n,
...
@@ -57,7 +60,7 @@ FIRM_API int heights_reachable_in_block(heights_t *h, const ir_node *n,
* This can be used to recompute the height information if the graph has changed since the last computation.
* This can be used to recompute the height information if the graph has changed since the last computation.
* @param h The heights object.
* @param h The heights object.
*/
*/
FIRM_API
void
heights_recompute
(
heights_t
*
h
);
FIRM_API
void
heights_recompute
(
ir_
heights_t
*
h
);
/**
/**
* Recompute the height information for a certain block.
* Recompute the height information for a certain block.
...
@@ -66,20 +69,20 @@ FIRM_API void heights_recompute(heights_t *h);
...
@@ -66,20 +69,20 @@ FIRM_API void heights_recompute(heights_t *h);
* @param block The block
* @param block The block
* @return The maximum over all heights in the block.
* @return The maximum over all heights in the block.
*/
*/
FIRM_API
unsigned
heights_recompute_block
(
heights_t
*
h
,
ir_node
*
block
);
FIRM_API
unsigned
heights_recompute_block
(
ir_
heights_t
*
h
,
ir_node
*
block
);
/**
/**
* Make a new heights object.
* Make a new heights object.
* This also computes the heights for each block in the graph.
* This also computes the heights for each block in the graph.
* @param irg The graph.
* @param irg The graph.
*/
*/
FIRM_API
heights_t
*
heights_new
(
ir_graph
*
irg
);
FIRM_API
ir_
heights_t
*
heights_new
(
ir_graph
*
irg
);
/**
/**
* Free a heights object.
* Free a heights object.
* @param h The heights object.
* @param h The heights object.
*/
*/
FIRM_API
void
heights_free
(
heights_t
*
h
);
FIRM_API
void
heights_free
(
ir_
heights_t
*
h
);
#include
"end.h"
#include
"end.h"
...
...
ir/ana/height.c
→
ir/ana/height
s
.c
View file @
9c99a89c
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
*/
*/
#include
"config.h"
#include
"config.h"
#include
"height.h"
#include
"height
s
.h"
#include
<stdlib.h>
#include
<stdlib.h>
#include
<stdio.h>
#include
<stdio.h>
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
#include
"irphase_t.h"
#include
"irphase_t.h"
#include
"iredges_t.h"
#include
"iredges_t.h"
struct
heights_t
{
struct
ir_
heights_t
{
ir_phase
phase
;
ir_phase
phase
;
unsigned
visited
;
unsigned
visited
;
void
*
dump_handle
;
void
*
dump_handle
;
...
@@ -70,7 +70,7 @@ static void *irn_height_reinit(ir_phase *phase, const ir_node *node,
...
@@ -70,7 +70,7 @@ static void *irn_height_reinit(ir_phase *phase, const ir_node *node,
static
void
height_dump_cb
(
void
*
data
,
FILE
*
f
,
const
ir_node
*
irn
)
static
void
height_dump_cb
(
void
*
data
,
FILE
*
f
,
const
ir_node
*
irn
)
{
{
heights_t
*
heights
=
data
;
ir_
heights_t
*
heights
=
data
;
irn_height_t
*
h
=
phase_get_irn_data
(
&
heights
->
phase
,
irn
);
irn_height_t
*
h
=
phase_get_irn_data
(
&
heights
->
phase
,
irn
);
if
(
h
)
if
(
h
)
...
@@ -84,7 +84,8 @@ static void height_dump_cb(void *data, FILE *f, const ir_node *irn)
...
@@ -84,7 +84,8 @@ static void height_dump_cb(void *data, FILE *f, const ir_node *irn)
* @param tgt The node we try to reach.
* @param tgt The node we try to reach.
* @return 1, one of tgt can be reached from curr, 0 else.
* @return 1, one of tgt can be reached from curr, 0 else.
*/
*/
static
bool
search
(
const
heights_t
*
h
,
const
ir_node
*
curr
,
const
ir_node
*
tgt
)
static
bool
search
(
const
ir_heights_t
*
h
,
const
ir_node
*
curr
,
const
ir_node
*
tgt
)
{
{
irn_height_t
*
h_curr
;
irn_height_t
*
h_curr
;
irn_height_t
*
h_tgt
;
irn_height_t
*
h_tgt
;
...
@@ -127,7 +128,7 @@ static bool search(const heights_t *h, const ir_node *curr, const ir_node *tgt)
...
@@ -127,7 +128,7 @@ static bool search(const heights_t *h, const ir_node *curr, const ir_node *tgt)
* Check, if one node can be reached from another one, according to data
* Check, if one node can be reached from another one, according to data
* dependence.
* dependence.
*/
*/
int
heights_reachable_in_block
(
heights_t
*
h
,
const
ir_node
*
n
,
int
heights_reachable_in_block
(
ir_
heights_t
*
h
,
const
ir_node
*
n
,
const
ir_node
*
m
)
const
ir_node
*
m
)
{
{
int
res
=
0
;
int
res
=
0
;
...
@@ -151,7 +152,7 @@ int heights_reachable_in_block(heights_t *h, const ir_node *n,
...
@@ -151,7 +152,7 @@ int heights_reachable_in_block(heights_t *h, const ir_node *n,
* @param irn The node.
* @param irn The node.
* @param bl The block.
* @param bl The block.
*/
*/
static
unsigned
compute_height
(
heights_t
*
h
,
ir_node
*
irn
,
const
ir_node
*
bl
)
static
unsigned
compute_height
(
ir_
heights_t
*
h
,
ir_node
*
irn
,
const
ir_node
*
bl
)
{
{
irn_height_t
*
ih
=
phase_get_or_set_irn_data
(
&
h
->
phase
,
irn
);
irn_height_t
*
ih
=
phase_get_or_set_irn_data
(
&
h
->
phase
,
irn
);
...
@@ -190,7 +191,7 @@ static unsigned compute_height(heights_t *h, ir_node *irn, const ir_node *bl)
...
@@ -190,7 +191,7 @@ static unsigned compute_height(heights_t *h, ir_node *irn, const ir_node *bl)
return
ih
->
height
;
return
ih
->
height
;
}
}
static
unsigned
compute_heights_in_block
(
ir_node
*
bl
,
heights_t
*
h
)
static
unsigned
compute_heights_in_block
(
ir_node
*
bl
,
ir_
heights_t
*
h
)
{
{
int
max_height
=
-
1
;
int
max_height
=
-
1
;
const
ir_edge_t
*
edge
;
const
ir_edge_t
*
edge
;
...
@@ -216,18 +217,18 @@ static unsigned compute_heights_in_block(ir_node *bl, heights_t *h)
...
@@ -216,18 +217,18 @@ static unsigned compute_heights_in_block(ir_node *bl, heights_t *h)
static
void
compute_heights_in_block_walker
(
ir_node
*
block
,
void
*
data
)
static
void
compute_heights_in_block_walker
(
ir_node
*
block
,
void
*
data
)
{
{
heights_t
*
h
=
data
;
ir_
heights_t
*
h
=
data
;
compute_heights_in_block
(
block
,
h
);
compute_heights_in_block
(
block
,
h
);
}
}
unsigned
get_irn_height
(
const
heights_t
*
heights
,
const
ir_node
*
irn
)
unsigned
get_irn_height
(
const
ir_
heights_t
*
heights
,
const
ir_node
*
irn
)
{
{
const
irn_height_t
*
h
=
phase_get_irn_data
(
&
heights
->
phase
,
irn
);
const
irn_height_t
*
h
=
phase_get_irn_data
(
&
heights
->
phase
,
irn
);
assert
(
h
&&
"No height information for node"
);
assert
(
h
&&
"No height information for node"
);
return
h
->
height
;
return
h
->
height
;
}
}
unsigned
heights_recompute_block
(
heights_t
*
h
,
ir_node
*
block
)
unsigned
heights_recompute_block
(
ir_
heights_t
*
h
,
ir_node
*
block
)
{
{
const
ir_edge_t
*
edge
;
const
ir_edge_t
*
edge
;
...
@@ -244,7 +245,7 @@ unsigned heights_recompute_block(heights_t *h, ir_node *block)
...
@@ -244,7 +245,7 @@ unsigned heights_recompute_block(heights_t *h, ir_node *block)
return
compute_heights_in_block
(
block
,
h
);
return
compute_heights_in_block
(
block
,
h
);
}
}
void
heights_recompute
(
heights_t
*
h
)
void
heights_recompute
(
ir_
heights_t
*
h
)
{
{
ir_graph
*
irg
=
phase_get_irg
(
&
h
->
phase
);
ir_graph
*
irg
=
phase_get_irg
(
&
h
->
phase
);
...
@@ -254,9 +255,9 @@ void heights_recompute(heights_t *h)
...
@@ -254,9 +255,9 @@ void heights_recompute(heights_t *h)
irg_block_walk_graph
(
irg
,
compute_heights_in_block_walker
,
NULL
,
h
);
irg_block_walk_graph
(
irg
,
compute_heights_in_block_walker
,
NULL
,
h
);
}
}
heights_t
*
heights_new
(
ir_graph
*
irg
)
ir_
heights_t
*
heights_new
(
ir_graph
*
irg
)
{
{
heights_t
*
res
=
XMALLOC
(
heights_t
);
ir_
heights_t
*
res
=
XMALLOC
(
ir_
heights_t
);
phase_init
(
&
res
->
phase
,
irg
,
irn_height_init
);
phase_init
(
&
res
->
phase
,
irg
,
irn_height_init
);
res
->
dump_handle
=
dump_add_node_info_callback
(
height_dump_cb
,
res
);
res
->
dump_handle
=
dump_add_node_info_callback
(
height_dump_cb
,
res
);
heights_recompute
(
res
);
heights_recompute
(
res
);
...
@@ -264,7 +265,7 @@ heights_t *heights_new(ir_graph *irg)
...
@@ -264,7 +265,7 @@ heights_t *heights_new(ir_graph *irg)
return
res
;
return
res
;
}
}
void
heights_free
(
heights_t
*
h
)
void
heights_free
(
ir_
heights_t
*
h
)
{
{
phase_deinit
(
&
h
->
phase
);
phase_deinit
(
&
h
->
phase
);
dump_remove_node_info_callback
(
h
->
dump_handle
);
dump_remove_node_info_callback
(
h
->
dump_handle
);
...
...
ir/be/beabi.c
View file @
9c99a89c
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
#include
"irgopt.h"
#include
"irgopt.h"
#include
"irbitset.h"
#include
"irbitset.h"
#include
"iropt_t.h"
#include
"iropt_t.h"
#include
"height.h"
#include
"height
s
.h"
#include
"pdeq.h"
#include
"pdeq.h"
#include
"irtools.h"
#include
"irtools.h"
#include
"raw_bitset.h"
#include
"raw_bitset.h"
...
@@ -109,7 +109,7 @@ struct be_abi_irg_t {
...
@@ -109,7 +109,7 @@ struct be_abi_irg_t {
arch_register_req_t
*
sp_req
;
arch_register_req_t
*
sp_req
;
};
};
static
heights_t
*
ir_heights
;
static
ir_
heights_t
*
ir_heights
;
/** Flag: if set, try to omit the frame pointer in all routines. */
/** Flag: if set, try to omit the frame pointer in all routines. */
static
int
be_omit_fp
=
1
;
static
int
be_omit_fp
=
1
;
...
...
ir/be/beabihelper.c
View file @
9c99a89c
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
#include
"iredges.h"
#include
"iredges.h"
#include
"irgwalk.h"
#include
"irgwalk.h"
#include
"irphase_t.h"
#include
"irphase_t.h"
#include
"height.h"
#include
"height
s
.h"
typedef
struct
reg_flag_t
{
typedef
struct
reg_flag_t
{
const
arch_register_t
*
reg
;
/**< register at an input position.
const
arch_register_t
*
reg
;
/**< register at an input position.
...
@@ -497,7 +497,7 @@ static void link_ops_in_block_walker(ir_node *node, void *data)
...
@@ -497,7 +497,7 @@ static void link_ops_in_block_walker(ir_node *node, void *data)
}
}
}
}
static
heights_t
*
heights
;
static
ir_
heights_t
*
heights
;
/**
/**
* Check if a node is somehow data dependent on another one.
* Check if a node is somehow data dependent on another one.
...
...
ir/be/beilpsched.c
View file @
9c99a89c
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
#include
"irgwalk.h"
#include
"irgwalk.h"
#include
"irbitset.h"
#include
"irbitset.h"
#include
"irphase_t.h"
#include
"irphase_t.h"
#include
"height.h"
#include
"height
s
.h"
#include
"iredges.h"
#include
"iredges.h"
#include
"pdeq.h"
#include
"pdeq.h"
#include
"debug.h"
#include
"debug.h"
...
@@ -146,7 +146,7 @@ typedef struct {
...
@@ -146,7 +146,7 @@ typedef struct {
typedef
struct
{
typedef
struct
{
ir_phase
ph
;
/**< The phase */
ir_phase
ph
;
/**< The phase */
ir_graph
*
irg
;
/**< The current irg */
ir_graph
*
irg
;
/**< The current irg */
heights_t
*
height
;
/**< The heights object of the irg */
ir_
heights_t
*
height
;
/**< The heights object of the irg */
void
*
irg_env
;
/**< An environment for the irg scheduling, provided by the backend */
void
*
irg_env
;
/**< An environment for the irg scheduling, provided by the backend */
void
*
block_env
;
/**< An environment for scheduling a block, provided by the backend */
void
*
block_env
;
/**< An environment for scheduling a block, provided by the backend */
const
arch_env_t
*
arch_env
;
const
arch_env_t
*
arch_env
;
...
@@ -208,7 +208,7 @@ static const lc_opt_table_entry_t ilpsched_option_table[] = {
...
@@ -208,7 +208,7 @@ static const lc_opt_table_entry_t ilpsched_option_table[] = {
We need this global variable as we compare nodes dependent on heights,
We need this global variable as we compare nodes dependent on heights,
but we cannot pass any information to the qsort compare function.
but we cannot pass any information to the qsort compare function.
*/
*/
static
heights_t
*
glob_heights
;
static
ir_
heights_t
*
glob_heights
;
/**
/**
* Check if irn is a Proj, which has no execution units assigned.
* Check if irn is a Proj, which has no execution units assigned.
...
...
ir/be/beschedmris.c
View file @
9c99a89c
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
#include
"irtools.h"
#include
"irtools.h"
#include
"irbitset.h"
#include
"irbitset.h"
#include
"irnodeset.h"
#include
"irnodeset.h"
#include
"height.h"
#include
"height
s
.h"
#include
"benode.h"
#include
"benode.h"
#include
"besched.h"
#include
"besched.h"
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
struct
mris_env_t
{
struct
mris_env_t
{
ir_phase
ph
;
ir_phase
ph
;
heights_t
*
heights
;
ir_
heights_t
*
heights
;
ir_graph
*
irg
;
ir_graph
*
irg
;
ir_node
*
bl
;
ir_node
*
bl
;
int
visited
;
int
visited
;
...
...
ir/be/beschednormal.c
View file @
9c99a89c
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
#include
"belistsched.h"
#include
"belistsched.h"
#include
"belive_t.h"
#include
"belive_t.h"
#include
"beutil.h"
#include
"beutil.h"
#include
"height.h"
#include
"height
s
.h"
#include
"irtools.h"
#include
"irtools.h"
#include
"irgwalk.h"
#include
"irgwalk.h"
#include
"benode.h"
#include
"benode.h"
...
@@ -312,7 +312,7 @@ static int root_cmp(const void* a, const void* b)
...
@@ -312,7 +312,7 @@ static int root_cmp(const void* a, const void* b)
static
void
normal_sched_block
(
ir_node
*
block
,
void
*
env
)
static
void
normal_sched_block
(
ir_node
*
block
,
void
*
env
)
{
{
ir_node
**
roots
=
get_irn_link
(
block
);
ir_node
**
roots
=
get_irn_link
(
block
);
heights_t
*
heights
=
env
;
ir_
heights_t
*
heights
=
env
;
int
root_count
;
int
root_count
;
irn_cost_pair
*
root_costs
;
irn_cost_pair
*
root_costs
;
int
i
;
int
i
;
...
@@ -379,8 +379,8 @@ static void normal_sched_block(ir_node* block, void* env)
...
@@ -379,8 +379,8 @@ static void normal_sched_block(ir_node* block, void* env)
static
void
*
normal_init_graph
(
const
list_sched_selector_t
*
vtab
,
static
void
*
normal_init_graph
(
const
list_sched_selector_t
*
vtab
,
ir_graph
*
irg
)
ir_graph
*
irg
)
{
{
instance_t
*
inst
=
XMALLOC
(
instance_t
);
instance_t
*
inst
=
XMALLOC
(
instance_t
);
heights_t
*
heights
;
ir_
heights_t
*
heights
;
(
void
)
vtab
;
(
void
)
vtab
;
...
...
ir/be/beschedrss.c
View file @
9c99a89c
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
#include
"plist.h"
#include
"plist.h"
#include
"array_t.h"
#include
"array_t.h"
#include
"height.h"
#include
"height
s
.h"
#include
"beabi.h"
#include
"beabi.h"
#include
"bemodule.h"
#include
"bemodule.h"
...
@@ -149,7 +149,7 @@ typedef struct serialization {
...
@@ -149,7 +149,7 @@ typedef struct serialization {
typedef
struct
rss
{
typedef
struct
rss
{
ir_phase
ph
;
/**< Phase to hold some data */
ir_phase
ph
;
/**< Phase to hold some data */
heights_t
*
h
;
/**< The current height object */
ir_
heights_t
*
h
;
/**< The current height object */
ir_graph
*
irg
;
/**< The irg to preprocess */
ir_graph
*
irg
;
/**< The irg to preprocess */
plist_t
*
nodes
;
/**< The list of interesting nodes */
plist_t
*
nodes
;
/**< The list of interesting nodes */
const
arch_env_t
*
arch_env
;
/**< The architecture environment */
const
arch_env_t
*
arch_env
;
/**< The architecture environment */
...
...
ir/be/ia32/ia32_common_transform.c
View file @
9c99a89c
...
@@ -31,6 +31,7 @@
...
@@ -31,6 +31,7 @@
#include
"irprintf.h"
#include
"irprintf.h"
#include
"typerep.h"
#include
"typerep.h"
#include
"bitset.h"
#include
"bitset.h"
#include
"heights.h"
#include
"../betranshlp.h"
#include
"../betranshlp.h"
#include
"../beirg.h"
#include
"../beirg.h"
...
@@ -46,7 +47,7 @@
...
@@ -46,7 +47,7 @@
/** hold the current code generator during transformation */
/** hold the current code generator during transformation */
ia32_code_gen_t
*
env_cg
=
NULL
;
ia32_code_gen_t
*
env_cg
=
NULL
;
heights_t
*
heights
=
NULL
;
ir_
heights_t
*
heights
=
NULL
;
static
int
check_immediate_constraint
(
long
val
,
char
immediate_constraint_type
)
static
int
check_immediate_constraint
(
long
val
,
char
immediate_constraint_type
)
{
{
...
...
ir/be/ia32/ia32_common_transform.h
View file @
9c99a89c
...
@@ -27,8 +27,8 @@
...
@@ -27,8 +27,8 @@
#ifndef FIRM_BE_IA32_IA32_COMMON_TRANSFORM_H
#ifndef FIRM_BE_IA32_IA32_COMMON_TRANSFORM_H
#define FIRM_BE_IA32_IA32_COMMON_TRANSFORM_H
#define FIRM_BE_IA32_IA32_COMMON_TRANSFORM_H
#include
"firm_types.h"
#include
"bearch_ia32_t.h"
#include
"bearch_ia32_t.h"
#include
"height.h"
/**
/**
* An assembler constraint.
* An assembler constraint.
...
@@ -44,7 +44,7 @@ struct constraint_t {
...
@@ -44,7 +44,7 @@ struct constraint_t {
};
};
extern
ia32_code_gen_t
*
env_cg
;
extern
ia32_code_gen_t
*
env_cg
;
extern
heights_t
*
heights
;
extern
ir_
heights_t
*
heights
;
extern
int
no_pic_adjust
;
extern
int
no_pic_adjust
;
/**
/**
...
...
ir/be/ia32/ia32_optimize.c
View file @
9c99a89c
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
#include
"tv.h"
#include
"tv.h"
#include
"irgmod.h"
#include
"irgmod.h"
#include
"irgwalk.h"
#include
"irgwalk.h"
#include
"height.h"
#include
"height
s
.h"
#include
"irbitset.h"
#include
"irbitset.h"
#include
"irprintf.h"
#include
"irprintf.h"
#include
"irdump.h"
#include
"irdump.h"
...
...
ir/be/ia32/ia32_transform.c
View file @
9c99a89c
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
#include
"irdom.h"
#include
"irdom.h"
#include
"error.h"
#include
"error.h"
#include
"array_t.h"
#include
"array_t.h"
#include
"height.h"
#include
"height
s
.h"
#include
"../benode.h"
#include
"../benode.h"
#include
"../besched.h"
#include
"../besched.h"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment