X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgraph_t.h;h=04fd7345bc92fbfb433dcae2ea6014e74bbaf709;hb=b78bdd4d94de46de4156272e6dbfe44e97933a5b;hp=034d1afe6adbeb5393d1047ff4924401e5fc3cc9;hpb=6708a4bc2bbc035dcc84752a1e34c2edeef07c2d;p=libfirm diff --git a/ir/ir/irgraph_t.h b/ir/ir/irgraph_t.h index 034d1afe6..04fd7345b 100644 --- a/ir/ir/irgraph_t.h +++ b/ir/ir/irgraph_t.h @@ -64,6 +64,8 @@ enum irg_anchors { anchor_frame, /**< method's frame */ anchor_globals, /**< pointer to the data segment containing all globals as well as global procedures. */ + anchor_tls, /**< pointer to the thread local storage containing all + thread local data. */ anchor_initial_mem, /**< initial memory of this graph */ anchor_args, /**< methods arguments */ anchor_bad, /**< bad node of this ir_graph, the one and @@ -271,6 +273,16 @@ _set_irg_globals(ir_graph *irg, ir_node *node) { irg->anchors[anchor_globals] = node; } +static INLINE ir_node * +_get_irg_tls(const ir_graph *irg) { + return irg->anchors[anchor_tls]; +} + +static INLINE void +_set_irg_tls(ir_graph *irg, ir_node *node) { + irg->anchors[anchor_tls] = node; +} + static INLINE ir_node * _get_irg_initial_mem(const ir_graph *irg) { return irg->anchors[anchor_initial_mem]; @@ -583,6 +595,8 @@ get_idx_irn(ir_graph *irg, unsigned idx) { #define set_irg_frame(irg, node) _set_irg_frame(irg, node) #define get_irg_globals(irg) _get_irg_globals(irg) #define set_irg_globals(irg, node) _set_irg_globals(irg, node) +#define get_irg_tls(irg) _get_irg_tls(irg) +#define set_irg_tls(irg, node) _set_irg_tls(irg, node) #define get_irg_initial_mem(irg) _get_irg_initial_mem(irg) #define set_irg_initial_mem(irg, node) _set_irg_initial_mem(irg, node) #define get_irg_args(irg) _get_irg_args(irg)