libFirm
ircons.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1995-2010 University of Karlsruhe. All right reserved.
3  *
4  * This file is part of libFirm.
5  *
6  * This file may be distributed and/or modified under the terms of the
7  * GNU General Public License version 2 as published by the Free Software
8  * Foundation and appearing in the file LICENSE.GPL included in the
9  * packaging of this file.
10  *
11  * Licensees holding valid libFirm Professional Edition licenses may use
12  * this file in accordance with the libFirm Commercial License.
13  * Agreement provided with the Software.
14  *
15  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17  * PURPOSE.
18  */
19 
309 #ifndef FIRM_IR_IRCONS_H
310 #define FIRM_IR_IRCONS_H
311 
312 #include "firm_types.h"
313 #include "begin.h"
314 #include "irnode.h"
315 
335  ir_mode *mode, long value);
336 
349 FIRM_API ir_node *new_r_Const_long(ir_graph *irg, ir_mode *mode, long value);
350 
358 FIRM_API ir_node *new_d_Const_long(dbg_info *db, ir_mode *mode, long value);
359 
371 FIRM_API ir_node *new_Const_long(ir_mode *mode, long value);
372 
413  union symconst_symbol value,
414  symconst_kind kind);
415 
423  ir_mode *mode, ir_entity *symbol);
424 
432  ir_mode *mode, ir_entity *symbol);
433 
441  ir_mode *mode, ir_type *symbol);
442 
450  ir_mode *mode, ir_type *symbol);
451 
485  union symconst_symbol value,
486  symconst_kind kind);
487 
521  union symconst_symbol value,
522  symconst_kind kind);
523 
556  symconst_kind kind);
557 
579  ir_node *objptr, ir_entity *ent);
580 
596  ir_node *objptr, ir_entity *ent);
597 
612  ir_entity *ent);
613 
624 FIRM_API ir_node *new_simpleSel(ir_node *store, ir_node *objptr,
625  ir_entity *ent);
626 
643 FIRM_API ir_node *new_rd_DivRL(dbg_info *db, ir_node *block, ir_node *memop,
644  ir_node *op1, ir_node *op2, ir_mode *mode,
645  op_pin_state state);
646 
656 FIRM_API ir_node *new_r_DivRL(ir_node *block, ir_node *memop,
657  ir_node *op1, ir_node *op2, ir_mode *mode,
658  op_pin_state state);
659 
672  ir_node *op1, ir_node *op2, ir_mode *mode,
673  op_pin_state state);
674 
685 FIRM_API ir_node *new_DivRL(ir_node *memop, ir_node *op1, ir_node *op2,
686  ir_mode *mode, op_pin_state state);
687 
709  int arity, ir_node *in[], ir_asm_constraint *inputs,
710  size_t n_outs, ir_asm_constraint *outputs,
711  size_t n_clobber, ident *clobber[],
712  ident *asm_text);
713 
728  int arity, ir_node *in[], ir_asm_constraint *inputs,
729  size_t n_outs, ir_asm_constraint *outputs,
730  size_t n_clobber, ident *clobber[],
731  ident *asm_text);
732 
747 FIRM_API ir_node *new_d_ASM(dbg_info *db, ir_node *mem, int arity,
748  ir_node *in[], ir_asm_constraint *inputs,
749  size_t n_outs, ir_asm_constraint *outputs,
750  size_t n_clobber, ident *clobber[],
751  ident *asm_text);
752 
766 FIRM_API ir_node *new_ASM(ir_node *mem, int arity, ir_node *in[],
767  ir_asm_constraint *inputs, size_t n_outs,
768  ir_asm_constraint *outputs,
769  size_t n_clobber, ident *clobber[], ident *asm_text);
770 
783 
788 
793 
832 
834 FIRM_API void add_immBlock_pred(ir_node *immblock, ir_node *jmp);
835 
837 FIRM_API void mature_immBlock(ir_node *block);
838 
845 FIRM_API void set_cur_block(ir_node *target);
850 FIRM_API void set_r_cur_block(ir_graph *irg, ir_node *target);
851 
856 
866 FIRM_API ir_node *get_value(int pos, ir_mode *mode);
869 FIRM_API ir_node *get_r_value(ir_graph *irg, int pos, ir_mode *mode);
870 
879 FIRM_API ir_mode *ir_guess_mode(int pos);
883 FIRM_API ir_mode *ir_r_guess_mode(ir_graph *irg, int pos);
884 
895 FIRM_API void set_value(int pos, ir_node *value);
897 FIRM_API void set_r_value(ir_graph *irg, int pos, ir_node *value);
898 
905 FIRM_API ir_node *get_store(void);
909 
917 FIRM_API void set_store(ir_node *store);
920 FIRM_API void set_r_store(ir_graph *irg, ir_node *store);
921 
926 FIRM_API void keep_alive(ir_node *ka);
927 
930 
935 FIRM_API void irp_finalize_cons(void);
936 
943 
946 #include "end.h"
947 
948 #endif