php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
ir_fold.h File Reference

Go to the source code of this file.

Functions

 IR_FOLD_CONST_U (op1_insn->val.u8+op2_insn->val.u8)
 
 IR_FOLD_CONST_U (op1_insn->val.u16+op2_insn->val.u16)
 
 IR_FOLD_CONST_U (op1_insn->val.u32+op2_insn->val.u32)
 
 IR_FOLD_CONST_U (op1_insn->val.u64+op2_insn->val.u64)
 
 IR_FOLD_CONST_I (op1_insn->val.i8+op2_insn->val.i8)
 
 IR_FOLD_CONST_I (op1_insn->val.i16+op2_insn->val.i16)
 
 IR_FOLD_CONST_I ((int32_t)(op1_insn->val.u32+op2_insn->val.u32))
 
 IR_FOLD_CONST_I (op1_insn->val.u64+op2_insn->val.u64)
 
 IR_FOLD_CONST_D (op1_insn->val.d+op2_insn->val.d)
 
 IR_FOLD_CONST_F (op1_insn->val.f+op2_insn->val.f)
 
 IR_FOLD_CONST_U (op1_insn->val.u8 - op2_insn->val.u8)
 
 IR_FOLD_CONST_U (op1_insn->val.u16 - op2_insn->val.u16)
 
 IR_FOLD_CONST_U (op1_insn->val.u32 - op2_insn->val.u32)
 
 IR_FOLD_CONST_U (op1_insn->val.u64 - op2_insn->val.u64)
 
 IR_FOLD_CONST_I (op1_insn->val.i8 - op2_insn->val.i8)
 
 IR_FOLD_CONST_I (op1_insn->val.i16 - op2_insn->val.i16)
 
 IR_FOLD_CONST_I ((int32_t)(op1_insn->val.u32 - op2_insn->val.u32))
 
 IR_FOLD_CONST_I (op1_insn->val.u64 - op2_insn->val.u64)
 
 IR_FOLD_CONST_D (op1_insn->val.d - op2_insn->val.d)
 
 IR_FOLD_CONST_F (op1_insn->val.f - op2_insn->val.f)
 
 IR_FOLD_CONST_U (op1_insn->val.u8 *op2_insn->val.u8)
 
 IR_FOLD_CONST_U (op1_insn->val.u16 *op2_insn->val.u16)
 
 IR_FOLD_CONST_U (op1_insn->val.u32 *op2_insn->val.u32)
 
 IR_FOLD_CONST_U (op1_insn->val.u64 *op2_insn->val.u64)
 
 IR_FOLD_CONST_I (op1_insn->val.i8 *op2_insn->val.i8)
 
 IR_FOLD_CONST_I (op1_insn->val.i16 *op2_insn->val.i16)
 
 IR_FOLD_CONST_I ((int32_t)(op1_insn->val.u32 *op2_insn->val.u32))
 
 IR_FOLD_CONST_I (op1_insn->val.u64 *op2_insn->val.u64)
 
 IR_FOLD_CONST_D (op1_insn->val.d *op2_insn->val.d)
 
 IR_FOLD_CONST_F (op1_insn->val.f *op2_insn->val.f)
 
 if (op2_insn->val.u64==0)
 
 IR_FOLD_CONST_U (op1_insn->val.u64/op2_insn->val.u64)
 
 IR_FOLD_CONST_I (op1_insn->val.i64/op2_insn->val.i64)
 
 IR_FOLD_CONST_D (op1_insn->val.d/op2_insn->val.d)
 
 IR_FOLD_CONST_F (op1_insn->val.f/op2_insn->val.f)
 
 IR_FOLD_CONST_U (op1_insn->val.u64 % op2_insn->val.u64)
 
 IR_FOLD_CONST_I (op1_insn->val.i64 % op2_insn->val.i64)
 
 IR_FOLD_CONST_I (-op1_insn->val.u64)
 
 IR_FOLD_CONST_D (-op1_insn->val.d)
 
 IR_FOLD_CONST_F (-op1_insn->val.f)
 
 if (op1_insn->val.i64 >=0)
 
 IR_FOLD_CONST_D (fabs(op1_insn->val.d))
 
 IR_FOLD_CONST_F (fabsf(op1_insn->val.f))
 
 IR_ASSERT (type==op1_insn->type)
 
 if (op1_insn->val.u64 > max - op2_insn->val.u64)
 
 if ((op2_insn->val.i64 > 0 &&op1_insn->val.i64 > max - op2_insn->val.i64)||(op2_insn->val.i64< 0 &&op1_insn->val.i64< min - op2_insn->val.i64))
 
 IR_FOLD_CONST_I (op1_insn->val.i64+op2_insn->val.i64)
 
 if (op2_insn->val.u64 > op1_insn->val.u64)
 
 if ((op2_insn->val.i64 > 0 &&op1_insn->val.i64< min+op2_insn->val.i64)||(op2_insn->val.i64< 0 &&op1_insn->val.i64 > max+op2_insn->val.i64))
 
 IR_FOLD_CONST_I (op1_insn->val.i64 - op2_insn->val.i64)
 
 IR_ASSERT (IR_OPT_TYPE(opt)==op1_insn->type)
 
 if (op1_insn->val.u64 !=0 &&res/op1_insn->val.u64 !=op2_insn->val.u64 &&res<=max)
 
 IR_FOLD_CONST_U (res)
 
 if (op1_insn->val.i64 !=0 &&res/op1_insn->val.i64 !=op2_insn->val.i64 &&res >=min &&res<=max)
 
 IR_FOLD_BOOL (!op1_insn->val.u64)
 
 IR_FOLD_CONST_U (~op1_insn->val.u8)
 
 IR_FOLD_CONST_I (~op1_insn->val.i8)
 
 IR_FOLD_BOOL (op1_insn->val.b||op2_insn->val.b)
 
 IR_FOLD_CONST_U (op1_insn->val.u64|op2_insn->val.u64)
 
 IR_FOLD_CONST_I (op1_insn->val.i64|op2_insn->val.i64)
 
 IR_FOLD_BOOL (op1_insn->val.b &&op2_insn->val.b)
 
 IR_FOLD_CONST_U (op1_insn->val.u64 &op2_insn->val.u64)
 
 IR_FOLD_CONST_I (op1_insn->val.i64 &op2_insn->val.i64)
 
 IR_FOLD_BOOL (op1_insn->val.b !=op2_insn->val.b)
 
 IR_FOLD_CONST_U (op1_insn->val.u8 ^ op2_insn->val.u8)
 
 IR_FOLD_CONST_I (op1_insn->val.i8 ^ op2_insn->val.i8)
 
 IR_FOLD_CONST_U (op1_insn->val.u16 ^ op2_insn->val.u16)
 
 IR_FOLD_CONST_I (op1_insn->val.i16 ^ op2_insn->val.i16)
 
 IR_FOLD_CONST_U (op1_insn->val.u32 ^ op2_insn->val.u32)
 
 IR_FOLD_CONST_I (op1_insn->val.i32 ^ op2_insn->val.i32)
 
 IR_FOLD_CONST_U (op1_insn->val.u64 ^ op2_insn->val.u64)
 
 IR_FOLD_CONST_I (op1_insn->val.i64 ^ op2_insn->val.i64)
 
 IR_FOLD_CONST_U (op1_insn->val.u8<< op2_insn->val.u8)
 
 IR_FOLD_CONST_I (op1_insn->val.i8<< op2_insn->val.i8)
 
 IR_FOLD_CONST_U (op1_insn->val.u16<< op2_insn->val.u16)
 
 IR_FOLD_CONST_I (op1_insn->val.i16<< op2_insn->val.i16)
 
 IR_FOLD_CONST_U (op1_insn->val.u32<< op2_insn->val.u32)
 
 IR_FOLD_CONST_I (op1_insn->val.i32<< op2_insn->val.i32)
 
 IR_FOLD_CONST_U (op1_insn->val.u64<< op2_insn->val.u64)
 
 IR_FOLD_CONST_U (op1_insn->val.u8 > > op2_insn->val.u8)
 
 IR_FOLD_CONST_I ((int8_t)(op1_insn->val.u8 > > op2_insn->val.u8))
 
 IR_FOLD_CONST_U (op1_insn->val.u16 > > op2_insn->val.u16)
 
 IR_FOLD_CONST_U ((int16_t)(op1_insn->val.u16 > > op2_insn->val.u16))
 
 IR_FOLD_CONST_U (op1_insn->val.u32 > > op2_insn->val.u32)
 
 IR_FOLD_CONST_U (op1_insn->val.u64 > > op2_insn->val.u64)
 
 IR_FOLD_CONST_I (op1_insn->val.i8 > > op2_insn->val.i8)
 
 IR_FOLD_CONST_U ((uint16_t)(op1_insn->val.i16 > > op2_insn->val.i16))
 
 IR_FOLD_CONST_I (op1_insn->val.i16 > > op2_insn->val.i16)
 
 IR_FOLD_CONST_I (op1_insn->val.i32 > > op2_insn->val.i32)
 
 IR_FOLD_CONST_I (op1_insn->val.i64 > > op2_insn->val.i64)
 
 IR_FOLD_CONST_U (ir_rol8(op1_insn->val.u8, op2_insn->val.u8))
 
 IR_FOLD_CONST_I ((int8_t) ir_rol8(op1_insn->val.u8, op2_insn->val.u8))
 
 IR_FOLD_CONST_U (ir_rol16(op1_insn->val.u16, op2_insn->val.u16))
 
 IR_FOLD_CONST_I ((int16_t) ir_rol16(op1_insn->val.u16, op2_insn->val.u16))
 
 IR_FOLD_CONST_U (ir_rol32(op1_insn->val.u32, op2_insn->val.u32))
 
 IR_FOLD_CONST_I ((int32_t) ir_rol32(op1_insn->val.u32, op2_insn->val.u32))
 
 IR_FOLD_CONST_U (ir_rol64(op1_insn->val.u64, op2_insn->val.u64))
 
 IR_FOLD_CONST_U (ir_ror8(op1_insn->val.u8, op2_insn->val.u8))
 
 IR_FOLD_CONST_I ((int8_t) ir_ror8(op1_insn->val.u8, op2_insn->val.u8))
 
 IR_FOLD_CONST_U (ir_ror16(op1_insn->val.u16, op2_insn->val.u16))
 
 IR_FOLD_CONST_I ((int16_t) ir_ror16(op1_insn->val.u16, op2_insn->val.u16))
 
 IR_FOLD_CONST_U (ir_ror32(op1_insn->val.u32, op2_insn->val.u32))
 
 IR_FOLD_CONST_I ((int32_t) ir_ror32(op1_insn->val.u32, op2_insn->val.u32))
 
 IR_FOLD_CONST_U (ir_ror64(op1_insn->val.u64, op2_insn->val.u64))
 
 IR_ASSERT (ir_type_size[IR_OPT_TYPE(opt)] > ir_type_size[op1_insn->type])
 
 IR_FOLD_CONST_I ((int64_t) op1_insn->val.i8)
 
 IR_FOLD_CONST_U ((uint64_t) op1_insn->val.u8)
 
 IR_ASSERT (ir_type_size[IR_OPT_TYPE(opt)]< ir_type_size[op1_insn->type])
 
 switch (IR_OPT_TYPE(opt))
 

