Commit bf40e6dd authored by Matthias Braun's avatar Matthias Braun
Browse files

generate a few more things automatically

[r25965]
parent 33fe86ca
......@@ -1962,7 +1962,7 @@ ir_node *new_rd_Unknown(dbg_info *db, ir_graph *irg, ir_mode *m);
* @param *block The block the node belong to.
* @param *callee The call node visible in the intra procedural view.
*/
ir_node *new_rd_CallBegin(dbg_info *db, ir_graph *irg, ir_node *block, ir_node *callee);
ir_node *new_rd_CallBegin(dbg_info *db, ir_graph *irg, ir_node *block, ir_node *ptr, ir_node *call);
/** Constructor for a EndReg node.
*
......@@ -2790,7 +2790,7 @@ ir_node *new_r_Unknown(ir_graph *irg, ir_mode *m);
* @param *block The block the node belong to.
* @param *callee The call node visible in the intra procedural view.
*/
ir_node *new_r_CallBegin(ir_graph *irg, ir_node *block, ir_node *callee);
ir_node *new_r_CallBegin(ir_graph *irg, ir_node *block, ir_node *ptr, ir_node *call);
/** Constructor for a EndReg node.
*
......@@ -3614,7 +3614,7 @@ ir_node *new_d_Unknown(dbg_info *db, ir_mode *m);
* @param *db A pointer for debug information.
* @param *callee The call node visible in the intra procedural view.
*/
ir_node *new_d_CallBegin(dbg_info *db, ir_node *callee);
ir_node *new_d_CallBegin(dbg_info *db, ir_node *ptr, ir_node *call);
/** Constructor for an EndReg node.
*
......@@ -4008,7 +4008,7 @@ ir_node *new_Builtin(ir_node *store, int arity, ir_node *in[],
*
* @param *callee A pointer to the called procedure.
*/
ir_node *new_CallBegin(ir_node *callee);
ir_node *new_CallBegin(ir_node *ptr, ir_node *call);
/** Constructor for a Add node.
*
......
......@@ -625,7 +625,7 @@ static void construct_call(ir_node * call) {
get_Block_cfgpred_arr(post_block)); /* block vor dem Aufruf (mit CallBegin) */
except_block = NULL;
jmp = new_Break(); /* Sprung fr intraprozedurale Darstellung (in * pre_block) */
call_begin = new_CallBegin(call); /* (in pre_block) */
call_begin = new_CallBegin(get_Call_ptr(call), call); /* (in pre_block) */
/* CallBegin might be entry to endless recursion. */
add_End_keepalive(get_irg_end(get_irn_irg(pre_block)), pre_block);
......
This diff is collapsed.
......@@ -411,9 +411,7 @@ def main(argv):
gendir = argv[2]
# List of TODOs
niymap = ["ASM", "CallBegin", "Const", "Const_type", "Const_long",
"defaultProj", "Dummy", "Phi", "simpleSel", "SymConst", "SymConst_type",
"Sync"]
niymap = [ "ASM", "Const", "defaultProj", "Phi", "SymConst", "Sync"]
file = open(gendir + "/gen_ir_cons.c.inl", "w")
for nodename, node in do_dictsort(nodes):
......
......@@ -276,10 +276,13 @@ CallBegin = dict(
pinned = "yes",
# TODO: attribute with call...
attr_struct = "callbegin_attr",
attrs = [
dict(
type = "ir_node*",
name = "call"
)
],
java_noconstr = True,
init = '''
res->attr.callbegin.call = call;
''',
),
Carry = dict(
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment