Hello, This is a small patch adding primitive isnull_tree (as there is already a primitive isnull_basicblock).
Pierre Vittet
Index: gcc/melt/xtramelt-ana-base.melt =================================================================== --- gcc/melt/xtramelt-ana-base.melt (révision 178282) +++ gcc/melt/xtramelt-ana-base.melt (copie de travail) @@ -1447,12 +1447,15 @@ (defprimitive gimpleseq_content (v) :gimple_seq #{(melt_gimpleseq_content((melt_ptr_t)($v)))}# ) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - (defprimitive is_tree (v) :long #{(melt_magic_discr((melt_ptr_t)($v)) == MELTOBMAG_TREE)}# ) +(defprimitive isnull_tree (:tree tr) :long + #{$tr == (tree)0}# +) + (defprimitive make_tree (discr :tree g) :value #{(meltgc_new_tree((meltobject_ptr_t)($discr),($g)))}# ) @@ -3597,7 +3600,8 @@ and discriminant $DIS, usually $DISCR_MIXED_LOCATI is_mapgimple is_maploop is_maptree - is_tree + is_tree + isnull_tree isnull_basicblock loop_body_tuple loop_can_be_parallel
2011-08-30 Pierre Vittet <pier...@pvittet.com> * melt/xtramelt-ana-base.melt(isnull_tree): Add primitive.