Variables

 else
 
uint64_t max = ((uint64_t)0xffffffffffffffff) >> (64 - ir_type_size[type] * 8)
 
int64_t min = - max - 1
 
uint64_t res = op1_insn->val.u64 * op2_insn->val.u64
 

Function Documentation

◆ if() [1/8]

if ( (op2_insn->val.i64 > 0 &&op1_insn->val.i64 > max - op2_insn->val.i64)||(op2_insn->val.i64< 0 &&op1_insn->val.i64< min - op2_insn->val.i64) )

Definition at line 623 of file ir_fold.h.

◆ if() [2/8]

if ( (op2_insn->val.i64 > 0 &&op1_insn->val.i64< min+op2_insn->val.i64)||(op2_insn->val.i64< 0 &&op1_insn->val.i64 > max+op2_insn->val.i64) )

Definition at line 651 of file ir_fold.h.

◆ if() [3/8]

if ( op1_insn->val.i64 ! = 0 && res / op1_insn->val.i64 != op2_insn->val.i64 && res >= min && res <= max)

Definition at line 685 of file ir_fold.h.

◆ if() [4/8]

if ( op1_insn->val.i64 >= 0)

Definition at line 581 of file ir_fold.h.

◆ if() [5/8]

if ( op1_insn->val.u64 ! = 0 && res / op1_insn->val.u64 != op2_insn->val.u64 && res <= max)

