; start of dump from pass_ccp (../../src/gcc/tree-ssa-ccp.c:2425) ;; Function ravif2 (ravif2, funcdef_no=0, decl_uid=364, cgraph_uid=0, symbol_order=0) Immediate_uses: isfalse_0_4_1 : --> single use. isfalse_0_4_54 = isfalse_0_4_1; iftmp.1_2 : --> single use. if (iftmp.1_2 != 0) isfalse_0_10_3 : --> single use. isfalse_0_10_81 = isfalse_0_10_3; iftmp.3_4 : --> single use. if (iftmp.3_4 != 0) isfalse_0_16_5 : --> single use. isfalse_0_16_128 = isfalse_0_16_5; iftmp.5_6 : --> single use. if (iftmp.5_6 != 0) .MEM_7 : -->6 uses. # .MEM_101 = VDEF <.MEM_7> _95->value_.i = _100; # VUSE <.MEM_7> _100 = _99->value_.i; # VUSE <.MEM_7> _97 = _96->k; # VUSE <.MEM_7> _96 = cl_13->p; # VUSE <.MEM_7> base_93 = _92->u.l.base; # VUSE <.MEM_7> _92 = L_10(D)->ci; .MEM_8 : --> single use. # .MEM_149 = VDEF <.MEM_8> luaD_poscall (L_10(D), _148); .MEM_9(D) : -->7 uses. # .MEM_17 = VDEF <.MEM_9(D)> raviV_op_loadnil (_16, 0, 0); # VUSE <.MEM_9(D)> _16 = L_10(D)->ci; # VUSE <.MEM_9(D)> base_15 = _14->u.l.base; # VUSE <.MEM_9(D)> _14 = L_10(D)->ci; # VUSE <.MEM_9(D)> cl_13 = _12->value_.gc; # VUSE <.MEM_9(D)> _12 = _11->func; # VUSE <.MEM_9(D)> _11 = L_10(D)->ci; L_10(D) : -->15 uses. luaD_poscall (L_10(D), _148); luaF_close (L_10(D), base_139); L_10(D)->top = _141; _138 = L_10(D)->ci; _129 = L_10(D)->ci; _110 = L_10(D)->ci; _92 = L_10(D)->ci; _84 = L_10(D)->ci; _63 = L_10(D)->ci; _55 = L_10(D)->ci; _36 = L_10(D)->ci; _18 = L_10(D)->ci; _16 = L_10(D)->ci; _14 = L_10(D)->ci; _11 = L_10(D)->ci; _11 : --> single use. _12 = _11->func; _12 : --> single use. cl_13 = _12->value_.gc; cl_13 : -->5 uses. _143 = cl_13->p; _104 = cl_13->p; _96 = cl_13->p; _30 = cl_13->p; _22 = cl_13->p; _14 : --> single use. base_15 = _14->u.l.base; base_15 : --> no uses. _16 : --> single use. raviV_op_loadnil (_16, 0, 0); .MEM_17 : -->6 uses. # .MEM_27 = VDEF <.MEM_17> _21->value_.i = _26; # VUSE <.MEM_17> _26 = _25->value_.i; # VUSE <.MEM_17> _23 = _22->k; # VUSE <.MEM_17> _22 = cl_13->p; # VUSE <.MEM_17> base_19 = _18->u.l.base; # VUSE <.MEM_17> _18 = L_10(D)->ci; _18 : --> single use. base_19 = _18->u.l.base; base_19 : -->2 uses. _29 = base_19 + _28; _21 = base_19 + _20; _20 : --> single use. _21 = base_19 + _20; _21 : --> single use. _21->value_.i = _26; _22 : --> single use. _23 = _22->k; _23 : --> single use. _25 = _23 + _24; _24 : --> single use. _25 = _23 + _24; _25 : --> single use. _26 = _25->value_.i; _26 : --> single use. _21->value_.i = _26; .MEM_27 : -->4 uses. # .MEM_35 = VDEF <.MEM_27> _29->tt_ = _34; # VUSE <.MEM_27> _34 = _33->tt_; # VUSE <.MEM_27> _31 = _30->k; # VUSE <.MEM_27> _30 = cl_13->p; _28 : --> single use. _29 = base_19 + _28; _29 : --> single use. _29->tt_ = _34; _30 : --> single use. _31 = _30->k; _31 : --> single use. _33 = _31 + _32; _32 : --> single use. _33 = _31 + _32; _33 : --> single use. _34 = _33->tt_; _34 : --> single use. _29->tt_ = _34; .MEM_35 : -->8 uses. # .MEM_59 = VDEF <.MEM_35> _58->value_.b = 0; # VUSE <.MEM_35> base_56 = _55->u.l.base; # VUSE <.MEM_35> _55 = L_10(D)->ci; # VUSE <.MEM_35> _48 = _47->value_.b; # VUSE <.MEM_35> _44 = _43->tt_; # VUSE <.MEM_35> _40 = _39->tt_; # VUSE <.MEM_35> base_37 = _36->u.l.base; # VUSE <.MEM_35> _36 = L_10(D)->ci; _36 : --> single use. base_37 = _36->u.l.base; base_37 : -->3 uses. _47 = base_37 + _46; _43 = base_37 + _42; _39 = base_37 + _38; _38 : --> single use. _39 = base_37 + _38; _39 : --> single use. _40 = _39->tt_; _40 : --> single use. comparison_0_5_41 = _40 == 0; comparison_0_5_41 : --> single use. if (comparison_0_5_41 != 0) _42 : --> single use. _43 = base_37 + _42; _43 : --> single use. _44 = _43->tt_; _44 : --> single use. comparison_0_6_45 = _44 == 1; comparison_0_6_45 : --> single use. if (comparison_0_6_45 != 0) _46 : --> single use. _47 = base_37 + _46; _47 : --> single use. _48 = _47->value_.b; _48 : --> single use. comparison_0_7_49 = _48 == 0; comparison_0_7_49 : --> single use. if (comparison_0_7_49 != 0) iftmp.1_50 : --> single use. iftmp.1_2 = PHI iftmp.1_51 : --> single use. iftmp.1_2 = PHI iftmp.0_52 : --> single use. isfalse_0_4_1 = PHI iftmp.0_53 : --> single use. isfalse_0_4_1 = PHI isfalse_0_4_54 : --> no uses. _55 : --> single use. base_56 = _55->u.l.base; base_56 : -->2 uses. _61 = base_56 + _60; _58 = base_56 + _57; _57 : --> single use. _58 = base_56 + _57; _58 : --> single use. _58->value_.b = 0; .MEM_59 : --> single use. # .MEM_62 = VDEF <.MEM_59> _61->tt_ = 1; _60 : --> single use. _61 = base_56 + _60; _61 : --> single use. _61->tt_ = 1; .MEM_62 : -->9 uses. # .MEM_88 = VDEF <.MEM_62> _87->value_.b = 1; # VUSE <.MEM_62> base_85 = _84->u.l.base; # VUSE <.MEM_62> _84 = L_10(D)->ci; .MEM_7 = PHI <.MEM_62(18), .MEM_91(28)> # VUSE <.MEM_62> _75 = _74->value_.b; # VUSE <.MEM_62> _71 = _70->tt_; # VUSE <.MEM_62> _67 = _66->tt_; # VUSE <.MEM_62> base_64 = _63->u.l.base; # VUSE <.MEM_62> _63 = L_10(D)->ci; _63 : --> single use. base_64 = _63->u.l.base; base_64 : -->3 uses. _74 = base_64 + _73; _70 = base_64 + _69; _66 = base_64 + _65; _65 : --> single use. _66 = base_64 + _65; _66 : --> single use. _67 = _66->tt_; _67 : --> single use. comparison_0_11_68 = _67 == 0; comparison_0_11_68 : --> single use. if (comparison_0_11_68 != 0) _69 : --> single use. _70 = base_64 + _69; _70 : --> single use. _71 = _70->tt_; _71 : --> single use. comparison_0_12_72 = _71 == 1; comparison_0_12_72 : --> single use. if (comparison_0_12_72 != 0) _73 : --> single use. _74 = base_64 + _73; _74 : --> single use. _75 = _74->value_.b; _75 : --> single use. comparison_0_13_76 = _75 == 0; comparison_0_13_76 : --> single use. if (comparison_0_13_76 != 0) iftmp.3_77 : --> single use. iftmp.3_4 = PHI iftmp.3_78 : --> single use. iftmp.3_4 = PHI iftmp.2_79 : --> single use. isfalse_0_10_3 = PHI iftmp.2_80 : --> single use. isfalse_0_10_3 = PHI isfalse_0_10_81 : --> single use. _82 = ~isfalse_0_10_81; _82 : --> single use. _83 = (signed int) _82; _83 : --> single use. if (_83 == 0) _84 : --> single use. base_85 = _84->u.l.base; base_85 : -->2 uses. _90 = base_85 + _89; _87 = base_85 + _86; _86 : --> single use. _87 = base_85 + _86; _87 : --> single use. _87->value_.b = 1; .MEM_88 : --> single use. # .MEM_91 = VDEF <.MEM_88> _90->tt_ = 1; _89 : --> single use. _90 = base_85 + _89; _90 : --> single use. _90->tt_ = 1; .MEM_91 : --> single use. .MEM_7 = PHI <.MEM_62(18), .MEM_91(28)> _92 : --> single use. base_93 = _92->u.l.base; base_93 : -->2 uses. _103 = base_93 + _102; _95 = base_93 + _94; _94 : --> single use. _95 = base_93 + _94; _95 : --> single use. _95->value_.i = _100; _96 : --> single use. _97 = _96->k; _97 : --> single use. _99 = _97 + _98; _98 : --> single use. _99 = _97 + _98; _99 : --> single use. _100 = _99->value_.i; _100 : --> single use. _95->value_.i = _100; .MEM_101 : -->4 uses. # .MEM_109 = VDEF <.MEM_101> _103->tt_ = _108; # VUSE <.MEM_101> _108 = _107->tt_; # VUSE <.MEM_101> _105 = _104->k; # VUSE <.MEM_101> _104 = cl_13->p; _102 : --> single use. _103 = base_93 + _102; _103 : --> single use. _103->tt_ = _108; _104 : --> single use. _105 = _104->k; _105 : --> single use. _107 = _105 + _106; _106 : --> single use. _107 = _105 + _106; _107 : --> single use. _108 = _107->tt_; _108 : --> single use. _103->tt_ = _108; .MEM_109 : -->8 uses. # .MEM_133 = VDEF <.MEM_109> _132->value_.b = 0; # VUSE <.MEM_109> base_130 = _129->u.l.base; # VUSE <.MEM_109> _129 = L_10(D)->ci; # VUSE <.MEM_109> _122 = _121->value_.b; # VUSE <.MEM_109> _118 = _117->tt_; # VUSE <.MEM_109> _114 = _113->tt_; # VUSE <.MEM_109> base_111 = _110->u.l.base; # VUSE <.MEM_109> _110 = L_10(D)->ci; _110 : --> single use. base_111 = _110->u.l.base; base_111 : -->3 uses. _121 = base_111 + _120; _117 = base_111 + _116; _113 = base_111 + _112; _112 : --> single use. _113 = base_111 + _112; _113 : --> single use. _114 = _113->tt_; _114 : --> single use. comparison_0_17_115 = _114 == 0; comparison_0_17_115 : --> single use. if (comparison_0_17_115 != 0) _116 : --> single use. _117 = base_111 + _116; _117 : --> single use. _118 = _117->tt_; _118 : --> single use. comparison_0_18_119 = _118 == 1; comparison_0_18_119 : --> single use. if (comparison_0_18_119 != 0) _120 : --> single use. _121 = base_111 + _120; _121 : --> single use. _122 = _121->value_.b; _122 : --> single use. comparison_0_19_123 = _122 == 0; comparison_0_19_123 : --> single use. if (comparison_0_19_123 != 0) iftmp.5_124 : --> single use. iftmp.5_6 = PHI iftmp.5_125 : --> single use. iftmp.5_6 = PHI iftmp.4_126 : --> single use. isfalse_0_16_5 = PHI iftmp.4_127 : --> single use. isfalse_0_16_5 = PHI isfalse_0_16_128 : --> no uses. _129 : --> single use. base_130 = _129->u.l.base; base_130 : -->2 uses. _135 = base_130 + _134; _132 = base_130 + _131; _131 : --> single use. _132 = base_130 + _131; _132 : --> single use. _132->value_.b = 0; .MEM_133 : --> single use. # .MEM_136 = VDEF <.MEM_133> _135->tt_ = 1; _134 : --> single use. _135 = base_130 + _134; _135 : --> single use. _135->tt_ = 1; .MEM_136 : --> single use. # .MEM_137 = VDEF <.MEM_136> printf ("OP_RETURN(pc=%d) return %d args", 13, 1); .MEM_137 : -->3 uses. # .MEM_142 = VDEF <.MEM_137> L_10(D)->top = _141; # VUSE <.MEM_137> base_139 = _138->u.l.base; # VUSE <.MEM_137> _138 = L_10(D)->ci; _138 : --> single use. base_139 = _138->u.l.base; base_139 : -->3 uses. _148 = base_139 + _147; luaF_close (L_10(D), base_139); _141 = base_139 + _140; _140 : --> single use. _141 = base_139 + _140; _141 : --> single use. L_10(D)->top = _141; .MEM_142 : -->4 uses. # .MEM_146 = VDEF <.MEM_142> luaF_close (L_10(D), base_139); .MEM_8 = PHI <.MEM_142(27), .MEM_146(29)> # VUSE <.MEM_142> _144 = _143->sizep; # VUSE <.MEM_142> _143 = cl_13->p; _143 : --> single use. _144 = _143->sizep; _144 : --> single use. comparison_0_22_145 = _144 > 0; comparison_0_22_145 : --> single use. if (comparison_0_22_145 != 0) .MEM_146 : --> single use. .MEM_8 = PHI <.MEM_142(27), .MEM_146(29)> _147 : --> single use. _148 = base_139 + _147; _148 : --> single use. luaD_poscall (L_10(D), _148); .MEM_149 : --> single use. # VUSE <.MEM_149> return _150; _150 : --> single use. return _150; Adding Destination of edge (0 -> 2) to worklist Simulating block 2 Visiting statement: _11 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _12 = _11->func; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: cl_13 = _12->value_.gc; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _14 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_15 = _14->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _16 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _18 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_19 = _18->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _20 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _21 = base_19 + _20; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _22 = cl_13->p; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _23 = _22->k; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _24 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _25 = _23 + _24; which is likely CONSTANT Applying pattern match.pd:51, gimple-match.c:10297 Match-and-simplified _23 + _24 to _23 Lattice value changed to CONSTANT _23. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _26 = _25->value_.i; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _28 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _29 = base_19 + _28; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _30 = cl_13->p; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _31 = _30->k; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _32 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _33 = _31 + _32; which is likely CONSTANT Applying pattern match.pd:51, gimple-match.c:10297 Match-and-simplified _31 + _32 to _31 Lattice value changed to CONSTANT _31. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _34 = _33->tt_; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _36 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_37 = _36->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _38 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _39 = base_37 + _38; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _40 = _39->tt_; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_5_41 = _40 == 0; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _42 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _43 = base_37 + _42; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _44 = _43->tt_; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_6_45 = _44 == 1; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _46 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _47 = base_37 + _46; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _48 = _47->value_.b; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_7_49 = _48 == 0; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: if (comparison_0_5_41 != 0) which is likely CONSTANT Adding Destination of edge (2 -> 8) to worklist Adding Destination of edge (2 -> 3) to worklist Simulating statement (from ssa_edges): if (comparison_0_7_49 != 0) Simulating statement (from ssa_edges): if (comparison_0_6_45 != 0) Simulating statement (from ssa_edges): _96 = cl_13->p; Simulating statement (from ssa_edges): _104 = cl_13->p; Simulating statement (from ssa_edges): _143 = cl_13->p; Simulating block 3 Visiting statement: if (comparison_0_6_45 != 0) which is likely CONSTANT Adding Destination of edge (3 -> 4) to worklist Adding Destination of edge (3 -> 6) to worklist Simulating block 4 Visiting statement: if (comparison_0_7_49 != 0) which is likely CONSTANT Adding Destination of edge (4 -> 5) to worklist Simulating block 5 Visiting statement: iftmp.1_50 = 1; which is likely CONSTANT Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. marking stmt to be not simulated again Adding Destination of edge (5 -> 7) to worklist Simulating statement (from ssa_edges): iftmp.1_2 = PHI Visiting PHI node: iftmp.1_2 = PHI Argument #0 (5 -> 7 executable) iftmp.1_50 Value: CONSTANT 1 Argument #1 (6 -> 7 not executable) PHI node value: CONSTANT 1 Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. Simulating statement (from ssa_edges): if (iftmp.1_2 != 0) Simulating block 8 Visiting statement: iftmp.0_53 = 1; which is likely CONSTANT Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. marking stmt to be not simulated again Adding Destination of edge (8 -> 10) to worklist Simulating statement (from ssa_edges): isfalse_0_4_1 = PHI Visiting PHI node: isfalse_0_4_1 = PHI Argument #0 (8 -> 10 executable) iftmp.0_53 Value: CONSTANT 1 Argument #1 (9 -> 10 not executable) PHI node value: CONSTANT 1 Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. Simulating statement (from ssa_edges): isfalse_0_4_54 = isfalse_0_4_1; Simulating block 6 Visiting statement: iftmp.1_51 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Simulating statement (from ssa_edges): iftmp.1_2 = PHI Visiting PHI node: iftmp.1_2 = PHI Argument #0 (5 -> 7 executable) iftmp.1_50 Value: CONSTANT 1 Argument #1 (6 -> 7 executable) iftmp.1_51 Value: CONSTANT 0 PHI node value: VARYING Lattice value changed to VARYING. Adding SSA edges to worklist. Simulating block 7 Visiting statement: if (iftmp.1_2 != 0) which is likely CONSTANT Adding Destination of edge (7 -> 8) to worklist Adding Destination of edge (7 -> 9) to worklist Simulating block 9 Visiting statement: iftmp.0_52 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Simulating statement (from ssa_edges): isfalse_0_4_1 = PHI Visiting PHI node: isfalse_0_4_1 = PHI Argument #0 (8 -> 10 executable) iftmp.0_53 Value: CONSTANT 1 Argument #1 (9 -> 10 executable) iftmp.0_52 Value: CONSTANT 0 PHI node value: VARYING Lattice value changed to VARYING. Adding SSA edges to worklist. Simulating block 10 Visiting statement: isfalse_0_4_54 = isfalse_0_4_1; which is likely CONSTANT Lattice value changed to CONSTANT isfalse_0_4_1. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _55 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_56 = _55->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _57 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _58 = base_56 + _57; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _60 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _61 = base_56 + _60; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _63 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_64 = _63->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _65 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _66 = base_64 + _65; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _67 = _66->tt_; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_11_68 = _67 == 0; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _69 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _70 = base_64 + _69; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _71 = _70->tt_; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_12_72 = _71 == 1; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _73 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _74 = base_64 + _73; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _75 = _74->value_.b; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_13_76 = _75 == 0; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: if (comparison_0_11_68 != 0) which is likely CONSTANT Adding Destination of edge (10 -> 16) to worklist Adding Destination of edge (10 -> 11) to worklist Simulating statement (from ssa_edges): if (comparison_0_13_76 != 0) Simulating statement (from ssa_edges): if (comparison_0_12_72 != 0) Simulating block 11 Visiting statement: if (comparison_0_12_72 != 0) which is likely CONSTANT Adding Destination of edge (11 -> 12) to worklist Adding Destination of edge (11 -> 14) to worklist Simulating block 12 Visiting statement: if (comparison_0_13_76 != 0) which is likely CONSTANT Adding Destination of edge (12 -> 13) to worklist Simulating block 13 Visiting statement: iftmp.3_77 = 1; which is likely CONSTANT Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. marking stmt to be not simulated again Adding Destination of edge (13 -> 15) to worklist Simulating statement (from ssa_edges): iftmp.3_4 = PHI Visiting PHI node: iftmp.3_4 = PHI Argument #0 (13 -> 15 executable) iftmp.3_77 Value: CONSTANT 1 Argument #1 (14 -> 15 not executable) PHI node value: CONSTANT 1 Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. Simulating statement (from ssa_edges): if (iftmp.3_4 != 0) Simulating block 8 Simulating block 16 Visiting statement: iftmp.2_80 = 1; which is likely CONSTANT Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. marking stmt to be not simulated again Adding Destination of edge (16 -> 18) to worklist Simulating statement (from ssa_edges): isfalse_0_10_3 = PHI Visiting PHI node: isfalse_0_10_3 = PHI Argument #0 (16 -> 18 executable) iftmp.2_80 Value: CONSTANT 1 Argument #1 (17 -> 18 not executable) PHI node value: CONSTANT 1 Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. Simulating statement (from ssa_edges): isfalse_0_10_81 = isfalse_0_10_3; Simulating block 14 Visiting statement: iftmp.3_78 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Simulating statement (from ssa_edges): iftmp.3_4 = PHI Visiting PHI node: iftmp.3_4 = PHI Argument #0 (13 -> 15 executable) iftmp.3_77 Value: CONSTANT 1 Argument #1 (14 -> 15 executable) iftmp.3_78 Value: CONSTANT 0 PHI node value: VARYING Lattice value changed to VARYING. Adding SSA edges to worklist. Simulating block 15 Visiting statement: if (iftmp.3_4 != 0) which is likely CONSTANT Adding Destination of edge (15 -> 16) to worklist Adding Destination of edge (15 -> 17) to worklist Simulating block 17 Visiting statement: iftmp.2_79 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Simulating statement (from ssa_edges): isfalse_0_10_3 = PHI Visiting PHI node: isfalse_0_10_3 = PHI Argument #0 (16 -> 18 executable) iftmp.2_80 Value: CONSTANT 1 Argument #1 (17 -> 18 executable) iftmp.2_79 Value: CONSTANT 0 PHI node value: VARYING Lattice value changed to VARYING. Adding SSA edges to worklist. Simulating block 18 Visiting statement: isfalse_0_10_81 = isfalse_0_10_3; which is likely CONSTANT Lattice value changed to CONSTANT isfalse_0_10_3. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _82 = ~isfalse_0_10_81; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _83 = (signed int) _82; which is likely CONSTANT Lattice value changed to CONSTANT 0x0 (0x1). Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: if (_83 == 0) which is likely CONSTANT Adding Destination of edge (18 -> 19) to worklist Adding Destination of edge (18 -> 28) to worklist Simulating block 28 Visiting statement: _84 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_85 = _84->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _86 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _87 = base_85 + _86; which is likely CONSTANT Applying pattern match.pd:51, gimple-match.c:10297 Match-and-simplified base_85 + _86 to base_85 Lattice value changed to CONSTANT base_85. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _89 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _90 = base_85 + _89; which is likely CONSTANT Applying pattern match.pd:51, gimple-match.c:10297 Match-and-simplified base_85 + _89 to base_85 Lattice value changed to CONSTANT base_85. Adding SSA edges to worklist. marking stmt to be not simulated again Simulating block 16 Simulating block 19 Visiting statement: _92 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_93 = _92->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _94 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _95 = base_93 + _94; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _96 = cl_13->p; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _97 = _96->k; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _98 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _99 = _97 + _98; which is likely CONSTANT Applying pattern match.pd:51, gimple-match.c:10297 Match-and-simplified _97 + _98 to _97 Lattice value changed to CONSTANT _97. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _100 = _99->value_.i; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _102 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _103 = base_93 + _102; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _104 = cl_13->p; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _105 = _104->k; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _106 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _107 = _105 + _106; which is likely CONSTANT Applying pattern match.pd:51, gimple-match.c:10297 Match-and-simplified _105 + _106 to _105 Lattice value changed to CONSTANT _105. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _108 = _107->tt_; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _110 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_111 = _110->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _112 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _113 = base_111 + _112; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _114 = _113->tt_; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_17_115 = _114 == 0; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _116 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _117 = base_111 + _116; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _118 = _117->tt_; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_18_119 = _118 == 1; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _120 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _121 = base_111 + _120; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _122 = _121->value_.b; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_19_123 = _122 == 0; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: if (comparison_0_17_115 != 0) which is likely CONSTANT Adding Destination of edge (19 -> 25) to worklist Adding Destination of edge (19 -> 20) to worklist Simulating statement (from ssa_edges): if (comparison_0_19_123 != 0) Simulating statement (from ssa_edges): if (comparison_0_18_119 != 0) Simulating block 20 Visiting statement: if (comparison_0_18_119 != 0) which is likely CONSTANT Adding Destination of edge (20 -> 21) to worklist Adding Destination of edge (20 -> 23) to worklist Simulating block 21 Visiting statement: if (comparison_0_19_123 != 0) which is likely CONSTANT Adding Destination of edge (21 -> 22) to worklist Simulating block 22 Visiting statement: iftmp.5_124 = 1; which is likely CONSTANT Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. marking stmt to be not simulated again Adding Destination of edge (22 -> 24) to worklist Simulating statement (from ssa_edges): iftmp.5_6 = PHI Visiting PHI node: iftmp.5_6 = PHI Argument #0 (22 -> 24 executable) iftmp.5_124 Value: CONSTANT 1 Argument #1 (23 -> 24 not executable) PHI node value: CONSTANT 1 Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. Simulating statement (from ssa_edges): if (iftmp.5_6 != 0) Simulating block 25 Visiting statement: iftmp.4_127 = 1; which is likely CONSTANT Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. marking stmt to be not simulated again Adding Destination of edge (25 -> 27) to worklist Simulating statement (from ssa_edges): isfalse_0_16_5 = PHI Visiting PHI node: isfalse_0_16_5 = PHI Argument #0 (25 -> 27 executable) iftmp.4_127 Value: CONSTANT 1 Argument #1 (26 -> 27 not executable) PHI node value: CONSTANT 1 Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. Simulating statement (from ssa_edges): isfalse_0_16_128 = isfalse_0_16_5; Simulating block 23 Visiting statement: iftmp.5_125 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Simulating statement (from ssa_edges): iftmp.5_6 = PHI Visiting PHI node: iftmp.5_6 = PHI Argument #0 (22 -> 24 executable) iftmp.5_124 Value: CONSTANT 1 Argument #1 (23 -> 24 executable) iftmp.5_125 Value: CONSTANT 0 PHI node value: VARYING Lattice value changed to VARYING. Adding SSA edges to worklist. Simulating block 24 Visiting statement: if (iftmp.5_6 != 0) which is likely CONSTANT Adding Destination of edge (24 -> 25) to worklist Adding Destination of edge (24 -> 26) to worklist Simulating block 26 Visiting statement: iftmp.4_126 = 0; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. marking stmt to be not simulated again Simulating statement (from ssa_edges): isfalse_0_16_5 = PHI Visiting PHI node: isfalse_0_16_5 = PHI Argument #0 (25 -> 27 executable) iftmp.4_127 Value: CONSTANT 1 Argument #1 (26 -> 27 executable) iftmp.4_126 Value: CONSTANT 0 PHI node value: VARYING Lattice value changed to VARYING. Adding SSA edges to worklist. Simulating block 27 Visiting statement: isfalse_0_16_128 = isfalse_0_16_5; which is likely CONSTANT Lattice value changed to CONSTANT isfalse_0_16_5. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _129 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_130 = _129->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _131 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _132 = base_130 + _131; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _134 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _135 = base_130 + _134; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _138 = L_10(D)->ci; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: base_139 = _138->u.l.base; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _140 = 32; which is likely CONSTANT Lattice value changed to CONSTANT 32. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _141 = base_139 + _140; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _143 = cl_13->p; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _144 = _143->sizep; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: comparison_0_22_145 = _144 > 0; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: if (comparison_0_22_145 != 0) which is likely CONSTANT Adding Destination of edge (27 -> 29) to worklist Adding Destination of edge (27 -> 30) to worklist Simulating statement (from ssa_edges): _148 = base_139 + _147; Simulating block 29 Simulating block 25 Simulating block 30 Visiting statement: _147 = 16; which is likely CONSTANT Lattice value changed to CONSTANT 16. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: _148 = base_139 + _147; which is likely CONSTANT Lattice value changed to VARYING. Adding SSA edges to worklist. Visiting statement: _150 = 1; which is likely CONSTANT Lattice value changed to CONSTANT 1. Adding SSA edges to worklist. marking stmt to be not simulated again Visiting statement: return _150; No interesting values produced. Marked VARYING. Substituting values and folding statements Folding statement: entry: Not folded Folding statement: _11 = L_10(D)->ci; Not folded Folding statement: _12 = _11->func; Not folded Folding statement: cl_13 = _12->value_.gc; Not folded Folding statement: _14 = L_10(D)->ci; Not folded Folding statement: base_15 = _14->u.l.base; Not folded Folding statement: _16 = L_10(D)->ci; Not folded Folding statement: raviV_op_loadnil (_16, 0, 0); Not folded Folding statement: _18 = L_10(D)->ci; Not folded Folding statement: base_19 = _18->u.l.base; Not folded Folding statement: _21 = base_19 + _20; Folded into: _21 = base_19 + 16; Folding statement: _22 = cl_13->p; Not folded Folding statement: _23 = _22->k; Not folded Folding statement: _26 = _25->value_.i; Folded into: _26 = _23->value_.i; Folding statement: _21->value_.i = _26; Not folded Folding statement: _29 = base_19 + _28; Folded into: _29 = base_19 + 16; Folding statement: _30 = cl_13->p; Not folded Folding statement: _31 = _30->k; Not folded Folding statement: _34 = _33->tt_; Folded into: _34 = _31->tt_; Folding statement: _29->tt_ = _34; Not folded Folding statement: _36 = L_10(D)->ci; Not folded Folding statement: base_37 = _36->u.l.base; Not folded Folding statement: _39 = base_37 + _38; Folded into: _39 = base_37 + 16; Folding statement: _40 = _39->tt_; Not folded Folding statement: comparison_0_5_41 = _40 == 0; Not folded Folding statement: _43 = base_37 + _42; Folded into: _43 = base_37 + 16; Folding statement: _44 = _43->tt_; Not folded Folding statement: comparison_0_6_45 = _44 == 1; Not folded Folding statement: _47 = base_37 + _46; Folded into: _47 = base_37 + 16; Folding statement: _48 = _47->value_.b; Not folded Folding statement: comparison_0_7_49 = _48 == 0; Not folded Folding statement: if (comparison_0_5_41 != 0) which is likely CONSTANT Not folded Folding statement: if (comparison_0_6_45 != 0) which is likely CONSTANT Not folded Folding statement: if (comparison_0_7_49 != 0) which is likely CONSTANT Not folded Folding PHI node: iftmp.1_2 = PHI Folded into: iftmp.1_2 = PHI <1(5), 0(6)> Folding statement: if (iftmp.1_2 != 0) which is likely CONSTANT Not folded Folding PHI node: isfalse_0_4_1 = PHI Folded into: isfalse_0_4_1 = PHI <1(8), 0(9)> Folding statement: _55 = L_10(D)->ci; Not folded Folding statement: base_56 = _55->u.l.base; Not folded Folding statement: _58 = base_56 + _57; Folded into: _58 = base_56 + 16; Folding statement: _58->value_.b = 0; Not folded Folding statement: _61 = base_56 + _60; Folded into: _61 = base_56 + 16; Folding statement: _61->tt_ = 1; Not folded Folding statement: _63 = L_10(D)->ci; Not folded Folding statement: base_64 = _63->u.l.base; Not folded Folding statement: _66 = base_64 + _65; Folded into: _66 = base_64 + 16; Folding statement: _67 = _66->tt_; Not folded Folding statement: comparison_0_11_68 = _67 == 0; Not folded Folding statement: _70 = base_64 + _69; Folded into: _70 = base_64 + 16; Folding statement: _71 = _70->tt_; Not folded Folding statement: comparison_0_12_72 = _71 == 1; Not folded Folding statement: _74 = base_64 + _73; Folded into: _74 = base_64 + 16; Folding statement: _75 = _74->value_.b; Not folded Folding statement: comparison_0_13_76 = _75 == 0; Not folded Folding statement: if (comparison_0_11_68 != 0) which is likely CONSTANT Not folded Folding statement: if (comparison_0_12_72 != 0) which is likely CONSTANT Not folded Folding statement: if (comparison_0_13_76 != 0) which is likely CONSTANT Not folded Folding PHI node: iftmp.3_4 = PHI Folded into: iftmp.3_4 = PHI <1(13), 0(14)> Folding statement: if (iftmp.3_4 != 0) which is likely CONSTANT Not folded Folding PHI node: isfalse_0_10_3 = PHI Folded into: isfalse_0_10_3 = PHI <1(16), 0(17)> Folding statement: _82 = ~isfalse_0_10_81; Folded into: _82 = ~isfalse_0_10_3; Folding statement: _83 = (signed int) _82; Not folded Folding statement: if (_83 == 0) which is likely CONSTANT Not folded Folding statement: OP_TEST_do_skip_5_15: Not folded Folding statement: _84 = L_10(D)->ci; Not folded Folding statement: base_85 = _84->u.l.base; Not folded Folding statement: _87->value_.b = 1; Folded into: base_85->value_.b = 1; Folding statement: _90->tt_ = 1; Folded into: base_85->tt_ = 1; Folding statement: OP_TEST_do_jmp_5_14: Not folded Folding statement: jmp_9_2: Not folded Folding statement: _92 = L_10(D)->ci; Not folded Folding statement: base_93 = _92->u.l.base; Not folded Folding statement: _95 = base_93 + _94; Folded into: _95 = base_93 + 16; Folding statement: _96 = cl_13->p; Not folded Folding statement: _97 = _96->k; Not folded Folding statement: _100 = _99->value_.i; Folded into: _100 = _97->value_.i; Folding statement: _95->value_.i = _100; Not folded Folding statement: _103 = base_93 + _102; Folded into: _103 = base_93 + 16; Folding statement: _104 = cl_13->p; Not folded Folding statement: _105 = _104->k; Not folded Folding statement: _108 = _107->tt_; Folded into: _108 = _105->tt_; Folding statement: _103->tt_ = _108; Not folded Folding statement: _110 = L_10(D)->ci; Not folded Folding statement: base_111 = _110->u.l.base; Not folded Folding statement: _113 = base_111 + _112; Folded into: _113 = base_111 + 16; Folding statement: _114 = _113->tt_; Not folded Folding statement: comparison_0_17_115 = _114 == 0; Not folded Folding statement: _117 = base_111 + _116; Folded into: _117 = base_111 + 16; Folding statement: _118 = _117->tt_; Not folded Folding statement: comparison_0_18_119 = _118 == 1; Not folded Folding statement: _121 = base_111 + _120; Folded into: _121 = base_111 + 16; Folding statement: _122 = _121->value_.b; Not folded Folding statement: comparison_0_19_123 = _122 == 0; Not folded Folding statement: if (comparison_0_17_115 != 0) which is likely CONSTANT Not folded Folding statement: if (comparison_0_18_119 != 0) which is likely CONSTANT Not folded Folding statement: if (comparison_0_19_123 != 0) which is likely CONSTANT Not folded Folding PHI node: iftmp.5_6 = PHI Folded into: iftmp.5_6 = PHI <1(22), 0(23)> Folding statement: if (iftmp.5_6 != 0) which is likely CONSTANT Not folded Folding PHI node: isfalse_0_16_5 = PHI Folded into: isfalse_0_16_5 = PHI <1(25), 0(26)> Folding statement: _129 = L_10(D)->ci; Not folded Folding statement: base_130 = _129->u.l.base; Not folded Folding statement: _132 = base_130 + _131; Folded into: _132 = base_130 + 16; Folding statement: _132->value_.b = 0; Not folded Folding statement: _135 = base_130 + _134; Folded into: _135 = base_130 + 16; Folding statement: _135->tt_ = 1; Not folded Folding statement: printf ("OP_RETURN(pc=%d) return %d args", 13, 1); Not folded Folding statement: _138 = L_10(D)->ci; Not folded Folding statement: base_139 = _138->u.l.base; Not folded Folding statement: _141 = base_139 + _140; Folded into: _141 = base_139 + 32; Folding statement: L_10(D)->top = _141; Not folded Folding statement: _143 = cl_13->p; Not folded Folding statement: _144 = _143->sizep; Not folded Folding statement: comparison_0_22_145 = _144 > 0; Not folded Folding statement: if (comparison_0_22_145 != 0) which is likely CONSTANT Not folded Folding statement: OP_RETURN_if_sizep_gt_0_12_23: Not folded Folding statement: luaF_close (L_10(D), base_139); Not folded Folding statement: OP_RETURN_else_sizep_gt_0_12_24: Not folded Folding statement: _148 = base_139 + _147; Folded into: _148 = base_139 + 16; Folding statement: luaD_poscall (L_10(D), _148); Not folded Folding statement: return _150; Folded into: return 1; Removing dead stmt _150 = 1; Removing dead stmt _147 = 16; Removing dead stmt _140 = 32; Removing dead stmt _134 = 16; Removing dead stmt _131 = 16; Removing dead stmt isfalse_0_16_128 = isfalse_0_16_5; Removing dead stmt iftmp.4_127 = 1; Removing dead stmt iftmp.4_126 = 0; Removing dead stmt iftmp.5_125 = 0; Removing dead stmt iftmp.5_124 = 1; Removing dead stmt _120 = 16; Removing dead stmt _116 = 16; Removing dead stmt _112 = 16; Removing dead stmt _107 = _105 + _106; Removing dead stmt _106 = 0; Removing dead stmt _102 = 16; Removing dead stmt _99 = _97 + _98; Removing dead stmt _98 = 0; Removing dead stmt _94 = 16; Removing dead stmt _90 = base_85 + _89; Removing dead stmt _89 = 0; Removing dead stmt _87 = base_85 + _86; Removing dead stmt _86 = 0; Removing dead stmt isfalse_0_10_81 = isfalse_0_10_3; Removing dead stmt iftmp.2_80 = 1; Removing dead stmt iftmp.2_79 = 0; Removing dead stmt iftmp.3_78 = 0; Removing dead stmt iftmp.3_77 = 1; Removing dead stmt _73 = 16; Removing dead stmt _69 = 16; Removing dead stmt _65 = 16; Removing dead stmt _60 = 16; Removing dead stmt _57 = 16; Removing dead stmt isfalse_0_4_54 = isfalse_0_4_1; Removing dead stmt iftmp.0_53 = 1; Removing dead stmt iftmp.0_52 = 0; Removing dead stmt iftmp.1_51 = 0; Removing dead stmt iftmp.1_50 = 1; Removing dead stmt _46 = 16; Removing dead stmt _42 = 16; Removing dead stmt _38 = 16; Removing dead stmt _33 = _31 + _32; Removing dead stmt _32 = 0; Removing dead stmt _28 = 16; Removing dead stmt _25 = _23 + _24; Removing dead stmt _24 = 0; Removing dead stmt _20 = 16; Removing basic block 5 basic block 5, loop depth 0 pred: goto ; succ: 7 Removing basic block 8 basic block 8, loop depth 0 pred: goto ; succ: 10 Removing basic block 13 basic block 13, loop depth 0 pred: goto ; succ: 15 Removing basic block 16 basic block 16, loop depth 0 pred: goto ; succ: 18 Removing basic block 22 basic block 22, loop depth 0 pred: goto ; succ: 24 Removing basic block 25 basic block 25, loop depth 0 pred: goto ; succ: 27 fix_loop_structure: fixing up loops for function ravif2 (struct ravi_lua_State * L) { struct ravi_TValue * base; struct ravi_LClosure * cl; isfalse_0_4; comparison_0_5; comparison_0_6; comparison_0_7; isfalse_0_10; comparison_0_11; comparison_0_12; comparison_0_13; isfalse_0_16; comparison_0_17; comparison_0_18; comparison_0_19; comparison_0_22; iftmp.1_2; iftmp.3_4; iftmp.5_6; struct ravi_CallInfo * _11; struct ravi_TValue * _12; struct ravi_CallInfo * _14; struct ravi_CallInfo * _16; struct ravi_CallInfo * _18; struct ravi_TValue * _21; struct ravi_Proto * _22; struct ravi_TValue * _23; signed long _26; struct ravi_TValue * _29; struct ravi_Proto * _30; struct ravi_TValue * _31; signed int _34; struct ravi_CallInfo * _36; struct ravi_TValue * _39; signed int _40; struct ravi_TValue * _43; signed int _44; struct ravi_TValue * _47; signed int _48; struct ravi_CallInfo * _55; struct ravi_TValue * _58; struct ravi_TValue * _61; struct ravi_CallInfo * _63; struct ravi_TValue * _66; signed int _67; struct ravi_TValue * _70; signed int _71; struct ravi_TValue * _74; signed int _75; _82; signed int _83; struct ravi_CallInfo * _84; struct ravi_CallInfo * _92; struct ravi_TValue * _95; struct ravi_Proto * _96; struct ravi_TValue * _97; signed long _100; struct ravi_TValue * _103; struct ravi_Proto * _104; struct ravi_TValue * _105; signed int _108; struct ravi_CallInfo * _110; struct ravi_TValue * _113; signed int _114; struct ravi_TValue * _117; signed int _118; struct ravi_TValue * _121; signed int _122; struct ravi_CallInfo * _129; struct ravi_TValue * _132; struct ravi_TValue * _135; struct ravi_CallInfo * _138; struct ravi_TValue * _141; struct ravi_Proto * _143; signed int _144; struct ravi_TValue * _148; entry: _11 = L_10(D)->ci; _12 = _11->func; cl_13 = _12->value_.gc; _14 = L_10(D)->ci; base_15 = _14->u.l.base; _16 = L_10(D)->ci; raviV_op_loadnil (_16, 0, 0); _18 = L_10(D)->ci; base_19 = _18->u.l.base; _21 = base_19 + 16; _22 = cl_13->p; _23 = _22->k; _26 = _23->value_.i; _21->value_.i = _26; _29 = base_19 + 16; _30 = cl_13->p; _31 = _30->k; _34 = _31->tt_; _29->tt_ = _34; _36 = L_10(D)->ci; base_37 = _36->u.l.base; _39 = base_37 + 16; _40 = _39->tt_; comparison_0_5_41 = _40 == 0; _43 = base_37 + 16; _44 = _43->tt_; comparison_0_6_45 = _44 == 1; _47 = base_37 + 16; _48 = _47->value_.b; comparison_0_7_49 = _48 == 0; if (comparison_0_5_41 != 0) goto ; else goto ; : if (comparison_0_6_45 != 0) goto ; else goto ; : if (comparison_0_7_49 != 0) goto ; else goto ; : : # iftmp.1_2 = PHI <1(4), 0(5)> if (iftmp.1_2 != 0) goto ; else goto ; : : # isfalse_0_4_1 = PHI <1(6), 0(7), 1(2)> _55 = L_10(D)->ci; base_56 = _55->u.l.base; _58 = base_56 + 16; _58->value_.b = 0; _61 = base_56 + 16; _61->tt_ = 1; _63 = L_10(D)->ci; base_64 = _63->u.l.base; _66 = base_64 + 16; _67 = _66->tt_; comparison_0_11_68 = _67 == 0; _70 = base_64 + 16; _71 = _70->tt_; comparison_0_12_72 = _71 == 1; _74 = base_64 + 16; _75 = _74->value_.b; comparison_0_13_76 = _75 == 0; if (comparison_0_11_68 != 0) goto ; else goto ; : if (comparison_0_12_72 != 0) goto ; else goto ; : if (comparison_0_13_76 != 0) goto ; else goto ; : : # iftmp.3_4 = PHI <1(10), 0(11)> if (iftmp.3_4 != 0) goto ; else goto ; : : # isfalse_0_10_3 = PHI <1(12), 0(13), 1(8)> _82 = ~isfalse_0_10_3; _83 = (signed int) _82; if (_83 == 0) goto (OP_TEST_do_jmp_5_14); else goto (OP_TEST_do_skip_5_15); OP_TEST_do_jmp_5_14: jmp_9_2: _92 = L_10(D)->ci; base_93 = _92->u.l.base; _95 = base_93 + 16; _96 = cl_13->p; _97 = _96->k; _100 = _97->value_.i; _95->value_.i = _100; _103 = base_93 + 16; _104 = cl_13->p; _105 = _104->k; _108 = _105->tt_; _103->tt_ = _108; _110 = L_10(D)->ci; base_111 = _110->u.l.base; _113 = base_111 + 16; _114 = _113->tt_; comparison_0_17_115 = _114 == 0; _117 = base_111 + 16; _118 = _117->tt_; comparison_0_18_119 = _118 == 1; _121 = base_111 + 16; _122 = _121->value_.b; comparison_0_19_123 = _122 == 0; if (comparison_0_17_115 != 0) goto ; else goto ; : if (comparison_0_18_119 != 0) goto ; else goto ; : if (comparison_0_19_123 != 0) goto ; else goto ; : : # iftmp.5_6 = PHI <1(17), 0(18)> if (iftmp.5_6 != 0) goto ; else goto ; : : # isfalse_0_16_5 = PHI <1(19), 0(20), 1(15)> _129 = L_10(D)->ci; base_130 = _129->u.l.base; _132 = base_130 + 16; _132->value_.b = 0; _135 = base_130 + 16; _135->tt_ = 1; printf ("OP_RETURN(pc=%d) return %d args", 13, 1); _138 = L_10(D)->ci; base_139 = _138->u.l.base; _141 = base_139 + 32; L_10(D)->top = _141; _143 = cl_13->p; _144 = _143->sizep; comparison_0_22_145 = _144 > 0; if (comparison_0_22_145 != 0) goto (OP_RETURN_if_sizep_gt_0_12_23); else goto (OP_RETURN_else_sizep_gt_0_12_24); OP_TEST_do_skip_5_15: _84 = L_10(D)->ci; base_85 = _84->u.l.base; base_85->value_.b = 1; base_85->tt_ = 1; goto (OP_TEST_do_jmp_5_14); OP_RETURN_if_sizep_gt_0_12_23: luaF_close (L_10(D), base_139); OP_RETURN_else_sizep_gt_0_12_24: _148 = base_139 + 16; luaD_poscall (L_10(D), _148); return 1; } ; end of dump from pass_ccp (../../src/gcc/tree-ssa-ccp.c:2425)