Commit 8a7d96ba authored by Kunshan Wang's avatar Kunshan Wang

Fixed bugs in muapi.h

new_bb: parameter types must be explicit

watchpoint: it has three destinations instead of just an ExcClause

wpbranch: both destinations must be explicit
parent c52435ce
......@@ -591,7 +591,7 @@ The canonical definition of each function is in the `IR Builder API
[0x31f]@uvm.irbuilder.new_func (%b: irbuilderref, %id: int<32>, %sig: int<32>) -> ()
[0x320]@uvm.irbuilder.new_exp_func (%b: irbuilderref, %id: int<32>, %func: int<32>, %callconv: int<32>, %cookie: int<32>) -> ()
[0x321]@uvm.irbuilder.new_func_ver (%b: irbuilderref, %id: int<32>, %func: int<32>, %bbs: iref<int<32>>, %nbbs: int<64>) -> ()
[0x322]@uvm.irbuilder.new_bb (%b: irbuilderref, %id: int<32>, %nor_param_ids: iref<int<32>>, %n_nor_param_ids: int<64>, %exc_param_id: int<32>, %insts: iref<int<32>>, %ninsts: int<64>) -> ()
[0x322]@uvm.irbuilder.new_bb (%b: irbuilderref, %id: int<32>, %nor_param_ids: iref<int<32>>, %nor_param_types: iref<int<32>>, %n_nor_params: int<64>, %exc_param_id: int<32>, %insts: iref<int<32>>, %ninsts: int<64>) -> ()
[0x323]@uvm.irbuilder.new_dest_clause (%b: irbuilderref, %id: int<32>, %dest: int<32>, %vars: iref<int<32>>, %nvars: int<64>) -> ()
[0x324]@uvm.irbuilder.new_exc_clause (%b: irbuilderref, %id: int<32>, %nor: int<32>, %exc: int<32>) -> ()
[0x325]@uvm.irbuilder.new_keepalive_clause (%b: irbuilderref, %id: int<32>, %vars: iref<int<32>>, %nvars: int<64>) -> ()
......@@ -630,8 +630,8 @@ The canonical definition of each function is in the `IR Builder API
[0x346]@uvm.irbuilder.new_atomicrmw (%b: irbuilderref, %id: int<32>, %result_id: int<32>, %is_ptr: int<32>, %ord: int<32>, %optr: int<32>, %refTy: int<32>, %loc: int<32>, %opnd: int<32>, %exc_clause: int<32>) -> ()
[0x347]@uvm.irbuilder.new_fence (%b: irbuilderref, %id: int<32>, %ord: int<32>) -> ()
[0x348]@uvm.irbuilder.new_trap (%b: irbuilderref, %id: int<32>, %result_ids: iref<int<32>>, %rettys: iref<int<32>>, %nretvals: int<64>, %exc_clause: int<32>, %keepalive_clause: int<32>) -> ()
[0x349]@uvm.irbuilder.new_watchpoint (%b: irbuilderref, %id: int<32>, %wpid: int<32>, %result_ids: iref<int<32>>, %rettys: iref<int<32>>, %nretvals: int<64>, %exc_clause: int<32>, %keepalive_clause: int<32>) -> ()
[0x34a]@uvm.irbuilder.new_wpbranch (%b: irbuilderref, %id: int<32>, %wpid: int<32>) -> ()
[0x349]@uvm.irbuilder.new_watchpoint (%b: irbuilderref, %id: int<32>, %wpid: int<32>, %result_ids: iref<int<32>>, %rettys: iref<int<32>>, %nretvals: int<64>, %dis: int<32>, %ena: int<32>, %exc: int<32>, %keepalive_clause: int<32>) -> ()
[0x34a]@uvm.irbuilder.new_wpbranch (%b: irbuilderref, %id: int<32>, %wpid: int<32>, %dis: int<32>, %ena: int<32>) -> ()
[0x34b]@uvm.irbuilder.new_ccall (%b: irbuilderref, %id: int<32>, %result_ids: iref<int<32>>, %n_result_ids: int<64>, %callconv: int<32>, %callee_ty: int<32>, %sig: int<32>, %callee: int<32>, %args: iref<int<32>>, %nargs: int<64>, %exc_clause: int<32>, %keepalive_clause: int<32>) -> ()
[0x34c]@uvm.irbuilder.new_newthread (%b: irbuilderref, %id: int<32>, %result_id: int<32>, %stack: int<32>, %threadlocal: int<32>, %new_stack_clause: int<32>, %exc_clause: int<32>) -> ()
[0x34d]@uvm.irbuilder.new_swapstack (%b: irbuilderref, %id: int<32>, %result_ids: iref<int<32>>, %n_result_ids: int<64>, %swappee: int<32>, %cur_stack_clause: int<32>, %new_stack_clause: int<32>, %exc_clause: int<32>, %keepalive_clause: int<32>) -> ()
......
......@@ -553,10 +553,10 @@ struct MuIRBuilder {
// Create basic block. Also create its parameters.
void (*new_bb)(MuIRBuilder *b, MuID id,
MuID *nor_param_ids, MuArraySize n_nor_param_ids,
MuID *nor_param_ids, MuTypeNode *nor_param_types, MuArraySize n_nor_params,
MuID exc_param_id,
MuInstNode *insts, MuArraySize ninsts);
/// MUAPIPARSER nor_param_ids:array:n_nor_param_ids;exc_param_id:optional;insts:array:ninsts
/// MUAPIPARSER nor_param_ids:array:n_nor_params;nor_param_types:array:n_nor_params;exc_param_id:optional;insts:array:ninsts
// Create a destination clause.
void (*new_dest_clause)(MuIRBuilder *b, MuID id,
......@@ -684,9 +684,11 @@ struct MuIRBuilder {
/// MUAPIPARSER result_ids:array:nretvals;rettys:array:nretvals;exc_clause:optional;keepalive_clause:optional
void (*new_watchpoint)(MuIRBuilder *b, MuID id, MuWPID wpid,
MuID *result_ids, MuTypeNode *rettys, MuArraySize nretvals,
MuExcClause exc_clause, MuKeepaliveClause keepalive_clause);
/// MUAPIPARSER result_ids:array:nretvals;rettys:array:nretvals;exc_clause:optional;keepalive_clause:optional
void (*new_wpbranch )(MuIRBuilder *b, MuID id, MuWPID wpid);
MuDestClause dis, MuDestClause ena, MuDestClause exc,
MuKeepaliveClause keepalive_clause);
/// MUAPIPARSER result_ids:array:nretvals;rettys:array:nretvals;exc:optional;keepalive_clause:optional
void (*new_wpbranch )(MuIRBuilder *b, MuID id, MuWPID wpid,
MuDestClause dis, MuDestClause ena);
void (*new_ccall)(MuIRBuilder *b, MuID id, MuID *result_ids, MuArraySize n_result_ids,
MuCallConv callconv,
......
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