/* Constructors -- IRExpr */
-IRExpr* IRExpr_Binder ( Int binder ) {
+IRExpr* IRExpr_Binder ( Int binder )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_Binder;
e->Iex.Binder.binder = binder;
return e;
}
-IRExpr* IRExpr_Get ( Int off, IRType ty ) {
+IRExpr* IRExpr_Get ( Int off, IRType ty )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_Get;
e->Iex.Get.offset = off;
e->Iex.Get.ty = ty;
return e;
}
-IRExpr* IRExpr_GetI ( IRRegArray* descr, IRExpr* ix, Int bias ) {
+IRExpr* IRExpr_GetI ( IRRegArray* descr, IRExpr* ix, Int bias )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_GetI;
e->Iex.GetI.descr = descr;
e->Iex.GetI.bias = bias;
return e;
}
-IRExpr* IRExpr_RdTmp ( IRTemp tmp ) {
+IRExpr* IRExpr_RdTmp ( IRTemp tmp )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_RdTmp;
e->Iex.RdTmp.tmp = tmp;
return e;
}
IRExpr* IRExpr_Qop ( IROp op, IRExpr* arg1, IRExpr* arg2,
- IRExpr* arg3, IRExpr* arg4 ) {
+ IRExpr* arg3, IRExpr* arg4 )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
IRQop* qop = LibVEX_Alloc_inline(sizeof(IRQop));
qop->op = op;
return e;
}
IRExpr* IRExpr_Triop ( IROp op, IRExpr* arg1,
- IRExpr* arg2, IRExpr* arg3 ) {
+ IRExpr* arg2, IRExpr* arg3 )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
IRTriop* triop = LibVEX_Alloc_inline(sizeof(IRTriop));
triop->op = op;
e->Iex.Triop.details = triop;
return e;
}
-IRExpr* IRExpr_Binop ( IROp op, IRExpr* arg1, IRExpr* arg2 ) {
+IRExpr* IRExpr_Binop ( IROp op, IRExpr* arg1, IRExpr* arg2 )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_Binop;
e->Iex.Binop.op = op;
e->Iex.Unop.arg = arg;
return e;
}
-IRExpr* IRExpr_Load ( IREndness end, IRType ty, IRExpr* addr ) {
+IRExpr* IRExpr_Load ( IREndness end, IRType ty, IRExpr* addr )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_Load;
e->Iex.Load.end = end;
vassert(end == Iend_LE || end == Iend_BE);
return e;
}
-IRExpr* IRExpr_Const ( IRConst* con ) {
+IRExpr* IRExpr_Const ( IRConst* con )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_Const;
e->Iex.Const.con = con;
return e;
}
-IRExpr* IRExpr_CCall ( IRCallee* cee, IRType retty, IRExpr** args ) {
+IRExpr* IRExpr_CCall ( IRCallee* cee, IRType retty, IRExpr** args )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_CCall;
e->Iex.CCall.cee = cee;
e->Iex.CCall.args = args;
return e;
}
-IRExpr* IRExpr_ITE ( IRExpr* cond, IRExpr* iftrue, IRExpr* iffalse ) {
+IRExpr* IRExpr_ITE ( IRExpr* cond, IRExpr* iftrue, IRExpr* iffalse )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_ITE;
e->Iex.ITE.cond = cond;
e->Iex.ITE.iffalse = iffalse;
return e;
}
-IRExpr* IRExpr_VECRET ( void ) {
+IRExpr* IRExpr_VECRET ( void )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_VECRET;
return e;
}
-IRExpr* IRExpr_GSPTR ( void ) {
+IRExpr* IRExpr_GSPTR ( void )
+{
IRExpr* e = LibVEX_Alloc_inline(sizeof(IRExpr));
e->tag = Iex_GSPTR;
return e;
/* Constructors for NULL-terminated IRExpr expression vectors,
suitable for use as arg lists in clean/dirty helper calls. */
-IRExpr** mkIRExprVec_0 ( void ) {
+IRExpr** mkIRExprVec_0 ( void )
+{
IRExpr** vec = LibVEX_Alloc_inline(1 * sizeof(IRExpr*));
vec[0] = NULL;
return vec;
}
-IRExpr** mkIRExprVec_1 ( IRExpr* arg1 ) {
+IRExpr** mkIRExprVec_1 ( IRExpr* arg1 )
+{
IRExpr** vec = LibVEX_Alloc_inline(2 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = NULL;
return vec;
}
-IRExpr** mkIRExprVec_2 ( IRExpr* arg1, IRExpr* arg2 ) {
+IRExpr** mkIRExprVec_2 ( IRExpr* arg1, IRExpr* arg2 )
+{
IRExpr** vec = LibVEX_Alloc_inline(3 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = arg2;
vec[2] = NULL;
return vec;
}
-IRExpr** mkIRExprVec_3 ( IRExpr* arg1, IRExpr* arg2, IRExpr* arg3 ) {
+IRExpr** mkIRExprVec_3 ( IRExpr* arg1, IRExpr* arg2, IRExpr* arg3 )
+{
IRExpr** vec = LibVEX_Alloc_inline(4 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = arg2;
return vec;
}
IRExpr** mkIRExprVec_4 ( IRExpr* arg1, IRExpr* arg2, IRExpr* arg3,
- IRExpr* arg4 ) {
+ IRExpr* arg4 )
+{
IRExpr** vec = LibVEX_Alloc_inline(5 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = arg2;
return vec;
}
IRExpr** mkIRExprVec_5 ( IRExpr* arg1, IRExpr* arg2, IRExpr* arg3,
- IRExpr* arg4, IRExpr* arg5 ) {
+ IRExpr* arg4, IRExpr* arg5 )
+{
IRExpr** vec = LibVEX_Alloc_inline(6 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = arg2;
return vec;
}
IRExpr** mkIRExprVec_6 ( IRExpr* arg1, IRExpr* arg2, IRExpr* arg3,
- IRExpr* arg4, IRExpr* arg5, IRExpr* arg6 ) {
+ IRExpr* arg4, IRExpr* arg5, IRExpr* arg6 )
+{
IRExpr** vec = LibVEX_Alloc_inline(7 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = arg2;
}
IRExpr** mkIRExprVec_7 ( IRExpr* arg1, IRExpr* arg2, IRExpr* arg3,
IRExpr* arg4, IRExpr* arg5, IRExpr* arg6,
- IRExpr* arg7 ) {
+ IRExpr* arg7 )
+{
IRExpr** vec = LibVEX_Alloc_inline(8 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = arg2;
}
IRExpr** mkIRExprVec_8 ( IRExpr* arg1, IRExpr* arg2, IRExpr* arg3,
IRExpr* arg4, IRExpr* arg5, IRExpr* arg6,
- IRExpr* arg7, IRExpr* arg8 ) {
+ IRExpr* arg7, IRExpr* arg8 )
+{
IRExpr** vec = LibVEX_Alloc_inline(9 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = arg2;
}
IRExpr** mkIRExprVec_9 ( IRExpr* arg1, IRExpr* arg2, IRExpr* arg3,
IRExpr* arg4, IRExpr* arg5, IRExpr* arg6,
- IRExpr* arg7, IRExpr* arg8, IRExpr* arg9 ) {
+ IRExpr* arg7, IRExpr* arg8, IRExpr* arg9 )
+{
IRExpr** vec = LibVEX_Alloc_inline(10 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = arg2;
IRExpr* arg7, IRExpr* arg8, IRExpr* arg9,
IRExpr* arg10, IRExpr* arg11, IRExpr* arg12,
IRExpr* arg13
- ) {
+ )
+{
IRExpr** vec = LibVEX_Alloc_inline(14 * sizeof(IRExpr*));
vec[0] = arg1;
vec[1] = arg2;
/* Constructors -- IRDirty */
-IRDirty* emptyIRDirty ( void ) {
+IRDirty* emptyIRDirty ( void )
+{
IRDirty* d = LibVEX_Alloc_inline(sizeof(IRDirty));
d->cee = NULL;
d->guard = NULL;
IRCAS* mkIRCAS ( IRTemp oldHi, IRTemp oldLo,
IREndness end, IRExpr* addr,
IRExpr* expdHi, IRExpr* expdLo,
- IRExpr* dataHi, IRExpr* dataLo ) {
+ IRExpr* dataHi, IRExpr* dataLo )
+{
IRCAS* cas = LibVEX_Alloc_inline(sizeof(IRCAS));
cas->oldHi = oldHi;
cas->oldLo = oldLo;
static_closure.tag = Ist_NoOp;
return &static_closure;
}
-IRStmt* IRStmt_IMark ( Addr addr, UInt len, UChar delta ) {
+IRStmt* IRStmt_IMark ( Addr addr, UInt len, UChar delta )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_IMark;
s->Ist.IMark.addr = addr;
s->Ist.IMark.delta = delta;
return s;
}
-IRStmt* IRStmt_AbiHint ( IRExpr* base, Int len, IRExpr* nia ) {
+IRStmt* IRStmt_AbiHint ( IRExpr* base, Int len, IRExpr* nia )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_AbiHint;
s->Ist.AbiHint.base = base;
s->Ist.AbiHint.nia = nia;
return s;
}
-IRStmt* IRStmt_Put ( Int off, IRExpr* data ) {
+IRStmt* IRStmt_Put ( Int off, IRExpr* data )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_Put;
s->Ist.Put.offset = off;
s->Ist.Put.data = data;
return s;
}
-IRStmt* IRStmt_PutI ( IRPutI* details ) {
+IRStmt* IRStmt_PutI ( IRPutI* details )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_PutI;
s->Ist.PutI.details = details;
return s;
}
-IRStmt* IRStmt_WrTmp ( IRTemp tmp, IRExpr* data ) {
+IRStmt* IRStmt_WrTmp ( IRTemp tmp, IRExpr* data )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_WrTmp;
s->Ist.WrTmp.tmp = tmp;
s->Ist.WrTmp.data = data;
return s;
}
-IRStmt* IRStmt_Store ( IREndness end, IRExpr* addr, IRExpr* data ) {
+IRStmt* IRStmt_Store ( IREndness end, IRExpr* addr, IRExpr* data )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_Store;
s->Ist.Store.end = end;
return s;
}
IRStmt* IRStmt_LoadG ( IREndness end, IRLoadGOp cvt, IRTemp dst,
- IRExpr* addr, IRExpr* alt, IRExpr* guard ) {
+ IRExpr* addr, IRExpr* alt, IRExpr* guard )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_LoadG;
s->Ist.LoadG.details = mkIRLoadG(end, cvt, dst, addr, alt, guard);
return s;
}
-IRStmt* IRStmt_CAS ( IRCAS* cas ) {
+IRStmt* IRStmt_CAS ( IRCAS* cas )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_CAS;
s->Ist.CAS.details = cas;
return s;
}
IRStmt* IRStmt_LLSC ( IREndness end,
- IRTemp result, IRExpr* addr, IRExpr* storedata ) {
+ IRTemp result, IRExpr* addr, IRExpr* storedata )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_LLSC;
s->Ist.LLSC.end = end;
return s;
}
IRStmt* IRStmt_Exit ( IRExpr* guard, IRJumpKind jk, IRConst* dst,
- Int offsIP ) {
+ Int offsIP )
+{
IRStmt* s = LibVEX_Alloc_inline(sizeof(IRStmt));
s->tag = Ist_Exit;
s->Ist.Exit.guard = guard;