Definition at line 668 of file ir_fold.h.

◆ if() [6/8]

if ( op1_insn->val. u64,
max - op2_insn->val. u64 )

Definition at line 608 of file ir_fold.h.

◆ if() [7/8]

if ( op2_insn->val. u64,
op1_insn->val. u64 )

Definition at line 636 of file ir_fold.h.

◆ if() [8/8]

if ( op2_insn->val. u64 = = 0)

Definition at line 495 of file ir_fold.h.

◆ IR_ASSERT() [1/4]

IR_ASSERT ( IR_OPT_TYPE(opt) = =op1_insn->type)

◆ IR_ASSERT() [2/4]

IR_ASSERT ( ir_type_size [IR_OPT_TYPE(opt)],
ir_type_size [op1_insn->type] )
Initial value:
{
#define IR_IS_TYPE_INT(t)
Definition ir.h:145
#define IR_OPT_TYPE(opt)
Definition ir.h:387
#define IR_ASSERT(x)
Definition ir_private.h:17

◆ IR_ASSERT() [3/4]

IR_ASSERT ( ir_type_size< ir_type_size[op1_insn->type] [IR_OPT_TYPE(opt)])

◆ IR_ASSERT() [4/4]

IR_ASSERT ( type = =op1_insn->type)

◆ IR_FOLD_BOOL() [1/4]

IR_FOLD_BOOL ( !op1_insn->val. u64)

◆ IR_FOLD_BOOL() [2/4]

IR_FOLD_BOOL ( op1_insn->val.b ! = op2_insn->val.b)

◆ IR_FOLD_BOOL() [3/4]

IR_FOLD_BOOL ( op1_insn->val.b &&op2_insn->val. b)

◆ IR_FOLD_BOOL() [4/4]

IR_FOLD_BOOL ( op1_insn->val.b||op2_insn->val. b)

◆ IR_FOLD_CONST_D() [1/6]

IR_FOLD_CONST_D ( -op1_insn->val. d)

◆ IR_FOLD_CONST_D() [2/6]

IR_FOLD_CONST_D ( fabs(op1_insn->val.d) )

◆ IR_FOLD_CONST_D() [3/6]

IR_FOLD_CONST_D ( op1_insn->val.d *op2_insn->val. d)

◆ IR_FOLD_CONST_D() [4/6]

IR_FOLD_CONST_D ( op1_insn->val.d - op2_insn->val. d)

◆ IR_FOLD_CONST_D() [5/6]

IR_FOLD_CONST_D ( op1_insn->val.d+op2_insn->val. d)

◆ IR_FOLD_CONST_D() [6/6]

IR_FOLD_CONST_D ( op1_insn->val.d/op2_insn->val. d)

◆ IR_FOLD_CONST_F() [1/6]

IR_FOLD_CONST_F ( -op1_insn->val. f)

◆ IR_FOLD_CONST_F() [2/6]

IR_FOLD_CONST_F ( fabsf(op1_insn->val.f) )

◆ IR_FOLD_CONST_F() [3/6]

IR_FOLD_CONST_F ( op1_insn->val.f *op2_insn->val. f)

◆ IR_FOLD_CONST_F() [4/6]

IR_FOLD_CONST_F ( op1_insn->val.f - op2_insn->val. f)

◆ IR_FOLD_CONST_F() [5/6]

IR_FOLD_CONST_F ( op1_insn->val.f+op2_insn->val. f)

◆ IR_FOLD_CONST_F() [6/6]

IR_FOLD_CONST_F ( op1_insn->val.f/op2_insn->val. f)

◆ IR_FOLD_CONST_I() [1/39]

IR_FOLD_CONST_I ( (int16_t) ir_rol16(op1_insn->val.u16, op2_insn->val.u16) )

◆ IR_FOLD_CONST_I() [2/39]

IR_FOLD_CONST_I ( (int16_t) ir_ror16(op1_insn->val.u16, op2_insn->val.u16) )

◆ IR_FOLD_CONST_I() [3/39]

IR_FOLD_CONST_I ( (int32_t) ir_rol32(op1_insn->val.u32, op2_insn->val.u32) )

◆ IR_FOLD_CONST_I() [4/39]

IR_FOLD_CONST_I ( (int32_t) ir_ror32(op1_insn->val.u32, op2_insn->val.u32) )

◆ IR_FOLD_CONST_I() [5/39]

IR_FOLD_CONST_I ( (int32_t)(op1_insn->val.u32 *op2_insn->val.u32) )

◆ IR_FOLD_CONST_I() [6/39]

IR_FOLD_CONST_I ( (int32_t)(op1_insn->val.u32 - op2_insn->val.u32) )

◆ IR_FOLD_CONST_I() [7/39]

IR_FOLD_CONST_I ( (int32_t)(op1_insn->val.u32+op2_insn->val.u32) )

◆ IR_FOLD_CONST_I() [8/39]

IR_FOLD_CONST_I ( (int64_t) op1_insn->val. i8)

◆ IR_FOLD_CONST_I() [9/39]

IR_FOLD_CONST_I ( (int8_t) ir_rol8(op1_insn->val.u8, op2_insn->val.u8) )

◆ IR_FOLD_CONST_I() [10/39]

IR_FOLD_CONST_I ( (int8_t) ir_ror8(op1_insn->val.u8, op2_insn->val.u8) )

◆ IR_FOLD_CONST_I() [11/39]

IR_FOLD_CONST_I ( (int8_t)(op1_insn->val.u8 > > op2_insn->val.u8) )

◆ IR_FOLD_CONST_I() [12/39]

IR_FOLD_CONST_I ( -op1_insn->val. u64)

◆ IR_FOLD_CONST_I() [13/39]

IR_FOLD_CONST_I ( op1_insn->val.i16 *op2_insn->val. i16)

◆ IR_FOLD_CONST_I() [14/39]

IR_FOLD_CONST_I ( op1_insn->val.i16 - op2_insn->val. i16)

◆ IR_FOLD_CONST_I() [15/39]

IR_FOLD_CONST_I ( op1_insn->val. i16,
op2_insn->val. i16 )

◆ IR_FOLD_CONST_I() [16/39]

IR_FOLD_CONST_I ( op1_insn->val.i16 ^ op2_insn->val. i16)

◆ IR_FOLD_CONST_I() [17/39]

IR_FOLD_CONST_I ( op1_insn->val.i16+op2_insn->val. i16)

◆ IR_FOLD_CONST_I() [18/39]

IR_FOLD_CONST_I ( op1_insn->val.i16<< op2_insn->val. i16)

◆ IR_FOLD_CONST_I() [19/39]

IR_FOLD_CONST_I ( op1_insn->val. i32,
op2_insn->val. i32 )

◆ IR_FOLD_CONST_I() [20/39]

IR_FOLD_CONST_I ( op1_insn->val.i32 ^ op2_insn->val. i32)

◆ IR_FOLD_CONST_I() [21/39]

IR_FOLD_CONST_I ( op1_insn->val.i32<< op2_insn->val. i32)

◆ IR_FOLD_CONST_I() [22/39]

IR_FOLD_CONST_I ( op1_insn->val.i64 % op2_insn->val. i64)

◆ IR_FOLD_CONST_I() [23/39]

IR_FOLD_CONST_I ( op1_insn->val.i64 &op2_insn->val. i64)

◆ IR_FOLD_CONST_I() [24/39]

IR_FOLD_CONST_I ( op1_insn->val.i64 - op2_insn->val. i64)

◆ IR_FOLD_CONST_I() [25/39]

IR_FOLD_CONST_I ( op1_insn->val. i64,
op2_insn->val. i64 )

◆ IR_FOLD_CONST_I() [26/39]

IR_FOLD_CONST_I ( op1_insn->val.i64 ^ op2_insn->val. i64)

◆ IR_FOLD_CONST_I() [27/39]

IR_FOLD_CONST_I ( op1_insn->val.i64+op2_insn->val. i64)

◆ IR_FOLD_CONST_I() [28/39]

IR_FOLD_CONST_I ( op1_insn->val.i64/op2_insn->val. i64)

◆ IR_FOLD_CONST_I() [29/39]

IR_FOLD_CONST_I ( op1_insn->val.i64|op2_insn->val. i64)

◆ IR_FOLD_CONST_I() [30/39]

IR_FOLD_CONST_I ( op1_insn->val.i8 *op2_insn->val. i8)

◆ IR_FOLD_CONST_I() [31/39]

IR_FOLD_CONST_I ( op1_insn->val.i8 - op2_insn->val. i8)

◆ IR_FOLD_CONST_I() [32/39]

IR_FOLD_CONST_I ( op1_insn->val. i8,
op2_insn->val. i8 )

◆ IR_FOLD_CONST_I() [33/39]

IR_FOLD_CONST_I ( op1_insn->val.i8 ^ op2_insn->val. i8)

◆ IR_FOLD_CONST_I() [34/39]

IR_FOLD_CONST_I ( op1_insn->val.i8+op2_insn->val. i8)

◆ IR_FOLD_CONST_I() [35/39]

IR_FOLD_CONST_I ( op1_insn->val.i8<< op2_insn->val. i8)

◆ IR_FOLD_CONST_I() [36/39]

IR_FOLD_CONST_I ( op1_insn->val.u64 *op2_insn->val. u64)

◆ IR_FOLD_CONST_I() [37/39]

IR_FOLD_CONST_I ( op1_insn->val.u64 - op2_insn->val. u64)

◆ IR_FOLD_CONST_I() [38/39]

IR_FOLD_CONST_I ( op1_insn->val.u64+op2_insn->val. u64)

◆ IR_FOLD_CONST_I() [39/39]

IR_FOLD_CONST_I ( ~op1_insn->val. i8)
Initial value:
{
IR_ASSERT(IR_OPT_TYPE(opt) == op1_insn->type)

◆ IR_FOLD_CONST_U() [1/41]

IR_FOLD_CONST_U ( (int16_t)(op1_insn->val.u16 > > op2_insn->val.u16) )
Initial value:
{
IR_ASSERT(IR_OPT_TYPE(opt) == op1_insn->type)

◆ IR_FOLD_CONST_U() [2/41]

IR_FOLD_CONST_U ( (uint16_t)(op1_insn->val.i16 > > op2_insn->val.i16) )
Initial value:
{
IR_ASSERT(IR_OPT_TYPE(opt) == op1_insn->type)

◆ IR_FOLD_CONST_U() [3/41]

IR_FOLD_CONST_U ( (uint64_t) op1_insn->val. u8)

◆ IR_FOLD_CONST_U() [4/41]

IR_FOLD_CONST_U ( ir_rol16(op1_insn->val.u16, op2_insn->val.u16) )

◆ IR_FOLD_CONST_U() [5/41]

IR_FOLD_CONST_U ( ir_rol32(op1_insn->val.u32, op2_insn->val.u32) )

◆ IR_FOLD_CONST_U() [6/41]

IR_FOLD_CONST_U ( ir_rol64(op1_insn->val.u64, op2_insn->val.u64) )

◆ IR_FOLD_CONST_U() [7/41]

IR_FOLD_CONST_U ( ir_rol8(op1_insn->val.u8, op2_insn->val.u8) )

◆ IR_FOLD_CONST_U() [8/41]

IR_FOLD_CONST_U ( ir_ror16(op1_insn->val.u16, op2_insn->val.u16) )

◆ IR_FOLD_CONST_U() [9/41]

IR_FOLD_CONST_U ( ir_ror32(op1_insn->val.u32, op2_insn->val.u32) )

◆ IR_FOLD_CONST_U() [10/41]

IR_FOLD_CONST_U ( ir_ror64(op1_insn->val.u64, op2_insn->val.u64) )

◆ IR_FOLD_CONST_U() [11/41]

IR_FOLD_CONST_U ( ir_ror8(op1_insn->val.u8, op2_insn->val.u8) )

◆ IR_FOLD_CONST_U() [12/41]

IR_FOLD_CONST_U ( op1_insn->val.u16 *op2_insn->val. u16)

◆ IR_FOLD_CONST_U() [13/41]

IR_FOLD_CONST_U ( op1_insn->val.u16 - op2_insn->val. u16)

◆ IR_FOLD_CONST_U() [14/41]

IR_FOLD_CONST_U ( op1_insn->val. u16,
op2_insn->val. u16 )

◆ IR_FOLD_CONST_U() [15/41]

IR_FOLD_CONST_U ( op1_insn->val.u16 ^ op2_insn->val. u16)

◆ IR_FOLD_CONST_U() [16/41]

IR_FOLD_CONST_U ( op1_insn->val.u16+op2_insn->val. u16)

◆ IR_FOLD_CONST_U() [17/41]

IR_FOLD_CONST_U ( op1_insn->val.u16<< op2_insn->val. u16)

◆ IR_FOLD_CONST_U() [18/41]

IR_FOLD_CONST_U ( op1_insn->val.u32 *op2_insn->val. u32)

◆ IR_FOLD_CONST_U() [19/41]

IR_FOLD_CONST_U ( op1_insn->val.u32 - op2_insn->val. u32)

◆ IR_FOLD_CONST_U() [20/41]

IR_FOLD_CONST_U ( op1_insn->val. u32,
op2_insn->val. u32 )

◆ IR_FOLD_CONST_U() [21/41]

IR_FOLD_CONST_U ( op1_insn->val.u32 ^ op2_insn->val. u32)

◆ IR_FOLD_CONST_U() [22/41]

IR_FOLD_CONST_U ( op1_insn->val.u32+op2_insn->val. u32)

◆ IR_FOLD_CONST_U() [23/41]

IR_FOLD_CONST_U ( op1_insn->val.u32<< op2_insn->val. u32)

◆ IR_FOLD_CONST_U() [24/41]

IR_FOLD_CONST_U ( op1_insn->val.u64 % op2_insn->val. u64)

◆ IR_FOLD_CONST_U() [25/41]

IR_FOLD_CONST_U ( op1_insn->val.u64 &op2_insn->val. u64)

◆ IR_FOLD_CONST_U() [26/41]

IR_FOLD_CONST_U ( op1_insn->val.u64 *op2_insn->val. u64)

◆ IR_FOLD_CONST_U() [27/41]

IR_FOLD_CONST_U ( op1_insn->val.u64 - op2_insn->val. u64)

◆ IR_FOLD_CONST_U() [28/41]

IR_FOLD_CONST_U ( op1_insn->val. u64,
op2_insn->val. u64 )

◆ IR_FOLD_CONST_U() [29/41]

IR_FOLD_CONST_U ( op1_insn->val.u64 ^ op2_insn->val. u64)

◆ IR_FOLD_CONST_U() [30/41]

IR_FOLD_CONST_U ( op1_insn->val.u64+op2_insn->val. u64)

◆ IR_FOLD_CONST_U() [31/41]

IR_FOLD_CONST_U ( op1_insn->val.u64/op2_insn->val. u64)

◆ IR_FOLD_CONST_U() [32/41]

IR_FOLD_CONST_U ( op1_insn->val.u64<< op2_insn->val. u64)

◆ IR_FOLD_CONST_U() [33/41]

IR_FOLD_CONST_U ( op1_insn->val.u64|op2_insn->val. u64)

◆ IR_FOLD_CONST_U() [34/41]

IR_FOLD_CONST_U ( op1_insn->val.u8 *op2_insn->val. u8)

◆ IR_FOLD_CONST_U() [35/41]

IR_FOLD_CONST_U ( op1_insn->val.u8 - op2_insn->val. u8)

◆ IR_FOLD_CONST_U() [36/41]

IR_FOLD_CONST_U ( op1_insn->val. u8,
op2_insn->val. u8 )

◆ IR_FOLD_CONST_U() [37/41]

IR_FOLD_CONST_U ( op1_insn->val.u8 ^ op2_insn->val. u8)

◆ IR_FOLD_CONST_U() [38/41]

IR_FOLD_CONST_U ( op1_insn->val.u8+op2_insn->val. u8)

◆ IR_FOLD_CONST_U() [39/41]

IR_FOLD_CONST_U ( op1_insn->val.u8<< op2_insn->val. u8)

◆ IR_FOLD_CONST_U() [40/41]

IR_FOLD_CONST_U ( res )

◆ IR_FOLD_CONST_U() [41/41]

IR_FOLD_CONST_U ( ~op1_insn->val. u8)
Initial value:
{
IR_ASSERT(IR_OPT_TYPE(opt) == op1_insn->type)

◆ switch()

switch ( IR_OPT_TYPE(opt) )
Initial value:
{
IR_ASSERT(ir_type_size[IR_OPT_TYPE(opt)] == ir_type_size[op1_insn->type])
const uint8_t ir_type_size[IR_LAST_TYPE]
Definition ir.c:61

Definition at line 1194 of file ir_fold.h.

Variable Documentation

◆ else

else
Initial value:
{
IR_FOLD_CONST_I(-op1_insn->val.u64)
#define IR_FOLD_CONST_I(_val)
Definition ir.c:890

Definition at line 583 of file ir_fold.h.

◆ max

int64_t max = ((uint64_t)0xffffffffffffffff) >> (64 - ir_type_size[type] * 8)

Definition at line 606 of file ir_fold.h.

◆ min

int64_t min = - max - 1

Definition at line 621 of file ir_fold.h.

◆ res

res = op1_insn->val.u64 * op2_insn->val.u64

Definition at line 665 of file ir_fold.h.