Commit ec66eccf authored by Rodolphe Lepigre's avatar Rodolphe Lepigre
Browse files

Fix cast insertion in the front end.

parent 94a60fab
Pipeline #40851 failed with stage
in 14 minutes and 34 seconds
......@@ -333,7 +333,7 @@ Section code.
"yi" <-{ void* }
LocInfoE loc_75 (UnOp (CastOp $ PtrOp) (PtrOp) (LocInfoE loc_75 (use{void*} (LocInfoE loc_76 ("y"))))) ;
locinfo: loc_65 ;
Return (LocInfoE loc_66 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_66 ((LocInfoE loc_67 (use{it_layout size_t} (LocInfoE loc_69 (!{void*} (LocInfoE loc_70 ("xi")))))) {IntOp size_t, IntOp size_t} (LocInfoE loc_71 (use{it_layout size_t} (LocInfoE loc_73 (!{void*} (LocInfoE loc_74 ("yi"))))))))))
Return (LocInfoE loc_66 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_66 ((LocInfoE loc_67 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_67 (use{it_layout size_t} (LocInfoE loc_69 (!{void*} (LocInfoE loc_70 ("xi")))))))) {IntOp size_t, IntOp size_t} (LocInfoE loc_71 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_71 (use{it_layout size_t} (LocInfoE loc_73 (!{void*} (LocInfoE loc_74 ("yi"))))))))))))
]> $
)%E
|}.
......
......@@ -152,7 +152,7 @@ Section code.
"i2" <-{ it_layout size_t }
LocInfoE loc_29 (UnOp (CastOp $ IntOp size_t) (PtrOp) (LocInfoE loc_30 (use{void*} (LocInfoE loc_31 ("p2"))))) ;
locinfo: loc_24 ;
if: LocInfoE loc_24 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_24 ((LocInfoE loc_25 (use{it_layout size_t} (LocInfoE loc_26 ("i1")))) {IntOp size_t, IntOp size_t} (LocInfoE loc_27 (use{it_layout size_t} (LocInfoE loc_28 ("i2")))))))
if: LocInfoE loc_24 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_24 ((LocInfoE loc_25 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_25 (use{it_layout size_t} (LocInfoE loc_26 ("i1")))))) {IntOp size_t, IntOp size_t} (LocInfoE loc_27 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_27 (use{it_layout size_t} (LocInfoE loc_28 ("i2")))))))))
then
locinfo: loc_20 ;
Goto "#2"
......
......@@ -59,7 +59,7 @@ Section code.
]> $
<[ "#1" :=
locinfo: loc_7 ;
if: LocInfoE loc_7 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_7 ((LocInfoE loc_8 (use{it_layout bool_it, ScOrd} (LocInfoE loc_11 ((LocInfoE loc_12 (!{void*} (LocInfoE loc_13 ("latch")))) at{struct_latch} "released")))) ={IntOp bool_it, IntOp bool_it} (LocInfoE loc_14 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_15 (i2v 0 i32)))))))
if: LocInfoE loc_7 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_7 ((LocInfoE loc_8 (UnOp (CastOp $ IntOp i32) (IntOp bool_it) (LocInfoE loc_8 (use{it_layout bool_it, ScOrd} (LocInfoE loc_11 ((LocInfoE loc_12 (!{void*} (LocInfoE loc_13 ("latch")))) at{struct_latch} "released")))))) ={IntOp i32, IntOp i32} (LocInfoE loc_14 (UnOp (CastOp $ IntOp i32) (IntOp bool_it) (LocInfoE loc_14 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_15 (i2v 0 i32)))))))))
then
locinfo: loc_5 ;
Goto "#2"
......
......@@ -341,7 +341,7 @@ Section code.
annot: (UnlockA) ;
expr: (LocInfoE loc_164 (&(LocInfoE loc_165 ((LocInfoE loc_166 (!{void*} (LocInfoE loc_167 ("t")))) at{struct_lock_test} "locked_struct")))) ;
locinfo: loc_156 ;
if: LocInfoE loc_156 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_156 ((LocInfoE loc_157 (use{it_layout size_t} (LocInfoE loc_158 ((LocInfoE loc_159 ((LocInfoE loc_160 (!{void*} (LocInfoE loc_161 ("t")))) at{struct_lock_test} "locked_struct")) at{struct_lock_test_inner} "b")))) >{IntOp size_t, IntOp size_t} (LocInfoE loc_162 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_163 (i2v 0 i32)))))))
if: LocInfoE loc_156 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_156 ((LocInfoE loc_157 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_157 (use{it_layout size_t} (LocInfoE loc_158 ((LocInfoE loc_159 ((LocInfoE loc_160 (!{void*} (LocInfoE loc_161 ("t")))) at{struct_lock_test} "locked_struct")) at{struct_lock_test_inner} "b")))))) >{IntOp size_t, IntOp size_t} (LocInfoE loc_162 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_162 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_163 (i2v 0 i32)))))))))
then
locinfo: loc_131 ;
Goto "#2"
......
......@@ -211,7 +211,7 @@ Section code.
]> $
<[ "#2" :=
locinfo: loc_91 ;
if: LocInfoE loc_91 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_91 ((LocInfoE loc_92 (use{it_layout size_t} (LocInfoE loc_93 ((LocInfoE loc_94 (!{void*} (LocInfoE loc_95 ("s")))) at{struct_slab} "entry_size")))) >{IntOp size_t, IntOp size_t} (LocInfoE loc_96 (use{it_layout size_t} (LocInfoE loc_97 ((LocInfoE loc_98 (!{void*} (LocInfoE loc_99 ("s")))) at{struct_slab} "chunksize")))))))
if: LocInfoE loc_91 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_91 ((LocInfoE loc_92 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_92 (use{it_layout size_t} (LocInfoE loc_93 ((LocInfoE loc_94 (!{void*} (LocInfoE loc_95 ("s")))) at{struct_slab} "entry_size")))))) >{IntOp size_t, IntOp size_t} (LocInfoE loc_96 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_96 (use{it_layout size_t} (LocInfoE loc_97 ((LocInfoE loc_98 (!{void*} (LocInfoE loc_99 ("s")))) at{struct_slab} "chunksize")))))))))
then
locinfo: loc_53 ;
Goto "#3"
......
......@@ -864,7 +864,7 @@ Section code.
locinfo: loc_2 ;
expr: (LocInfoE loc_62 (&(LocInfoE loc_63 ((LocInfoE loc_64 (!{void*} (LocInfoE loc_65 ("p")))) at{struct_mpool} "entry_size")))) ;
locinfo: loc_57 ;
if: LocInfoE loc_57 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_57 ((LocInfoE loc_58 (use{it_layout size_t} (LocInfoE loc_59 ("size")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_60 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_61 (i2v 0 i32)))))))
if: LocInfoE loc_57 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_57 ((LocInfoE loc_58 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_58 (use{it_layout size_t} (LocInfoE loc_59 ("size")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_60 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_60 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_61 (i2v 0 i32)))))))))
then
locinfo: loc_54 ;
Goto "#2"
......@@ -1199,7 +1199,7 @@ Section code.
]> $
<[ "#2" :=
locinfo: loc_414 ;
if: LocInfoE loc_414 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_414 ((LocInfoE loc_415 (use{it_layout size_t} (LocInfoE loc_416 ((LocInfoE loc_417 (!{void*} (LocInfoE loc_418 ("p")))) at{struct_mpool} "entry_size")))) {IntOp size_t, IntOp size_t} (LocInfoE loc_419 (use{it_layout size_t} (LocInfoE loc_420 ((LocInfoE loc_421 (!{void*} (LocInfoE loc_422 ("chunk")))) at{struct_mpool_chunk} "size")))))))
if: LocInfoE loc_414 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_414 ((LocInfoE loc_415 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_415 (use{it_layout size_t} (LocInfoE loc_416 ((LocInfoE loc_417 (!{void*} (LocInfoE loc_418 ("p")))) at{struct_mpool} "entry_size")))))) {IntOp size_t, IntOp size_t} (LocInfoE loc_419 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_419 (use{it_layout size_t} (LocInfoE loc_420 ((LocInfoE loc_421 (!{void*} (LocInfoE loc_422 ("chunk")))) at{struct_mpool_chunk} "size")))))))))
then
locinfo: loc_365 ;
Goto "#4"
......@@ -1444,7 +1444,7 @@ Section code.
LocInfoE loc_728 (use{it_layout size_t} (LocInfoE loc_729 ("align"))) ;
LocInfoE loc_730 (&(LocInfoE loc_731 ("before_start"))) ] ;
locinfo: loc_708 ;
if: LocInfoE loc_708 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_708 ((LocInfoE loc_709 ((LocInfoE loc_710 (use{it_layout size_t} (LocInfoE loc_711 ("before_start")))) +{IntOp size_t, IntOp size_t} (LocInfoE loc_712 ((LocInfoE loc_713 (use{it_layout size_t} (LocInfoE loc_714 ("count")))) ×{IntOp size_t, IntOp size_t} (LocInfoE loc_715 (use{it_layout size_t} (LocInfoE loc_716 ((LocInfoE loc_717 (!{void*} (LocInfoE loc_718 ("p")))) at{struct_mpool} "entry_size")))))))) {IntOp size_t, IntOp size_t} (LocInfoE loc_719 (use{it_layout size_t} (LocInfoE loc_720 ((LocInfoE loc_721 (!{void*} (LocInfoE loc_722 ("chunk")))) at{struct_mpool_chunk} "size")))))))
if: LocInfoE loc_708 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_708 ((LocInfoE loc_709 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_709 ((LocInfoE loc_710 (use{it_layout size_t} (LocInfoE loc_711 ("before_start")))) +{IntOp size_t, IntOp size_t} (LocInfoE loc_712 ((LocInfoE loc_713 (use{it_layout size_t} (LocInfoE loc_714 ("count")))) ×{IntOp size_t, IntOp size_t} (LocInfoE loc_715 (use{it_layout size_t} (LocInfoE loc_716 ((LocInfoE loc_717 (!{void*} (LocInfoE loc_718 ("p")))) at{struct_mpool} "entry_size")))))))))) {IntOp size_t, IntOp size_t} (LocInfoE loc_719 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_719 (use{it_layout size_t} (LocInfoE loc_720 ((LocInfoE loc_721 (!{void*} (LocInfoE loc_722 ("chunk")))) at{struct_mpool_chunk} "size")))))))))
then
Goto "#5"
else
......@@ -1477,7 +1477,7 @@ Section code.
LocInfoE loc_684 ("start") <-{ void* }
LocInfoE loc_685 ((LocInfoE loc_686 (UnOp (CastOp $ PtrOp) (PtrOp) (LocInfoE loc_687 (use{void*} (LocInfoE loc_688 ("chunk")))))) at_offset{it_layout u8, PtrOp, IntOp size_t} (LocInfoE loc_689 (use{it_layout size_t} (LocInfoE loc_690 ("before_start"))))) ;
locinfo: loc_671 ;
if: LocInfoE loc_671 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_671 ((LocInfoE loc_672 ((LocInfoE loc_673 (use{it_layout size_t} (LocInfoE loc_674 ("before_start")))) +{IntOp size_t, IntOp size_t} (LocInfoE loc_675 ((LocInfoE loc_676 (use{it_layout size_t} (LocInfoE loc_677 ("count")))) ×{IntOp size_t, IntOp size_t} (LocInfoE loc_678 (use{it_layout size_t} (LocInfoE loc_679 ((LocInfoE loc_680 (!{void*} (LocInfoE loc_681 ("p")))) at{struct_mpool} "entry_size")))))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_682 (use{it_layout size_t} (LocInfoE loc_683 ("chunk_size")))))))
if: LocInfoE loc_671 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_671 ((LocInfoE loc_672 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_672 ((LocInfoE loc_673 (use{it_layout size_t} (LocInfoE loc_674 ("before_start")))) +{IntOp size_t, IntOp size_t} (LocInfoE loc_675 ((LocInfoE loc_676 (use{it_layout size_t} (LocInfoE loc_677 ("count")))) ×{IntOp size_t, IntOp size_t} (LocInfoE loc_678 (use{it_layout size_t} (LocInfoE loc_679 ((LocInfoE loc_680 (!{void*} (LocInfoE loc_681 ("p")))) at{struct_mpool} "entry_size")))))))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_682 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_682 (use{it_layout size_t} (LocInfoE loc_683 ("chunk_size")))))))))
then
locinfo: loc_622 ;
Goto "#10"
......@@ -1487,7 +1487,7 @@ Section code.
]> $
<[ "#6" :=
locinfo: loc_614 ;
if: LocInfoE loc_614 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_614 ((LocInfoE loc_615 (use{it_layout size_t} (LocInfoE loc_616 ("before_start")))) {IntOp size_t, IntOp size_t} (LocInfoE loc_617 (use{it_layout size_t} (LocInfoE loc_618 ((LocInfoE loc_619 (!{void*} (LocInfoE loc_620 ("p")))) at{struct_mpool} "entry_size")))))))
if: LocInfoE loc_614 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_614 ((LocInfoE loc_615 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_615 (use{it_layout size_t} (LocInfoE loc_616 ("before_start")))))) {IntOp size_t, IntOp size_t} (LocInfoE loc_617 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_617 (use{it_layout size_t} (LocInfoE loc_618 ((LocInfoE loc_619 (!{void*} (LocInfoE loc_620 ("p")))) at{struct_mpool} "entry_size")))))))))
then
locinfo: loc_593 ;
Goto "#8"
......
......@@ -609,7 +609,7 @@ Section code.
"$0" <- LocInfoE loc_142 (global_compute_min_count) with
[ LocInfoE loc_143 (use{it_layout size_t} (LocInfoE loc_144 ((LocInfoE loc_145 (!{void*} (LocInfoE loc_146 ("m")))) at{struct_fixed_size_map} "length"))) ] ;
locinfo: loc_139 ;
if: LocInfoE loc_139 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_139 ((LocInfoE loc_140 ("$0")) {IntOp size_t, IntOp size_t} (LocInfoE loc_147 (use{it_layout size_t} (LocInfoE loc_148 ((LocInfoE loc_149 (!{void*} (LocInfoE loc_150 ("m")))) at{struct_fixed_size_map} "count")))))))
if: LocInfoE loc_139 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_139 ((LocInfoE loc_140 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_140 ("$0")))) {IntOp size_t, IntOp size_t} (LocInfoE loc_147 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_147 (use{it_layout size_t} (LocInfoE loc_148 ((LocInfoE loc_149 (!{void*} (LocInfoE loc_150 ("m")))) at{struct_fixed_size_map} "count")))))))))
then
locinfo: loc_136 ;
Goto "#14"
......@@ -619,7 +619,7 @@ Section code.
]> $
<[ "#1" :=
locinfo: loc_123 ;
if: LocInfoE loc_123 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_123 ((LocInfoE loc_124 (use{it_layout size_t} (LocInfoE loc_125 ((LocInfoE loc_126 (!{void*} (LocInfoE loc_127 ("m")))) at{struct_fixed_size_map} "length")))) <{IntOp size_t, IntOp size_t} (LocInfoE loc_128 ((LocInfoE loc_129 ((LocInfoE loc_130 ((LocInfoE loc_131 (i2v (max_int size_t) size_t)) /{IntOp size_t, IntOp size_t} (LocInfoE loc_132 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_132 (i2v 2 i32)))))) /{IntOp size_t, IntOp size_t} (LocInfoE loc_133 (i2v (layout_of struct_item).(ly_size) size_t)))) -{IntOp size_t, IntOp size_t} (LocInfoE loc_134 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_134 (i2v 16 i32)))))))))
if: LocInfoE loc_123 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_123 ((LocInfoE loc_124 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_124 (use{it_layout size_t} (LocInfoE loc_125 ((LocInfoE loc_126 (!{void*} (LocInfoE loc_127 ("m")))) at{struct_fixed_size_map} "length")))))) <{IntOp size_t, IntOp size_t} (LocInfoE loc_128 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_128 ((LocInfoE loc_129 ((LocInfoE loc_130 ((LocInfoE loc_131 (i2v (max_int size_t) size_t)) /{IntOp size_t, IntOp size_t} (LocInfoE loc_132 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_132 (i2v 2 i32)))))) /{IntOp size_t, IntOp size_t} (LocInfoE loc_133 (i2v (layout_of struct_item).(ly_size) size_t)))) -{IntOp size_t, IntOp size_t} (LocInfoE loc_134 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_134 (i2v 16 i32)))))))))))
then
Goto "#9"
else
......@@ -668,7 +668,7 @@ Section code.
]> $
<[ "#3" :=
locinfo: loc_91 ;
if: LocInfoE loc_91 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_91 ((LocInfoE loc_92 (use{it_layout size_t} (LocInfoE loc_93 ("i")))) <{IntOp size_t, IntOp size_t} (LocInfoE loc_94 (use{it_layout size_t} (LocInfoE loc_95 ((LocInfoE loc_96 (!{void*} (LocInfoE loc_97 ("m")))) at{struct_fixed_size_map} "length")))))))
if: LocInfoE loc_91 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_91 ((LocInfoE loc_92 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_92 (use{it_layout size_t} (LocInfoE loc_93 ("i")))))) <{IntOp size_t, IntOp size_t} (LocInfoE loc_94 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_94 (use{it_layout size_t} (LocInfoE loc_95 ((LocInfoE loc_96 (!{void*} (LocInfoE loc_97 ("m")))) at{struct_fixed_size_map} "length")))))))))
then
locinfo: loc_76 ;
Goto "#4"
......@@ -678,7 +678,7 @@ Section code.
]> $
<[ "#4" :=
locinfo: loc_76 ;
if: LocInfoE loc_76 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_76 ((LocInfoE loc_77 (use{it_layout size_t} (LocInfoE loc_78 ((LocInfoE loc_80 ((LocInfoE loc_83 (!{void*} (LocInfoE loc_84 ((LocInfoE loc_85 (!{void*} (LocInfoE loc_86 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_87 (use{it_layout size_t} (LocInfoE loc_88 ("i")))))) at{struct_item} "tag")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_89 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_90 (i2v 1 i32)))))))
if: LocInfoE loc_76 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_76 ((LocInfoE loc_77 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_77 (use{it_layout size_t} (LocInfoE loc_78 ((LocInfoE loc_80 ((LocInfoE loc_83 (!{void*} (LocInfoE loc_84 ((LocInfoE loc_85 (!{void*} (LocInfoE loc_86 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_87 (use{it_layout size_t} (LocInfoE loc_88 ("i")))))) at{struct_item} "tag")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_89 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_89 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_90 (i2v 1 i32)))))))))
then
locinfo: loc_42 ;
Goto "#7"
......@@ -767,7 +767,7 @@ Section code.
]> $
<[ "#1" :=
locinfo: loc_197 ;
if: LocInfoE loc_197 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_197 ((LocInfoE loc_198 (use{it_layout size_t} (LocInfoE loc_199 ("i")))) <{IntOp size_t, IntOp size_t} (LocInfoE loc_200 (use{it_layout size_t} (LocInfoE loc_201 ("len")))))))
if: LocInfoE loc_197 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_197 ((LocInfoE loc_198 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_198 (use{it_layout size_t} (LocInfoE loc_199 ("i")))))) <{IntOp size_t, IntOp size_t} (LocInfoE loc_200 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_200 (use{it_layout size_t} (LocInfoE loc_201 ("len")))))))))
then
locinfo: loc_161 ;
Goto "#2"
......@@ -849,7 +849,7 @@ Section code.
]> $
<[ "#11" :=
locinfo: loc_324 ;
if: LocInfoE loc_324 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_324 ((LocInfoE loc_325 (use{it_layout size_t} (LocInfoE loc_326 ((LocInfoE loc_328 ((LocInfoE loc_331 (!{void*} (LocInfoE loc_332 ((LocInfoE loc_333 (!{void*} (LocInfoE loc_334 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_335 (use{it_layout size_t} (LocInfoE loc_336 ("slot_idx")))))) at{struct_item} "tag")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_337 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_338 (i2v 2 i32)))))))
if: LocInfoE loc_324 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_324 ((LocInfoE loc_325 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_325 (use{it_layout size_t} (LocInfoE loc_326 ((LocInfoE loc_328 ((LocInfoE loc_331 (!{void*} (LocInfoE loc_332 ((LocInfoE loc_333 (!{void*} (LocInfoE loc_334 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_335 (use{it_layout size_t} (LocInfoE loc_336 ("slot_idx")))))) at{struct_item} "tag")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_337 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_337 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_338 (i2v 2 i32)))))))))
then
Goto "#12"
else
......@@ -858,7 +858,7 @@ Section code.
]> $
<[ "#12" :=
locinfo: loc_339 ;
if: LocInfoE loc_339 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_339 ((LocInfoE loc_340 (use{it_layout size_t} (LocInfoE loc_341 ((LocInfoE loc_342 ((LocInfoE loc_343 ((LocInfoE loc_345 ((LocInfoE loc_348 (!{void*} (LocInfoE loc_349 ((LocInfoE loc_350 (!{void*} (LocInfoE loc_351 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_352 (use{it_layout size_t} (LocInfoE loc_353 ("slot_idx")))))) at{struct_item} "u")) at_union{union_item_union} "tombstone")) at{struct_tombstone} "key")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_354 (use{it_layout size_t} (LocInfoE loc_355 ("key")))))))
if: LocInfoE loc_339 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_339 ((LocInfoE loc_340 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_340 (use{it_layout size_t} (LocInfoE loc_341 ((LocInfoE loc_342 ((LocInfoE loc_343 ((LocInfoE loc_345 ((LocInfoE loc_348 (!{void*} (LocInfoE loc_349 ((LocInfoE loc_350 (!{void*} (LocInfoE loc_351 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_352 (use{it_layout size_t} (LocInfoE loc_353 ("slot_idx")))))) at{struct_item} "u")) at_union{union_item_union} "tombstone")) at{struct_tombstone} "key")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_354 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_354 (use{it_layout size_t} (LocInfoE loc_355 ("key")))))))))
then
locinfo: loc_303 ;
Goto "#9"
......@@ -868,7 +868,7 @@ Section code.
]> $
<[ "#2" :=
locinfo: loc_308 ;
if: LocInfoE loc_308 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_308 ((LocInfoE loc_309 (use{it_layout size_t} (LocInfoE loc_310 ((LocInfoE loc_312 ((LocInfoE loc_315 (!{void*} (LocInfoE loc_316 ((LocInfoE loc_317 (!{void*} (LocInfoE loc_318 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_319 (use{it_layout size_t} (LocInfoE loc_320 ("slot_idx")))))) at{struct_item} "tag")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_321 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_322 (i2v 0 i32)))))))
if: LocInfoE loc_308 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_308 ((LocInfoE loc_309 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_309 (use{it_layout size_t} (LocInfoE loc_310 ((LocInfoE loc_312 ((LocInfoE loc_315 (!{void*} (LocInfoE loc_316 ((LocInfoE loc_317 (!{void*} (LocInfoE loc_318 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_319 (use{it_layout size_t} (LocInfoE loc_320 ("slot_idx")))))) at{struct_item} "tag")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_321 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_321 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_322 (i2v 0 i32)))))))))
then
locinfo: loc_303 ;
Goto "#9"
......@@ -880,7 +880,7 @@ Section code.
]> $
<[ "#4" :=
locinfo: loc_270 ;
if: LocInfoE loc_270 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_270 ((LocInfoE loc_271 (use{it_layout size_t} (LocInfoE loc_272 ((LocInfoE loc_274 ((LocInfoE loc_277 (!{void*} (LocInfoE loc_278 ((LocInfoE loc_279 (!{void*} (LocInfoE loc_280 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_281 (use{it_layout size_t} (LocInfoE loc_282 ("slot_idx")))))) at{struct_item} "tag")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_283 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_284 (i2v 1 i32)))))))
if: LocInfoE loc_270 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_270 ((LocInfoE loc_271 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_271 (use{it_layout size_t} (LocInfoE loc_272 ((LocInfoE loc_274 ((LocInfoE loc_277 (!{void*} (LocInfoE loc_278 ((LocInfoE loc_279 (!{void*} (LocInfoE loc_280 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_281 (use{it_layout size_t} (LocInfoE loc_282 ("slot_idx")))))) at{struct_item} "tag")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_283 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_283 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_284 (i2v 1 i32)))))))))
then
Goto "#8"
else
......@@ -906,7 +906,7 @@ Section code.
]> $
<[ "#8" :=
locinfo: loc_285 ;
if: LocInfoE loc_285 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_285 ((LocInfoE loc_286 (use{it_layout size_t} (LocInfoE loc_287 ((LocInfoE loc_288 ((LocInfoE loc_289 ((LocInfoE loc_291 ((LocInfoE loc_294 (!{void*} (LocInfoE loc_295 ((LocInfoE loc_296 (!{void*} (LocInfoE loc_297 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_298 (use{it_layout size_t} (LocInfoE loc_299 ("slot_idx")))))) at{struct_item} "u")) at_union{union_item_union} "entry")) at{struct_entry} "key")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_300 (use{it_layout size_t} (LocInfoE loc_301 ("key")))))))
if: LocInfoE loc_285 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_285 ((LocInfoE loc_286 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_286 (use{it_layout size_t} (LocInfoE loc_287 ((LocInfoE loc_288 ((LocInfoE loc_289 ((LocInfoE loc_291 ((LocInfoE loc_294 (!{void*} (LocInfoE loc_295 ((LocInfoE loc_296 (!{void*} (LocInfoE loc_297 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_298 (use{it_layout size_t} (LocInfoE loc_299 ("slot_idx")))))) at{struct_item} "u")) at_union{union_item_union} "entry")) at{struct_entry} "key")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_300 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_300 (use{it_layout size_t} (LocInfoE loc_301 ("key")))))))))
then
locinfo: loc_265 ;
Goto "#6"
......@@ -952,7 +952,7 @@ Section code.
"item" <-{ void* }
LocInfoE loc_436 (&(LocInfoE loc_438 ((LocInfoE loc_441 (!{void*} (LocInfoE loc_442 ((LocInfoE loc_443 (!{void*} (LocInfoE loc_444 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_445 (use{it_layout size_t} (LocInfoE loc_446 ("slot_idx"))))))) ;
locinfo: loc_429 ;
if: LocInfoE loc_429 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_429 ((LocInfoE loc_430 (use{it_layout size_t} (LocInfoE loc_431 ((LocInfoE loc_432 (!{void*} (LocInfoE loc_433 ("item")))) at{struct_item} "tag")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_434 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_435 (i2v 1 i32)))))))
if: LocInfoE loc_429 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_429 ((LocInfoE loc_430 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_430 (use{it_layout size_t} (LocInfoE loc_431 ((LocInfoE loc_432 (!{void*} (LocInfoE loc_433 ("item")))) at{struct_item} "tag")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_434 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_434 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_435 (i2v 1 i32)))))))))
then
locinfo: loc_401 ;
Goto "#2"
......@@ -982,7 +982,7 @@ Section code.
]> $
<[ "#3" :=
locinfo: loc_422 ;
if: LocInfoE loc_422 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_422 ((LocInfoE loc_423 (use{it_layout size_t} (LocInfoE loc_424 ((LocInfoE loc_425 (!{void*} (LocInfoE loc_426 ("item")))) at{struct_item} "tag")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_427 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_428 (i2v 0 i32)))))))
if: LocInfoE loc_422 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_422 ((LocInfoE loc_423 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_423 (use{it_layout size_t} (LocInfoE loc_424 ((LocInfoE loc_425 (!{void*} (LocInfoE loc_426 ("item")))) at{struct_item} "tag")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_427 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_427 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_428 (i2v 0 i32)))))))))
then
locinfo: loc_411 ;
Goto "#4"
......@@ -1025,7 +1025,7 @@ Section code.
"item" <-{ void* }
LocInfoE loc_490 (&(LocInfoE loc_492 ((LocInfoE loc_495 (!{void*} (LocInfoE loc_496 ((LocInfoE loc_497 (!{void*} (LocInfoE loc_498 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_499 (use{it_layout size_t} (LocInfoE loc_500 ("slot_idx"))))))) ;
locinfo: loc_483 ;
if: LocInfoE loc_483 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_483 ((LocInfoE loc_484 (use{it_layout size_t} (LocInfoE loc_485 ((LocInfoE loc_486 (!{void*} (LocInfoE loc_487 ("item")))) at{struct_item} "tag")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_488 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_489 (i2v 1 i32)))))))
if: LocInfoE loc_483 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_483 ((LocInfoE loc_484 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_484 (use{it_layout size_t} (LocInfoE loc_485 ((LocInfoE loc_486 (!{void*} (LocInfoE loc_487 ("item")))) at{struct_item} "tag")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_488 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_488 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_489 (i2v 1 i32)))))))))
then
locinfo: loc_471 ;
Goto "#1"
......@@ -1066,7 +1066,7 @@ Section code.
"item" <-{ void* }
LocInfoE loc_553 (&(LocInfoE loc_555 ((LocInfoE loc_558 (!{void*} (LocInfoE loc_559 ((LocInfoE loc_560 (!{void*} (LocInfoE loc_561 ("m")))) at{struct_fixed_size_map} "items")))) at_offset{layout_of struct_item, PtrOp, IntOp size_t} (LocInfoE loc_562 (use{it_layout size_t} (LocInfoE loc_563 ("slot_idx"))))))) ;
locinfo: loc_546 ;
if: LocInfoE loc_546 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_546 ((LocInfoE loc_547 (use{it_layout size_t} (LocInfoE loc_548 ((LocInfoE loc_549 (!{void*} (LocInfoE loc_550 ("item")))) at{struct_item} "tag")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_551 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_552 (i2v 1 i32)))))))
if: LocInfoE loc_546 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_546 ((LocInfoE loc_547 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_547 (use{it_layout size_t} (LocInfoE loc_548 ((LocInfoE loc_549 (!{void*} (LocInfoE loc_550 ("item")))) at{struct_item} "tag")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_551 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_551 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_552 (i2v 1 i32)))))))))
then
locinfo: loc_518 ;
Goto "#1"
......
......@@ -130,7 +130,7 @@ Section code.
f_code := (
<[ "#0" :=
locinfo: loc_27 ;
if: LocInfoE loc_27 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_27 ((LocInfoE loc_28 (use{it_layout size_t} (LocInfoE loc_29 ("size")))) >{IntOp size_t, IntOp size_t} (LocInfoE loc_30 (use{it_layout size_t} (LocInfoE loc_31 ((LocInfoE loc_32 (!{void*} (LocInfoE loc_33 ("d")))) at{struct_mem_t} "len")))))))
if: LocInfoE loc_27 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_27 ((LocInfoE loc_28 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_28 (use{it_layout size_t} (LocInfoE loc_29 ("size")))))) >{IntOp size_t, IntOp size_t} (LocInfoE loc_30 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_30 (use{it_layout size_t} (LocInfoE loc_31 ((LocInfoE loc_32 (!{void*} (LocInfoE loc_33 ("d")))) at{struct_mem_t} "len")))))))))
then
locinfo: loc_24 ;
Goto "#2"
......
......@@ -119,7 +119,7 @@ Section code.
]> $
<[ "#2" :=
locinfo: loc_44 ;
if: LocInfoE loc_44 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_44 ((LocInfoE loc_45 (use{it_layout size_t} (LocInfoE loc_46 ("size")))) {IntOp size_t, IntOp size_t} (LocInfoE loc_47 (use{it_layout size_t} (LocInfoE loc_48 ((LocInfoE loc_49 (!{void*} (LocInfoE loc_51 (!{void*} (LocInfoE loc_52 ("cur")))))) at{struct_chunk} "size")))))))
if: LocInfoE loc_44 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_44 ((LocInfoE loc_45 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_45 (use{it_layout size_t} (LocInfoE loc_46 ("size")))))) {IntOp size_t, IntOp size_t} (LocInfoE loc_47 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_47 (use{it_layout size_t} (LocInfoE loc_48 ((LocInfoE loc_49 (!{void*} (LocInfoE loc_51 (!{void*} (LocInfoE loc_52 ("cur")))))) at{struct_chunk} "size")))))))))
then
Goto "#5"
else
......
......@@ -385,7 +385,7 @@ Section code.
"head" <-{ void* }
LocInfoE loc_84 (UnOp (CastOp $ PtrOp) (PtrOp) (LocInfoE loc_84 (use{void*} (LocInfoE loc_85 ((LocInfoE loc_86 (!{void*} (LocInfoE loc_88 (!{void*} (LocInfoE loc_89 ("p")))))) at{struct_list} "head"))))) ;
locinfo: loc_77 ;
if: LocInfoE loc_77 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_77 ((LocInfoE loc_78 (use{it_layout size_t} (LocInfoE loc_80 (!{void*} (LocInfoE loc_81 ("head")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_82 (use{it_layout size_t} (LocInfoE loc_83 ("k")))))))
if: LocInfoE loc_77 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_77 ((LocInfoE loc_78 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_78 (use{it_layout size_t} (LocInfoE loc_80 (!{void*} (LocInfoE loc_81 ("head")))))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_82 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_82 (use{it_layout size_t} (LocInfoE loc_83 ("k")))))))))
then
locinfo: loc_74 ;
Goto "#3"
......@@ -453,7 +453,7 @@ Section code.
"head" <-{ void* }
LocInfoE loc_132 (UnOp (CastOp $ PtrOp) (PtrOp) (LocInfoE loc_132 (use{void*} (LocInfoE loc_133 ((LocInfoE loc_134 (!{void*} (LocInfoE loc_135 ("cur")))) at{struct_list} "head"))))) ;
locinfo: loc_125 ;
if: LocInfoE loc_125 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_125 ((LocInfoE loc_126 (use{it_layout size_t} (LocInfoE loc_128 (!{void*} (LocInfoE loc_129 ("head")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_130 (use{it_layout size_t} (LocInfoE loc_131 ("k")))))))
if: LocInfoE loc_125 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_125 ((LocInfoE loc_126 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_126 (use{it_layout size_t} (LocInfoE loc_128 (!{void*} (LocInfoE loc_129 ("head")))))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_130 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_130 (use{it_layout size_t} (LocInfoE loc_131 ("k")))))))))
then
locinfo: loc_122 ;
Goto "#5"
......
......@@ -183,7 +183,7 @@ Section code.
f_code := (
<[ "#0" :=
locinfo: loc_72 ;
if: LocInfoE loc_72 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_72 ((LocInfoE loc_73 (use{it_layout size_t} (LocInfoE loc_74 ((LocInfoE loc_75 (!{void*} (LocInfoE loc_76 ("i")))) at{struct_item} "tag")))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_77 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_78 (i2v 1 i32)))))))
if: LocInfoE loc_72 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_72 ((LocInfoE loc_73 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_73 (use{it_layout size_t} (LocInfoE loc_74 ((LocInfoE loc_75 (!{void*} (LocInfoE loc_76 ("i")))) at{struct_item} "tag")))))) ={IntOp size_t, IntOp size_t} (LocInfoE loc_77 (UnOp (CastOp $ IntOp i32) (IntOp size_t) (LocInfoE loc_77 (UnOp (CastOp $ IntOp size_t) (IntOp i32) (LocInfoE loc_78 (i2v 1 i32)))))))))
then
locinfo: loc_46 ;
Goto "#2"
......
......@@ -94,11 +94,11 @@ Section code.
]> $
<[ "#1" :=
locinfo: loc_18 ;
if: LocInfoE loc_18 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_18 ((LocInfoE loc_19 (CAS
if: LocInfoE loc_18 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_18 ((LocInfoE loc_19 (UnOp (CastOp $ IntOp i32) (IntOp bool_it) (LocInfoE loc_19 (CAS
(IntOp bool_it)
(LocInfoE loc_21 (&(LocInfoE loc_22 ((LocInfoE loc_23 (!{void*} (LocInfoE loc_24 ("lock")))) at{struct_spinlock} "lock"))))
(LocInfoE loc_25 (&(LocInfoE loc_26 ("expected"))))
(LocInfoE loc_27 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_27 (i2v 1 i32)))))) ={IntOp bool_it, IntOp bool_it} (LocInfoE loc_28 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_29 (i2v 0 i32)))))))
(LocInfoE loc_27 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_27 (i2v 1 i32)))))))) ={IntOp i32, IntOp i32} (LocInfoE loc_28 (UnOp (CastOp $ IntOp i32) (IntOp bool_it) (LocInfoE loc_28 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_29 (i2v 0 i32)))))))))
then
locinfo: loc_13 ;
Goto "#2"
......
......@@ -102,7 +102,7 @@ Section code.
"c" <-{ it_layout u8 }
LocInfoE loc_94 (UnOp (CastOp $ IntOp u8) (IntOp i32) (LocInfoE loc_94 (i2v 0 i32))) ;
locinfo: loc_89 ;
if: LocInfoE loc_89 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_89 ((LocInfoE loc_90 (use{it_layout i64} (LocInfoE loc_91 ("ll")))) ={IntOp i64, IntOp i64} (LocInfoE loc_92 (use{it_layout i64} (LocInfoE loc_93 ("l")))))))
if: LocInfoE loc_89 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_89 ((LocInfoE loc_90 (UnOp (CastOp $ IntOp i32) (IntOp i64) (LocInfoE loc_90 (use{it_layout i64} (LocInfoE loc_91 ("ll")))))) ={IntOp i64, IntOp i64} (LocInfoE loc_92 (UnOp (CastOp $ IntOp i32) (IntOp i64) (LocInfoE loc_92 (use{it_layout i64} (LocInfoE loc_93 ("l")))))))))
then
locinfo: loc_86 ;
Goto "#29"
......@@ -112,7 +112,7 @@ Section code.
]> $
<[ "#1" :=
locinfo: loc_81 ;
if: LocInfoE loc_81 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_81 ((LocInfoE loc_82 (use{it_layout i64} (LocInfoE loc_83 ("ll")))) ={IntOp i64, IntOp i64} (LocInfoE loc_84 (use{it_layout i64} (LocInfoE loc_85 ("l")))))))
if: LocInfoE loc_81 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_81 ((LocInfoE loc_82 (UnOp (CastOp $ IntOp i32) (IntOp i64) (LocInfoE loc_82 (use{it_layout i64} (LocInfoE loc_83 ("ll")))))) ={IntOp i64, IntOp i64} (LocInfoE loc_84 (UnOp (CastOp $ IntOp i32) (IntOp i64) (LocInfoE loc_84 (use{it_layout i64} (LocInfoE loc_85 ("l")))))))))
then
locinfo: loc_78 ;
Goto "#27"
......@@ -162,7 +162,7 @@ Section code.
]> $
<[ "#2" :=
locinfo: loc_73 ;
if: LocInfoE loc_73 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_73 ((LocInfoE loc_74 (use{it_layout i64} (LocInfoE loc_75 ("ll")))) ={IntOp i64, IntOp i64} (LocInfoE loc_76 (use{it_layout i32} (LocInfoE loc_77 ("i")))))))
if: LocInfoE loc_73 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_73 ((LocInfoE loc_74 (UnOp (CastOp $ IntOp i32) (IntOp i64) (LocInfoE loc_74 (use{it_layout i64} (LocInfoE loc_75 ("ll")))))) ={IntOp i64, IntOp i64} (LocInfoE loc_76 (use{it_layout i32} (LocInfoE loc_77 ("i")))))))
then
locinfo: loc_70 ;
Goto "#25"
......@@ -212,7 +212,7 @@ Section code.
]> $
<[ "#3" :=
locinfo: loc_65 ;
if: LocInfoE loc_65 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_65 ((LocInfoE loc_66 (use{it_layout i64} (LocInfoE loc_67 ("ll")))) ={IntOp i64, IntOp i64} (LocInfoE loc_68 (use{it_layout i16} (LocInfoE loc_69 ("s")))))))
if: LocInfoE loc_65 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_65 ((LocInfoE loc_66 (UnOp (CastOp $ IntOp i32) (IntOp i64) (LocInfoE loc_66 (use{it_layout i64} (LocInfoE loc_67 ("ll")))))) ={IntOp i64, IntOp i64} (LocInfoE loc_68 (UnOp (CastOp $ IntOp i32) (IntOp i16) (LocInfoE loc_68 (use{it_layout i16} (LocInfoE loc_69 ("s")))))))))
then
locinfo: loc_62 ;
Goto "#23"
......@@ -226,7 +226,7 @@ Section code.
]> $
<[ "#4" :=
locinfo: loc_57 ;
if: LocInfoE loc_57 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_57 ((LocInfoE loc_58 (use{it_layout i64} (LocInfoE loc_59 ("ll")))) ={IntOp i64, IntOp i64} (LocInfoE loc_60 (use{it_layout u8} (LocInfoE loc_61 ("c")))))))
if: LocInfoE loc_57 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_57 ((LocInfoE loc_58 (UnOp (CastOp $ IntOp i32) (IntOp i64) (LocInfoE loc_58 (use{it_layout i64} (LocInfoE loc_59 ("ll")))))) ={IntOp i64, IntOp i64} (LocInfoE loc_60 (UnOp (CastOp $ IntOp i32) (IntOp u8) (LocInfoE loc_60 (use{it_layout u8} (LocInfoE loc_61 ("c")))))))))
then
locinfo: loc_54 ;
Goto "#21"
......@@ -236,7 +236,7 @@ Section code.
]> $
<[ "#5" :=
locinfo: loc_50 ;
if: LocInfoE loc_50 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_50 ((i2v 0 i32) ={IntOp i64, IntOp i64} (LocInfoE loc_52 (use{it_layout i64} (LocInfoE loc_53 ("ll")))))))
if: LocInfoE loc_50 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_50 ((i2v 0 i32) ={IntOp i64, IntOp i64} (LocInfoE loc_52 (UnOp (CastOp $ IntOp i32) (IntOp i64) (LocInfoE loc_52 (use{it_layout i64} (LocInfoE loc_53 ("ll")))))))))
then
locinfo: loc_47 ;
Goto "#19"
......@@ -246,7 +246,7 @@ Section code.
]> $
<[ "#6" :=
locinfo: loc_43 ;
if: LocInfoE loc_43 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_43 ((i2v 0 i32) ={IntOp i64, IntOp i64} (LocInfoE loc_45 (use{it_layout i64} (LocInfoE loc_46 ("l")))))))
if: LocInfoE loc_43 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_43 ((i2v 0 i32) ={IntOp i64, IntOp i64} (LocInfoE loc_45 (UnOp (CastOp $ IntOp i32) (IntOp i64) (LocInfoE loc_45 (use{it_layout i64} (LocInfoE loc_46 ("l")))))))))
then
locinfo: loc_40 ;
Goto "#17"
......@@ -266,7 +266,7 @@ Section code.
]> $
<[ "#8" :=
locinfo: loc_29 ;
if: LocInfoE loc_29 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_29 ((i2v 0 i32) ={IntOp i32, IntOp i32} (LocInfoE loc_31 (use{it_layout i16} (LocInfoE loc_32 ("s")))))))
if: LocInfoE loc_29 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_29 ((i2v 0 i32) ={IntOp i32, IntOp i32} (LocInfoE loc_31 (UnOp (CastOp $ IntOp i32) (IntOp i16) (LocInfoE loc_31 (use{it_layout i16} (LocInfoE loc_32 ("s")))))))))
then
locinfo: loc_26 ;
Goto "#13"
......@@ -276,7 +276,7 @@ Section code.
]> $
<[ "#9" :=
locinfo: loc_22 ;
if: LocInfoE loc_22 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_22 ((i2v 0 i32) ={IntOp i32, IntOp i32} (LocInfoE loc_24 (use{it_layout u8} (LocInfoE loc_25 ("c")))))))
if: LocInfoE loc_22 (UnOp (CastOp $ IntOp bool_it) (IntOp i32) (LocInfoE loc_22 ((i2v 0 i32) ={IntOp i32, IntOp i32} (LocInfoE loc_24 (UnOp (CastOp $ IntOp i32) (IntOp u8) (LocInfoE loc_24 (use{it_layout u8} (LocInfoE loc_25 ("c")))))))))
then
locinfo: loc_19 ;
Goto "#11"
......
......@@ -484,10 +484,8 @@ let rec translate_expr : bool -> op_type option -> ail_expr -> expr * calls =
| Bxor -> XorOp | Bor -> OrOp
in
let (goal_ty, ty1, ty2) =
match (ty1, ty2, res_ty) with
| (OpInt(_), OpInt(_), Some((OpInt(_) as res_ty))) ->
if !arith_op then (Some(res_ty), res_ty, res_ty) else
if ty1 = ty2 then (None, ty1, ty2) else
match (ty1, ty2) with
| (OpInt(_), OpInt(_)) ->
(* We build a type both operands can be casted to. *)
let ty =