/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2011-9-10: 22h:12m ** */ /* include some .h files */ #ifndef _ATS_HEADER_NONE #include "ats_config.h" #include "ats_basics.h" #include "ats_types.h" #include "ats_exception.h" #include "ats_memory.h" #endif /* _ATS_HEADER_NONE */ /* include some .cats files */ #ifndef _ATS_PRELUDE_NONE #include "prelude/CATS/basics.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/integer.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/lazy.cats" #include "prelude/CATS/lazy_vt.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/printf.cats" #include "prelude/CATS/reference.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/array.cats" #include "prelude/CATS/list.cats" #include "prelude/CATS/matrix.cats" #include "prelude/CATS/option.cats" #endif /* _ATS_PRELUDE_NONE */ /* prologues from statically loaded files */ #include "libc/CATS/random.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_int64_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_int64_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_int64_type atslab_0 ; ats_int64_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_int_type atslab_0 ; ats_int64_type atslab_1 ; ats_int64_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_4 ; typedef struct { ats_int64_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_6 ; typedef struct { ats_int_type atslab_0 ; ats_int64_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int64_type atslab_1 ; ats_int64_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_int64_type atslab_0 ; ats_int64_type atslab_1 ; } anairiats_rec_10 ; typedef struct { anairiats_rec_10 atslab_0 ; } anairiats_sum_11 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_cons) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_nil) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_vt_cons) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__list_vt_nil) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__None_vt) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__Some_vt) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2assem_2esats__INSTRoper) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2assem_2esats__INSTRlabel) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2assem_2esats__INSTRmove) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__REGASSGNsimplify) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__REGASSGNcoalesce) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__REGASSGNspill) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__BSTcons) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__BSTnil) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_isucc) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_idiv) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_val(ats_ptr_type, atspre_null_ptr) ; ATSextern_fun(ats_ptr_type, atspre_padd_size) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ; ATSextern_val(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_bogus) ; ATSextern_fun(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new) () ; ATSextern_fun(ats_int_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__compare_temp_temp) (ats_int64_type, ats_int64_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_temp) (ats_ptr_type, ats_int64_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2assem_2esats__instr_format) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__frame_alloc_local) (ats_ptr_type, ats_bool_type) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__theSpecialReglst) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__theGeneralReglst) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__instr_make_mem_read) (ats_ptr_type, ats_int64_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__instr_make_mem_write) (ats_ptr_type, ats_int64_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__register_name_get) (ats_int64_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__templst_of_tempset) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__tempset_make_templst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__fprint_tempset) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__tempset_remove) (ats_ptr_type, ats_int64_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__ignodeinfo_intset_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_nodeinfo_get) (ats_ptr_type, ats_int64_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_node_remove) (ats_ptr_type, ats_int64_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_node_coalesce) (ats_ptr_type, ats_int64_type, ats_int64_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_node_freeze) (ats_ptr_type, ats_int64_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_make_instrlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_search_lowdeg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_search_coalesce) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_search_freeze) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_search_spill) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__igraph_simplify0) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgnlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_select) (ats_ptr_type) ; ATSextern_fun(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_find) (ats_int64_type) ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regalloc_tmpfmt) (ats_int64_type) ; ATSextern_fun(ats_void_type, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, atslib_srand48_r) (ats_lint_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_randint_r) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__dice) (ats_int_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__igraph_regalloc) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type __ats_fun_4 (ats_int64_type arg0, ats_int64_type arg1) ; static ats_clo_ptr_type __ats_fun_4_closure_make () ; static ats_int_type __ats_fun_4_clofun (ats_clo_ptr_type cloptr, ats_int64_type arg0, ats_int64_type arg1) ; static ats_ptr_type linmap_empty_02012_ () ; static ats_ptr_type ref_01023_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_make_elt_01024_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type compare_key_key_02011_ats_int64_type (ats_int64_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type bst_search_01559_ats_int64_type_2cats_int64_type (ats_ptr_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type linmap_search_02018_ats_int64_type_2cats_int64_type (ats_ptr_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) ; static ats_int_type bst_size_01542_ats_int64_type_2cats_int64_type (ats_ptr_type arg0) ; static ats_ptr_type bst_insert_atroot_01584_ats_int64_type_2cats_int64_type (ats_ref_type arg0, ats_int64_type arg1, ats_int64_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type bst_insert_random_01609_ats_int64_type_2cats_int64_type (ats_ref_type arg0, ats_int64_type arg1, ats_int64_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static ats_ptr_type linmap_insert_02019_ats_int64_type_2cats_int64_type (ats_ref_type arg0, ats_int64_type arg1, ats_int64_type arg2, ats_clo_ref_type arg3) ; static ats_void_type regassgn_insert_12 (ats_int64_type arg0, ats_int64_type arg1) ; static ats_void_type bst_free_01555_ats_int64_type_2cats_int64_type (ats_ptr_type arg0) ; static ats_void_type linmap_free_02017_ats_int64_type_2cats_int64_type (ats_ptr_type arg0) ; static ats_void_type regassgn_clear_17 () ; static ats_ptr_type spillreglst_get_20 () ; static ats_void_type spillreglst_add_21 (ats_int64_type arg0) ; static ats_void_type spillreglst_clear_22 () ; static ats_ptr_type auxsel_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type __ats_fun_25 (ats_int64_type arg0, ats_int64_type arg1) ; static ats_clo_ptr_type __ats_fun_25_closure_make () ; static ats_int_type __ats_fun_25_clofun (ats_clo_ptr_type cloptr, ats_int64_type arg0, ats_int64_type arg1) ; static ats_void_type emitlst_27 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type bst_search_01559_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type linmap_search_02018_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type auxsrc_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type auxdst_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type instr_spill_rewrite_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type instrlst_spill_rewrite_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_int_type bst_size_01542_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type bst_insert_atroot_01584_ats_int64_type_2cats_ptr_type (ats_ref_type arg0, ats_int64_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type bst_insert_random_01609_ats_int64_type_2cats_ptr_type (ats_ref_type arg0, ats_int64_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static ats_ptr_type linmap_insert_02019_ats_int64_type_2cats_ptr_type (ats_ref_type arg0, ats_int64_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) ; static ats_void_type loop_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type revapp_41 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01561_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01560_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type bst_free_01555_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_void_type linmap_free_02017_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type instrlst_spill_codegen_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop1_45 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type loop2_46 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type loop3_47 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type loop4_48 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type loop5_49 (ats_ptr_type arg0) ; static ats_ptr_type loop_51 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp29) ; ATSstatic (ats_ptr_type, statmp31) ; ATSstatic (ats_ptr_type, statmp32) ; ATSstatic (ats_ptr_type, statmp34) ; ATSstatic (ats_ptr_type, statmp38) ; ATSstatic (ats_ptr_type, statmp39) ; ATSstatic (ats_ptr_type, statmp158) ; /* external value variable declarations */ /* function implementations */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 598(line=36, offs=7) -- 806(line=41, offs=24) */ ATSstaticdec() ats_void_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_int64_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; // ATSlocal_void (tmp4) ; __ats_lab_loop_1: #line 37 "regalloc.dats" do { /* branch: __ats_lab_0 */ #line 38 "regalloc.dats" __ats_lab_0_0: #line 38 "regalloc.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } #line 38 "regalloc.dats" __ats_lab_0_1: #line 38 "regalloc.dats" tmp2 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_0) ; #line 38 "regalloc.dats" tmp3 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_1) ; #line 39 "regalloc.dats" /* tmp4 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_node_remove (arg0, tmp2) ; #line 39 "regalloc.dats" arg0 = arg0 ; #line 39 "regalloc.dats" arg1 = tmp3 ; #line 39 "regalloc.dats" goto __ats_lab_loop_1 ; // tail call break ; /* branch: __ats_lab_1 */ #line 41 "regalloc.dats" __ats_lab_1_0: #line 41 "regalloc.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 41 "regalloc.dats" __ats_lab_1_1: break ; } while (0) ; return /* (tmp1) */ ; } /* end of [loop_1] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 546(line=35, offs=3) -- 827(line=43, offs=2) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__igraph_simplify0 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__igraph_simplify0: #line 35 "regalloc.dats" /* tmp0 = */ loop_1 (arg0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__theSpecialReglst) ; return /* (tmp0) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__igraph_simplify0] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 905(line=47, offs=27) -- 1857(line=70, offs=4) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_int64_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_int64_type, tmp12) ; ATSlocal (ats_int64_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; ATSlocal (ats_int64_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgn: #line 48 "regalloc.dats" do { /* branch: __ats_lab_2 */ #line 49 "regalloc.dats" __ats_lab_2_0: #line 49 "regalloc.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_3_0 ; } #line 49 "regalloc.dats" __ats_lab_2_1: #line 49 "regalloc.dats" tmp6 = ats_caselptr_mac(anairiats_sum_1, arg1, atslab_0) ; #line 49 "regalloc.dats" tmp7 = ats_caselptr_mac(anairiats_sum_1, arg1, atslab_1) ; #line 50 "regalloc.dats" /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("REGASSGNsimplify(")) ; #line 51 "regalloc.dats" /* tmp9 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_temp (arg0, tmp6) ; #line 52 "regalloc.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 53 "regalloc.dats" /* tmp11 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__fprint_tempset (arg0, tmp7) ; #line 54 "regalloc.dats" /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ #line 56 "regalloc.dats" __ats_lab_3_0: #line 56 "regalloc.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_4_0 ; } #line 56 "regalloc.dats" __ats_lab_3_1: #line 56 "regalloc.dats" tmp12 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 56 "regalloc.dats" tmp13 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_1) ; #line 57 "regalloc.dats" /* tmp14 = */ atspre_fprint_string (arg0, ATSstrcst("REGASSGNcoalesce(")) ; #line 58 "regalloc.dats" /* tmp15 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_temp (arg0, tmp12) ; #line 59 "regalloc.dats" /* tmp16 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 60 "regalloc.dats" /* tmp17 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_temp (arg0, tmp13) ; #line 61 "regalloc.dats" /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ #line 63 "regalloc.dats" __ats_lab_4_0: #line 63 "regalloc.dats" // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } #line 63 "regalloc.dats" __ats_lab_4_1: #line 63 "regalloc.dats" tmp18 = ats_caselptr_mac(anairiats_sum_1, arg1, atslab_0) ; #line 63 "regalloc.dats" tmp19 = ats_caselptr_mac(anairiats_sum_1, arg1, atslab_1) ; #line 64 "regalloc.dats" /* tmp20 = */ atspre_fprint_string (arg0, ATSstrcst("REGASSGNspill(")) ; #line 65 "regalloc.dats" /* tmp21 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__fprint_temp (arg0, tmp18) ; #line 66 "regalloc.dats" /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; #line 67 "regalloc.dats" /* tmp23 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__fprint_tempset (arg0, tmp19) ; #line 68 "regalloc.dats" /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp5) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgn] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 1937(line=74, offs=30) -- 2185(line=82, offs=22) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgnlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgnlst: #line 75 "regalloc.dats" do { /* branch: __ats_lab_5 */ #line 76 "regalloc.dats" __ats_lab_5_0: #line 76 "regalloc.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } #line 76 "regalloc.dats" __ats_lab_5_1: #line 76 "regalloc.dats" tmp25 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 76 "regalloc.dats" tmp26 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_1) ; #line 77 "regalloc.dats" /* tmp27 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgn (arg0, tmp25) ; #line 78 "regalloc.dats" /* tmp28 = */ atspre_fprint_newline (arg0) ; #line 80 "regalloc.dats" arg0 = arg0 ; #line 80 "regalloc.dats" arg1 = tmp26 ; #line 80 "regalloc.dats" goto __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgnlst ; // tail call break ; /* branch: __ats_lab_6 */ #line 82 "regalloc.dats" __ats_lab_6_0: #line 82 "regalloc.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 82 "regalloc.dats" __ats_lab_6_1: break ; } while (0) ; return /* (tmp24) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__fprint_regassgnlst] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 2529(line=103, offs=17) -- 2600(line=104, offs=49) */ ATSstaticdec() ats_int_type __ats_fun_4 (ats_int64_type arg0, ats_int64_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp30) ; __ats_lab___ats_fun_4: #line 104 "regalloc.dats" tmp30 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__compare_temp_temp (arg0, arg1) ; return (tmp30) ; } /* end of [__ats_fun_4] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_4_closure_type ; ats_int_type __ats_fun_4_clofun (ats_clo_ptr_type cloptr, ats_int64_type arg0, ats_int64_type arg1) { return __ats_fun_4 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_4_closure_init (__ats_fun_4_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_4_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_4_closure_make () { __ats_fun_4_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_4_closure_type)) ; __ats_fun_4_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10058(line=329, offs=26) -- 10072(line=329, offs=40) */ ATSstaticdec() ats_ptr_type linmap_empty_02012_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; __ats_lab_linmap_empty_02012_: #line 329 "linmap_randbst.dats" tmp33 = (ats_sum_ptr_type)0 ; return (tmp33) ; } /* end of [linmap_empty_02012_] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/reference.dats: 1834(line=59, offs=18) -- 1908(line=61, offs=4) */ ATSstaticdec() ats_ptr_type ref_01023_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab_ref_01023_ats_ptr_type: #line 60 "reference.dats" /* ats_ptr_type tmp37 ; */ #line 60 "reference.dats" tmp37 = arg0 ; #line 60 "reference.dats" tmp36 = atspre_ref_make_elt_tsz ((&tmp37), sizeof(ats_ptr_type)) ; return (tmp36) ; } /* end of [ref_01023_ats_ptr_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/reference.dats: 2000(line=64, offs=27) -- 2015(line=64, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01024_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_ref_make_elt_01024_ats_ptr_type: #line 64 "reference.dats" tmp35 = ref_01023_ats_ptr_type (arg0) ; return (tmp35) ; } /* end of [ref_make_elt_01024_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 659(line=33, offs=32) -- 687(line=33, offs=60) */ ATSstaticdec() ats_int_type compare_key_key_02011_ats_int64_type (ats_int64_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp50) ; __ats_lab_compare_key_key_02011_ats_int64_type: #line 33 "linmap_randbst.dats" tmp50 = ((ats_int_type(*)(ats_clo_ptr_type, ats_int64_type, ats_int64_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp50) ; } /* end of [compare_key_key_02011_ats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 3608(line=137, offs=28) -- 4264(line=156, offs=4) */ ATSstaticdec() ats_ptr_type bst_search_01559_ats_int64_type_2cats_int64_type (ats_ptr_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_int64_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_int_type, tmp49) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_int64_type, tmp53) ; __ats_lab_bst_search_01559_ats_int64_type_2cats_int64_type: #line 140 "linmap_randbst.dats" do { /* branch: __ats_lab_7 */ #line 141 "linmap_randbst.dats" __ats_lab_7_0: #line 141 "linmap_randbst.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } #line 141 "linmap_randbst.dats" __ats_lab_7_1: #line 141 "linmap_randbst.dats" tmp45 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_1) ; #line 141 "linmap_randbst.dats" tmp46 = &ats_caselptr_mac(anairiats_sum_4, arg0, atslab_2) ; #line 141 "linmap_randbst.dats" tmp47 = &ats_caselptr_mac(anairiats_sum_4, arg0, atslab_3) ; #line 141 "linmap_randbst.dats" tmp48 = &ats_caselptr_mac(anairiats_sum_4, arg0, atslab_4) ; #line 142 "linmap_randbst.dats" tmp49 = compare_key_key_02011_ats_int64_type (arg1, tmp45, arg2) ; #line 142 "linmap_randbst.dats" do { /* branch: __ats_lab_8 */ #line 143 "linmap_randbst.dats" __ats_lab_8_0: #line 143 "linmap_randbst.dats" if (tmp49 != -1) { goto __ats_lab_9_0 ; } #line 143 "linmap_randbst.dats" __ats_lab_8_1: #line 144 "linmap_randbst.dats" tmp51 = ats_ptrget_mac(ats_ptr_type, tmp47) ; #line 144 "linmap_randbst.dats" arg0 = tmp51 ; #line 144 "linmap_randbst.dats" arg1 = arg1 ; #line 144 "linmap_randbst.dats" arg2 = arg2 ; #line 144 "linmap_randbst.dats" goto __ats_lab_bst_search_01559_ats_int64_type_2cats_int64_type ; // tail call break ; /* branch: __ats_lab_9 */ #line 146 "linmap_randbst.dats" __ats_lab_9_0: #line 146 "linmap_randbst.dats" if (tmp49 != 1) { goto __ats_lab_10_0 ; } #line 146 "linmap_randbst.dats" __ats_lab_9_1: #line 147 "linmap_randbst.dats" tmp52 = ats_ptrget_mac(ats_ptr_type, tmp48) ; #line 147 "linmap_randbst.dats" arg0 = tmp52 ; #line 147 "linmap_randbst.dats" arg1 = arg1 ; #line 147 "linmap_randbst.dats" arg2 = arg2 ; #line 147 "linmap_randbst.dats" goto __ats_lab_bst_search_01559_ats_int64_type_2cats_int64_type ; // tail call break ; /* branch: __ats_lab_10 */ #line 149 "linmap_randbst.dats" __ats_lab_10_0: #line 149 "linmap_randbst.dats" __ats_lab_10_1: #line 150 "linmap_randbst.dats" tmp53 = ats_ptrget_mac(ats_int64_type, tmp46) ; #line 150 "linmap_randbst.dats" tmp44 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp44, atslab_0, tmp53) ; break ; } while (0) ; break ; /* branch: __ats_lab_11 */ #line 153 "linmap_randbst.dats" __ats_lab_11_0: #line 153 "linmap_randbst.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 153 "linmap_randbst.dats" __ats_lab_11_1: #line 154 "linmap_randbst.dats" tmp44 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp44) ; } /* end of [bst_search_01559_ats_int64_type_2cats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10737(line=356, offs=17) -- 10784(line=356, offs=64) */ ATSstaticdec() ats_ptr_type linmap_search_02018_ats_int64_type_2cats_int64_type (ats_ptr_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; __ats_lab_linmap_search_02018_ats_int64_type_2cats_int64_type: #line 356 "linmap_randbst.dats" tmp43 = bst_search_01559_ats_int64_type_2cats_int64_type (arg0, arg1, arg2) ; return (tmp43) ; } /* end of [linmap_search_02018_ats_int64_type_2cats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 2854(line=115, offs=25) -- 3044(line=120, offs=4) */ ATSglobaldec() ats_int64_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_find (ats_int64_type arg0) { /* local vardec */ ATSlocal (ats_int64_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_int64_type, tmp55) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_find: #line 116 "regalloc.dats" tmp41 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp34), atslab_1) ; #line 117 "regalloc.dats" tmp54 = ats_ptrget_mac(ats_ptr_type, tmp41) ; #line 117 "regalloc.dats" tmp42 = linmap_search_02018_ats_int64_type_2cats_int64_type (tmp54, arg0, statmp31) ; #line 119 "regalloc.dats" do { /* branch: __ats_lab_12 */ #line 119 "regalloc.dats" __ats_lab_12_0: #line 119 "regalloc.dats" if (tmp42 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } #line 119 "regalloc.dats" __ats_lab_12_1: #line 119 "regalloc.dats" tmp55 = ats_caselptr_mac(anairiats_sum_5, tmp42, atslab_0) ; #line 119 "regalloc.dats" ATS_FREE(tmp42) ; #line 119 "regalloc.dats" tmp40 = tmp55 ; break ; /* branch: __ats_lab_13 */ #line 119 "regalloc.dats" __ats_lab_13_0: #line 119 "regalloc.dats" // if (tmp42 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 119 "regalloc.dats" __ats_lab_13_1: #line 119 "regalloc.dats" tmp40 = arg0 ; break ; } while (0) ; return (tmp40) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_find] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 2454(line=99, offs=20) -- 2570(line=100, offs=71) */ ATSstaticdec() ats_int_type bst_size_01542_ats_int64_type_2cats_int64_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp85) ; ATSlocal (ats_int_type, tmp86) ; __ats_lab_bst_size_01542_ats_int64_type_2cats_int64_type: #line 99 "linmap_randbst.dats" do { /* branch: __ats_lab_16 */ #line 100 "linmap_randbst.dats" __ats_lab_16_0: #line 100 "linmap_randbst.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } #line 100 "linmap_randbst.dats" __ats_lab_16_1: #line 100 "linmap_randbst.dats" tmp86 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_0) ; #line 100 "linmap_randbst.dats" tmp85 = tmp86 ; break ; /* branch: __ats_lab_17 */ #line 100 "linmap_randbst.dats" __ats_lab_17_0: #line 100 "linmap_randbst.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 100 "linmap_randbst.dats" __ats_lab_17_1: #line 100 "linmap_randbst.dats" tmp85 = 0 ; break ; } while (0) ; return (tmp85) ; } /* end of [bst_size_01542_ats_int64_type_2cats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 5238(line=195, offs=35) -- 6864(line=238, offs=4) */ ATSstaticdec() ats_ptr_type bst_insert_atroot_01584_ats_int64_type_2cats_int64_type (ats_ref_type arg0, ats_int64_type arg1, ats_int64_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_int64_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_bool_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_bool_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_int_type, tmp83) ; ATSlocal (ats_int_type, tmp84) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_bool_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_int_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab_bst_insert_atroot_01584_ats_int64_type_2cats_int64_type: #line 199 "linmap_randbst.dats" do { /* branch: __ats_lab_15 */ #line 200 "linmap_randbst.dats" __ats_lab_15_0: #line 200 "linmap_randbst.dats" if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } #line 200 "linmap_randbst.dats" __ats_lab_15_1: #line 201 "linmap_randbst.dats" tmp71 = &ats_caselptr_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; #line 201 "linmap_randbst.dats" tmp72 = ats_caselptr_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; #line 201 "linmap_randbst.dats" tmp73 = &ats_caselptr_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; #line 201 "linmap_randbst.dats" tmp74 = &ats_caselptr_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; #line 202 "linmap_randbst.dats" tmp75 = compare_key_key_02011_ats_int64_type (arg1, tmp72, arg3) ; #line 203 "linmap_randbst.dats" tmp76 = atspre_ilt (tmp75, 0) ; #line 203 "linmap_randbst.dats" if (tmp76) { #line 204 "linmap_randbst.dats" tmp77 = bst_insert_atroot_01584_ats_int64_type_2cats_int64_type (tmp73, arg1, arg2, arg3, arg4) ; #line 206 "linmap_randbst.dats" tmp78 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 206 "linmap_randbst.dats" if (tmp78) { #line 207 "linmap_randbst.dats" tmp79 = ats_ptrget_mac(ats_ptr_type, tmp73) ; #line 208 "linmap_randbst.dats" // if (tmp79 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 208 "linmap_randbst.dats" tmp80 = &ats_caselptr_mac(anairiats_sum_4, tmp79, atslab_0) ; #line 208 "linmap_randbst.dats" tmp81 = &ats_caselptr_mac(anairiats_sum_4, tmp79, atslab_3) ; #line 208 "linmap_randbst.dats" tmp82 = &ats_caselptr_mac(anairiats_sum_4, tmp79, atslab_4) ; #line 209 "linmap_randbst.dats" tmp83 = ats_ptrget_mac(ats_int_type, tmp71) ; #line 209 "linmap_randbst.dats" tmp87 = ats_ptrget_mac(ats_ptr_type, tmp81) ; #line 209 "linmap_randbst.dats" tmp84 = bst_size_01542_ats_int64_type_2cats_int64_type (tmp87) ; #line 211 "linmap_randbst.dats" tmp88 = ats_ptrget_mac(ats_ptr_type, tmp82) ; #line 211 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp73) = tmp88 ; #line 211 "linmap_randbst.dats" tmp89 = atspre_isub (tmp83, tmp84) ; #line 211 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp71) = tmp89 ; #line 212 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp82) = ats_ptrget_mac(ats_ptr_type, arg0) ; #line 212 "linmap_randbst.dats" tmp90 = atspre_iadd (tmp83, 1) ; #line 212 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp80) = tmp90 ; #line 213 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp79 ; #line 213 "linmap_randbst.dats" tmp70 = tmp77 ; } else { #line 215 "linmap_randbst.dats" tmp70 = tmp77 ; } /* end of [if] */ } else { #line 217 "linmap_randbst.dats" tmp91 = atspre_igt (tmp75, 0) ; #line 217 "linmap_randbst.dats" if (tmp91) { #line 218 "linmap_randbst.dats" tmp92 = bst_insert_atroot_01584_ats_int64_type_2cats_int64_type (tmp74, arg1, arg2, arg3, arg4) ; #line 220 "linmap_randbst.dats" tmp93 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 220 "linmap_randbst.dats" if (tmp93) { #line 221 "linmap_randbst.dats" tmp94 = ats_ptrget_mac(ats_ptr_type, tmp74) ; #line 222 "linmap_randbst.dats" // if (tmp94 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 222 "linmap_randbst.dats" tmp95 = &ats_caselptr_mac(anairiats_sum_4, tmp94, atslab_0) ; #line 222 "linmap_randbst.dats" tmp96 = &ats_caselptr_mac(anairiats_sum_4, tmp94, atslab_3) ; #line 222 "linmap_randbst.dats" tmp97 = &ats_caselptr_mac(anairiats_sum_4, tmp94, atslab_4) ; #line 223 "linmap_randbst.dats" tmp98 = ats_ptrget_mac(ats_int_type, tmp71) ; #line 223 "linmap_randbst.dats" tmp100 = ats_ptrget_mac(ats_ptr_type, tmp97) ; #line 223 "linmap_randbst.dats" tmp99 = bst_size_01542_ats_int64_type_2cats_int64_type (tmp100) ; #line 225 "linmap_randbst.dats" tmp101 = ats_ptrget_mac(ats_ptr_type, tmp96) ; #line 225 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp74) = tmp101 ; #line 225 "linmap_randbst.dats" tmp102 = atspre_isub (tmp98, tmp99) ; #line 225 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp71) = tmp102 ; #line 226 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp96) = ats_ptrget_mac(ats_ptr_type, arg0) ; #line 226 "linmap_randbst.dats" tmp103 = atspre_iadd (tmp98, 1) ; #line 226 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp95) = tmp103 ; #line 227 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp94 ; #line 227 "linmap_randbst.dats" tmp70 = tmp92 ; } else { #line 229 "linmap_randbst.dats" tmp70 = tmp92 ; } /* end of [if] */ } else { #line 232 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 1 ; #line 232 "linmap_randbst.dats" tmp70 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp70, atslab_0, arg2) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_18 */ #line 235 "linmap_randbst.dats" __ats_lab_18_0: #line 235 "linmap_randbst.dats" // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 235 "linmap_randbst.dats" __ats_lab_18_1: #line 236 "linmap_randbst.dats" tmp105 = (ats_sum_ptr_type)0 ; #line 236 "linmap_randbst.dats" tmp106 = (ats_sum_ptr_type)0 ; #line 236 "linmap_randbst.dats" tmp104 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_3, tmp105) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_4, tmp106) ; #line 236 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp104 ; #line 236 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 0 ; #line 236 "linmap_randbst.dats" tmp70 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp70) ; } /* end of [bst_insert_atroot_01584_ats_int64_type_2cats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 6962(line=241, offs=35) -- 7987(line=264, offs=4) */ ATSstaticdec() ats_ptr_type bst_insert_random_01609_ats_int64_type_2cats_int64_type (ats_ref_type arg0, ats_int64_type arg1, ats_int64_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_int64_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_bool_type, tmp68) ; ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_int_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_bool_type, tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_bool_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_bool_type, tmp115) ; ATSlocal (ats_int_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; __ats_lab_bst_insert_random_01609_ats_int64_type_2cats_int64_type: #line 245 "linmap_randbst.dats" do { /* branch: __ats_lab_14 */ #line 246 "linmap_randbst.dats" __ats_lab_14_0: #line 246 "linmap_randbst.dats" if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } #line 246 "linmap_randbst.dats" __ats_lab_14_1: #line 246 "linmap_randbst.dats" tmp64 = &ats_caselptr_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; #line 246 "linmap_randbst.dats" tmp65 = ats_caselptr_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; #line 246 "linmap_randbst.dats" tmp66 = &ats_caselptr_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; #line 246 "linmap_randbst.dats" tmp67 = &ats_caselptr_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; #line 247 "linmap_randbst.dats" tmp69 = ats_ptrget_mac(ats_int_type, tmp64) ; #line 247 "linmap_randbst.dats" tmp68 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__dice (1, tmp69, arg5) ; #line 247 "linmap_randbst.dats" if (tmp68) { #line 248 "linmap_randbst.dats" tmp63 = bst_insert_atroot_01584_ats_int64_type_2cats_int64_type (arg0, arg1, arg2, arg3, arg4) ; } else { #line 250 "linmap_randbst.dats" tmp107 = compare_key_key_02011_ats_int64_type (arg1, tmp65, arg3) ; #line 251 "linmap_randbst.dats" tmp108 = atspre_ilt (tmp107, 0) ; #line 251 "linmap_randbst.dats" if (tmp108) { #line 252 "linmap_randbst.dats" tmp109 = bst_insert_random_01609_ats_int64_type_2cats_int64_type (tmp66, arg1, arg2, arg3, arg4, arg5) ; #line 253 "linmap_randbst.dats" tmp110 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 253 "linmap_randbst.dats" if (tmp110) { #line 253 "linmap_randbst.dats" tmp112 = ats_ptrget_mac(ats_int_type, tmp64) ; #line 253 "linmap_randbst.dats" tmp111 = atspre_iadd (tmp112, 1) ; #line 253 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp64) = tmp111 ; #line 253 "linmap_randbst.dats" tmp63 = tmp109 ; } else { #line 253 "linmap_randbst.dats" tmp63 = tmp109 ; } /* end of [if] */ } else { #line 254 "linmap_randbst.dats" tmp113 = atspre_igt (tmp107, 0) ; #line 254 "linmap_randbst.dats" if (tmp113) { #line 255 "linmap_randbst.dats" tmp114 = bst_insert_random_01609_ats_int64_type_2cats_int64_type (tmp67, arg1, arg2, arg3, arg4, arg5) ; #line 256 "linmap_randbst.dats" tmp115 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 256 "linmap_randbst.dats" if (tmp115) { #line 256 "linmap_randbst.dats" tmp117 = ats_ptrget_mac(ats_int_type, tmp64) ; #line 256 "linmap_randbst.dats" tmp116 = atspre_iadd (tmp117, 1) ; #line 256 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp64) = tmp116 ; #line 256 "linmap_randbst.dats" tmp63 = tmp114 ; } else { #line 256 "linmap_randbst.dats" tmp63 = tmp114 ; } /* end of [if] */ } else { #line 258 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 1 ; #line 258 "linmap_randbst.dats" tmp63 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp63, atslab_0, arg2) ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_19 */ #line 261 "linmap_randbst.dats" __ats_lab_19_0: #line 261 "linmap_randbst.dats" // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 261 "linmap_randbst.dats" __ats_lab_19_1: #line 262 "linmap_randbst.dats" tmp119 = (ats_sum_ptr_type)0 ; #line 262 "linmap_randbst.dats" tmp120 = (ats_sum_ptr_type)0 ; #line 262 "linmap_randbst.dats" tmp118 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp118, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_4, tmp118, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp118, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp118, atslab_3, tmp119) ; ats_selptrset_mac(anairiats_sum_4, tmp118, atslab_4, tmp120) ; #line 262 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp118 ; #line 262 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 0 ; #line 262 "linmap_randbst.dats" tmp63 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp63) ; } /* end of [bst_insert_random_01609_ats_int64_type_2cats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10868(line=362, offs=17) -- 11059(line=367, offs=4) */ ATSstaticdec() ats_ptr_type linmap_insert_02019_ats_int64_type_2cats_int64_type (ats_ref_type arg0, ats_int64_type arg1, ats_int64_type arg2, ats_clo_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_int_type, tmp60) ; ATSlocal (ats_drand48_data_type, tmp61) ; ATSlocal (ats_int_type, tmp62) ; __ats_lab_linmap_insert_02019_ats_int64_type_2cats_int64_type: #line 363 "linmap_randbst.dats" /* ats_int_type tmp60 ; */ #line 364 "linmap_randbst.dats" /* ats_drand48_data_type tmp61 ; */ #line 365 "linmap_randbst.dats" tmp62 = atslib_srand48_r (0L, (&tmp61)) ; #line 366 "linmap_randbst.dats" tmp59 = bst_insert_random_01609_ats_int64_type_2cats_int64_type (arg0, arg1, arg2, arg3, (&tmp60), (&tmp61)) ; return (tmp59) ; } /* end of [linmap_insert_02019_ats_int64_type_2cats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 3078(line=122, offs=4) -- 3346(line=129, offs=4) */ ATSstaticdec() ats_void_type regassgn_insert_12 (ats_int64_type arg0, ats_int64_type arg1) { /* local vardec */ // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab_regassgn_insert_12: #line 124 "regalloc.dats" tmp57 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp34), atslab_1) ; #line 125 "regalloc.dats" tmp58 = linmap_insert_02019_ats_int64_type_2cats_int64_type (tmp57, arg0, arg1, statmp31) ; #line 126 "regalloc.dats" do { /* branch: __ats_lab_20 */ #line 126 "regalloc.dats" __ats_lab_20_0: #line 126 "regalloc.dats" if (tmp58 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } #line 126 "regalloc.dats" __ats_lab_20_1: #line 126 "regalloc.dats" ATS_FREE(tmp58) ; break ; /* branch: __ats_lab_21 */ #line 126 "regalloc.dats" __ats_lab_21_0: #line 126 "regalloc.dats" // if (tmp58 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 126 "regalloc.dats" __ats_lab_21_1: break ; } while (0) ; return /* (tmp56) */ ; } /* end of [regassgn_insert_12] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 3385(line=128, offs=26) -- 3512(line=131, offs=21) */ ATSstaticdec() ats_void_type bst_free_01555_ats_int64_type_2cats_int64_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; __ats_lab_bst_free_01555_ats_int64_type_2cats_int64_type: #line 129 "linmap_randbst.dats" do { /* branch: __ats_lab_22 */ #line 130 "linmap_randbst.dats" __ats_lab_22_0: #line 130 "linmap_randbst.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } #line 130 "linmap_randbst.dats" __ats_lab_22_1: #line 130 "linmap_randbst.dats" tmp126 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_3) ; #line 130 "linmap_randbst.dats" tmp127 = ats_caselptr_mac(anairiats_sum_4, arg0, atslab_4) ; #line 130 "linmap_randbst.dats" ATS_FREE(arg0) ; #line 130 "linmap_randbst.dats" /* tmp128 = */ bst_free_01555_ats_int64_type_2cats_int64_type (tmp126) ; #line 130 "linmap_randbst.dats" arg0 = tmp127 ; #line 130 "linmap_randbst.dats" goto __ats_lab_bst_free_01555_ats_int64_type_2cats_int64_type ; // tail call break ; /* branch: __ats_lab_23 */ #line 131 "linmap_randbst.dats" __ats_lab_23_0: #line 131 "linmap_randbst.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 131 "linmap_randbst.dats" __ats_lab_23_1: break ; } while (0) ; return /* (tmp125) */ ; } /* end of [bst_free_01555_ats_int64_type_2cats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10652(line=351, offs=32) -- 10678(line=351, offs=58) */ ATSstaticdec() ats_void_type linmap_free_02017_ats_int64_type_2cats_int64_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp124) ; __ats_lab_linmap_free_02017_ats_int64_type_2cats_int64_type: #line 351 "linmap_randbst.dats" /* tmp124 = */ bst_free_01555_ats_int64_type_2cats_int64_type (arg0) ; return /* (tmp124) */ ; } /* end of [linmap_free_02017_ats_int64_type_2cats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 3382(line=131, offs=4) -- 3571(line=136, offs=2) */ ATSstaticdec() ats_void_type regassgn_clear_17 () { /* local vardec */ // ATSlocal_void (tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab_regassgn_clear_17: #line 132 "regalloc.dats" tmp122 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp34), atslab_1) ; #line 133 "regalloc.dats" tmp129 = ats_ptrget_mac(ats_ptr_type, tmp122) ; #line 133 "regalloc.dats" /* tmp123 = */ linmap_free_02017_ats_int64_type_2cats_int64_type (tmp129) ; #line 134 "regalloc.dats" tmp130 = linmap_empty_02012_ () ; #line 135 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, tmp122) = tmp130 ; return /* (tmp121) */ ; } /* end of [regassgn_clear_17] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 3624(line=140, offs=4) -- 3662(line=140, offs=42) */ ATSstaticdec() ats_ptr_type spillreglst_get_20 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; __ats_lab_spillreglst_get_20: #line 140 "regalloc.dats" tmp131 = ats_ptrget_mac(ats_ptr_type, statmp38) ; return (tmp131) ; } /* end of [spillreglst_get_20] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 3667(line=142, offs=4) -- 3776(line=144, offs=4) */ ATSstaticdec() ats_void_type spillreglst_add_21 (ats_int64_type arg0) { /* local vardec */ // ATSlocal_void (tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab_spillreglst_add_21: #line 143 "regalloc.dats" tmp134 = ats_ptrget_mac(ats_ptr_type, statmp38) ; #line 143 "regalloc.dats" tmp133 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp133, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp133, atslab_1, tmp134) ; #line 143 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, statmp38) = tmp133 ; return /* (tmp132) */ ; } /* end of [spillreglst_add_21] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 3810(line=146, offs=5) -- 3865(line=146, offs=60) */ ATSstaticdec() ats_void_type spillreglst_clear_22 () { /* local vardec */ // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab_spillreglst_clear_22: #line 146 "regalloc.dats" tmp136 = (ats_sum_ptr_type)0 ; #line 146 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, statmp38) = tmp136 ; return /* (tmp135) */ ; } /* end of [spillreglst_clear_22] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 3957(line=153, offs=7) -- 4366(line=163, offs=10) */ ATSstaticdec() ats_ptr_type auxsel_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_int64_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_int64_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_int64_type, tmp144) ; __ats_lab_auxsel_24: #line 155 "regalloc.dats" do { /* branch: __ats_lab_24 */ #line 156 "regalloc.dats" __ats_lab_24_0: #line 156 "regalloc.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } #line 156 "regalloc.dats" __ats_lab_24_1: #line 156 "regalloc.dats" tmp139 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_0) ; #line 156 "regalloc.dats" tmp140 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_1) ; #line 157 "regalloc.dats" tmp141 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_find (tmp139) ; #line 158 "regalloc.dats" tmp142 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__tempset_remove (arg0, tmp141) ; #line 158 "regalloc.dats" arg0 = tmp142 ; #line 158 "regalloc.dats" arg1 = tmp140 ; #line 158 "regalloc.dats" goto __ats_lab_auxsel_24 ; // tail call break ; /* branch: __ats_lab_25 */ #line 160 "regalloc.dats" __ats_lab_25_0: #line 160 "regalloc.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 160 "regalloc.dats" __ats_lab_25_1: #line 161 "regalloc.dats" tmp143 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__templst_of_tempset (arg0) ; #line 161 "regalloc.dats" do { /* branch: __ats_lab_26 */ #line 162 "regalloc.dats" __ats_lab_26_0: #line 162 "regalloc.dats" if (tmp143 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } #line 162 "regalloc.dats" __ats_lab_26_1: #line 162 "regalloc.dats" tmp144 = ats_caselptr_mac(anairiats_sum_0, tmp143, atslab_0) ; #line 162 "regalloc.dats" tmp138 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp138, atslab_0, tmp144) ; break ; /* branch: __ats_lab_27 */ #line 162 "regalloc.dats" __ats_lab_27_0: #line 162 "regalloc.dats" // if (tmp143 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 162 "regalloc.dats" __ats_lab_27_1: #line 162 "regalloc.dats" tmp138 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp138) ; } /* end of [auxsel_24] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 3937(line=152, offs=27) -- 5590(line=205, offs=4) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_select (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp137) ; ATSlocal (ats_int64_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_int64_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_int64_type, tmp150) ; ATSlocal (ats_int64_type, tmp151) ; ATSlocal (ats_int64_type, tmp152) ; ATSlocal (ats_int64_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_int64_type, tmp156) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_select: #line 165 "regalloc.dats" /* ats_int64_type tmp145 ; */ #line 165 "regalloc.dats" tmp145 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_bogus ; #line 166 "regalloc.dats" do { /* branch: __ats_lab_28 */ #line 167 "regalloc.dats" __ats_lab_28_0: #line 167 "regalloc.dats" if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_29_0 ; } #line 167 "regalloc.dats" __ats_lab_28_1: #line 167 "regalloc.dats" tmp147 = ats_caselptr_mac(anairiats_sum_1, arg0, atslab_0) ; #line 167 "regalloc.dats" tmp148 = ats_caselptr_mac(anairiats_sum_1, arg0, atslab_1) ; #line 168 "regalloc.dats" tmp145 = tmp147 ; #line 169 "regalloc.dats" tmp149 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__templst_of_tempset (tmp148) ; #line 169 "regalloc.dats" tmp146 = auxsel_24 (statmp29, tmp149) ; break ; /* branch: __ats_lab_29 */ #line 171 "regalloc.dats" __ats_lab_29_0: #line 171 "regalloc.dats" if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_30_0 ; } #line 171 "regalloc.dats" __ats_lab_29_1: #line 171 "regalloc.dats" tmp150 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_0) ; #line 171 "regalloc.dats" tmp151 = ats_caselptr_mac(anairiats_sum_2, arg0, atslab_1) ; #line 172 "regalloc.dats" tmp145 = tmp151 ; #line 172 "regalloc.dats" tmp152 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_find (tmp150) ; #line 174 "regalloc.dats" tmp146 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp146, atslab_0, tmp152) ; break ; /* branch: __ats_lab_30 */ #line 176 "regalloc.dats" __ats_lab_30_0: #line 176 "regalloc.dats" // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } #line 176 "regalloc.dats" __ats_lab_30_1: #line 176 "regalloc.dats" tmp153 = ats_caselptr_mac(anairiats_sum_1, arg0, atslab_0) ; #line 176 "regalloc.dats" tmp154 = ats_caselptr_mac(anairiats_sum_1, arg0, atslab_1) ; #line 180 "regalloc.dats" tmp145 = tmp153 ; #line 181 "regalloc.dats" tmp155 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__templst_of_tempset (tmp154) ; #line 181 "regalloc.dats" tmp146 = auxsel_24 (statmp29, tmp155) ; break ; } while (0) ; #line 184 "regalloc.dats" do { /* branch: __ats_lab_31 */ #line 185 "regalloc.dats" __ats_lab_31_0: #line 185 "regalloc.dats" if (tmp146 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } #line 185 "regalloc.dats" __ats_lab_31_1: #line 185 "regalloc.dats" tmp156 = ats_caselptr_mac(anairiats_sum_5, tmp146, atslab_0) ; #line 185 "regalloc.dats" ATS_FREE(tmp146) ; #line 186 "regalloc.dats" /* tmp137 = */ regassgn_insert_12 (tmp145, tmp156) ; break ; /* branch: __ats_lab_32 */ #line 194 "regalloc.dats" __ats_lab_32_0: #line 194 "regalloc.dats" // if (tmp146 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 194 "regalloc.dats" __ats_lab_32_1: #line 195 "regalloc.dats" /* tmp137 = */ spillreglst_add_21 (tmp145) ; break ; } while (0) ; return /* (tmp137) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_select] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 5786(line=217, offs=17) -- 5857(line=218, offs=49) */ ATSstaticdec() ats_int_type __ats_fun_25 (ats_int64_type arg0, ats_int64_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp157) ; __ats_lab___ats_fun_25: #line 218 "regalloc.dats" tmp157 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__compare_temp_temp (arg0, arg1) ; return (tmp157) ; } /* end of [__ats_fun_25] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_25_closure_type ; ats_int_type __ats_fun_25_clofun (ats_clo_ptr_type cloptr, ats_int64_type arg0, ats_int64_type arg1) { return __ats_fun_25 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_25_closure_init (__ats_fun_25_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_25_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_25_closure_make () { __ats_fun_25_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_25_closure_type)) ; __ats_fun_25_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 6075(line=227, offs=7) -- 6320(line=232, offs=28) */ ATSstaticdec() ats_void_type emitlst_27 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab_emitlst_27: #line 228 "regalloc.dats" do { /* branch: __ats_lab_33 */ #line 229 "regalloc.dats" __ats_lab_33_0: #line 229 "regalloc.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } #line 229 "regalloc.dats" __ats_lab_33_1: #line 229 "regalloc.dats" tmp161 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 229 "regalloc.dats" tmp162 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_1) ; #line 229 "regalloc.dats" ATS_FREE(arg1) ; #line 230 "regalloc.dats" tmp163 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp163, atslab_0, tmp161) ; ats_selptrset_mac(anairiats_sum_3, tmp163, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; #line 230 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp163 ; #line 230 "regalloc.dats" arg0 = arg0 ; #line 230 "regalloc.dats" arg1 = tmp162 ; #line 230 "regalloc.dats" goto __ats_lab_emitlst_27 ; // tail call break ; /* branch: __ats_lab_34 */ #line 232 "regalloc.dats" __ats_lab_34_0: #line 232 "regalloc.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 232 "regalloc.dats" __ats_lab_34_1: break ; } while (0) ; return /* (tmp160) */ ; } /* end of [emitlst_27] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 3608(line=137, offs=28) -- 4264(line=156, offs=4) */ ATSstaticdec() ats_ptr_type bst_search_01559_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_int64_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab_bst_search_01559_ats_int64_type_2cats_ptr_type: #line 140 "linmap_randbst.dats" do { /* branch: __ats_lab_37 */ #line 141 "linmap_randbst.dats" __ats_lab_37_0: #line 141 "linmap_randbst.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } #line 141 "linmap_randbst.dats" __ats_lab_37_1: #line 141 "linmap_randbst.dats" tmp176 = ats_caselptr_mac(anairiats_sum_7, arg0, atslab_1) ; #line 141 "linmap_randbst.dats" tmp177 = &ats_caselptr_mac(anairiats_sum_7, arg0, atslab_2) ; #line 141 "linmap_randbst.dats" tmp178 = &ats_caselptr_mac(anairiats_sum_7, arg0, atslab_3) ; #line 141 "linmap_randbst.dats" tmp179 = &ats_caselptr_mac(anairiats_sum_7, arg0, atslab_4) ; #line 142 "linmap_randbst.dats" tmp180 = compare_key_key_02011_ats_int64_type (arg1, tmp176, arg2) ; #line 142 "linmap_randbst.dats" do { /* branch: __ats_lab_38 */ #line 143 "linmap_randbst.dats" __ats_lab_38_0: #line 143 "linmap_randbst.dats" if (tmp180 != -1) { goto __ats_lab_39_0 ; } #line 143 "linmap_randbst.dats" __ats_lab_38_1: #line 144 "linmap_randbst.dats" tmp181 = ats_ptrget_mac(ats_ptr_type, tmp178) ; #line 144 "linmap_randbst.dats" arg0 = tmp181 ; #line 144 "linmap_randbst.dats" arg1 = arg1 ; #line 144 "linmap_randbst.dats" arg2 = arg2 ; #line 144 "linmap_randbst.dats" goto __ats_lab_bst_search_01559_ats_int64_type_2cats_ptr_type ; // tail call break ; /* branch: __ats_lab_39 */ #line 146 "linmap_randbst.dats" __ats_lab_39_0: #line 146 "linmap_randbst.dats" if (tmp180 != 1) { goto __ats_lab_40_0 ; } #line 146 "linmap_randbst.dats" __ats_lab_39_1: #line 147 "linmap_randbst.dats" tmp182 = ats_ptrget_mac(ats_ptr_type, tmp179) ; #line 147 "linmap_randbst.dats" arg0 = tmp182 ; #line 147 "linmap_randbst.dats" arg1 = arg1 ; #line 147 "linmap_randbst.dats" arg2 = arg2 ; #line 147 "linmap_randbst.dats" goto __ats_lab_bst_search_01559_ats_int64_type_2cats_ptr_type ; // tail call break ; /* branch: __ats_lab_40 */ #line 149 "linmap_randbst.dats" __ats_lab_40_0: #line 149 "linmap_randbst.dats" __ats_lab_40_1: #line 150 "linmap_randbst.dats" tmp183 = ats_ptrget_mac(ats_ptr_type, tmp177) ; #line 150 "linmap_randbst.dats" tmp175 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp175, atslab_0, tmp183) ; break ; } while (0) ; break ; /* branch: __ats_lab_41 */ #line 153 "linmap_randbst.dats" __ats_lab_41_0: #line 153 "linmap_randbst.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 153 "linmap_randbst.dats" __ats_lab_41_1: #line 154 "linmap_randbst.dats" tmp175 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp175) ; } /* end of [bst_search_01559_ats_int64_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10737(line=356, offs=17) -- 10784(line=356, offs=64) */ ATSstaticdec() ats_ptr_type linmap_search_02018_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0, ats_int64_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; __ats_lab_linmap_search_02018_ats_int64_type_2cats_ptr_type: #line 356 "linmap_randbst.dats" tmp174 = bst_search_01559_ats_int64_type_2cats_ptr_type (arg0, arg1, arg2) ; return (tmp174) ; } /* end of [linmap_search_02018_ats_int64_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 6521(line=239, offs=13) -- 7334(line=256, offs=39) */ ATSstaticdec() ats_ptr_type auxsrc_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_int64_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_int64_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_int64_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; __ats_lab_auxsrc_28: #line 241 "regalloc.dats" do { /* branch: __ats_lab_36 */ #line 242 "regalloc.dats" __ats_lab_36_0: #line 242 "regalloc.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } #line 242 "regalloc.dats" __ats_lab_36_1: #line 242 "regalloc.dats" tmp170 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_0) ; #line 242 "regalloc.dats" tmp171 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_1) ; #line 243 "regalloc.dats" tmp172 = auxsrc_28 (arg0, tmp171, arg2) ; #line 244 "regalloc.dats" tmp173 = linmap_search_02018_ats_int64_type_2cats_ptr_type (arg0, tmp170, statmp158) ; #line 245 "regalloc.dats" do { /* branch: __ats_lab_42 */ #line 246 "regalloc.dats" __ats_lab_42_0: #line 246 "regalloc.dats" if (tmp173 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } #line 246 "regalloc.dats" __ats_lab_42_1: #line 246 "regalloc.dats" tmp185 = ats_caselptr_mac(anairiats_sum_8, tmp173, atslab_0) ; #line 246 "regalloc.dats" ATS_FREE(tmp173) ; #line 247 "regalloc.dats" tmp186 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 248 "regalloc.dats" tmp187 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__instr_make_mem_read (tmp185, tmp186) ; #line 249 "regalloc.dats" tmp188 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp188, atslab_0, tmp187) ; ats_selptrset_mac(anairiats_sum_3, tmp188, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; #line 249 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp188 ; #line 246 "regalloc.dats" tmp184 = tmp186 ; break ; /* branch: __ats_lab_43 */ #line 251 "regalloc.dats" __ats_lab_43_0: #line 251 "regalloc.dats" // if (tmp173 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 251 "regalloc.dats" __ats_lab_43_1: #line 251 "regalloc.dats" tmp184 = tmp170 ; break ; } while (0) ; #line 254 "regalloc.dats" tmp169 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp169, atslab_0, tmp184) ; ats_selptrset_mac(anairiats_sum_0, tmp169, atslab_1, tmp172) ; break ; /* branch: __ats_lab_44 */ #line 256 "regalloc.dats" __ats_lab_44_0: #line 256 "regalloc.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 256 "regalloc.dats" __ats_lab_44_1: #line 256 "regalloc.dats" tmp169 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp169) ; } /* end of [auxsrc_28] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 7477(line=260, offs=13) -- 8297(line=277, offs=39) */ ATSstaticdec() ats_ptr_type auxdst_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_int64_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_int64_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_int64_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; __ats_lab_auxdst_31: #line 262 "regalloc.dats" do { /* branch: __ats_lab_45 */ #line 263 "regalloc.dats" __ats_lab_45_0: #line 263 "regalloc.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } #line 263 "regalloc.dats" __ats_lab_45_1: #line 263 "regalloc.dats" tmp192 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_0) ; #line 263 "regalloc.dats" tmp193 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_1) ; #line 264 "regalloc.dats" tmp194 = auxdst_31 (arg0, tmp193, arg2) ; #line 265 "regalloc.dats" tmp195 = linmap_search_02018_ats_int64_type_2cats_ptr_type (arg0, tmp192, statmp158) ; #line 266 "regalloc.dats" do { /* branch: __ats_lab_46 */ #line 267 "regalloc.dats" __ats_lab_46_0: #line 267 "regalloc.dats" if (tmp195 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } #line 267 "regalloc.dats" __ats_lab_46_1: #line 267 "regalloc.dats" tmp197 = ats_caselptr_mac(anairiats_sum_8, tmp195, atslab_0) ; #line 267 "regalloc.dats" ATS_FREE(tmp195) ; #line 268 "regalloc.dats" tmp198 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 269 "regalloc.dats" tmp199 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__instr_make_mem_write (tmp197, tmp198) ; #line 270 "regalloc.dats" tmp200 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp200, atslab_0, tmp199) ; ats_selptrset_mac(anairiats_sum_3, tmp200, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; #line 270 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp200 ; #line 267 "regalloc.dats" tmp196 = tmp198 ; break ; /* branch: __ats_lab_47 */ #line 272 "regalloc.dats" __ats_lab_47_0: #line 272 "regalloc.dats" // if (tmp195 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 272 "regalloc.dats" __ats_lab_47_1: #line 272 "regalloc.dats" tmp196 = tmp192 ; break ; } while (0) ; #line 275 "regalloc.dats" tmp191 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp191, atslab_0, tmp196) ; ats_selptrset_mac(anairiats_sum_0, tmp191, atslab_1, tmp194) ; break ; /* branch: __ats_lab_48 */ #line 277 "regalloc.dats" __ats_lab_48_0: #line 277 "regalloc.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 277 "regalloc.dats" __ats_lab_48_1: #line 277 "regalloc.dats" tmp191 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp191) ; } /* end of [auxdst_31] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 5905(line=223, offs=4) -- 9943(line=320, offs=4) */ ATSstaticdec() ats_void_type instr_spill_rewrite_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_int64_type, tmp207) ; ATSlocal (ats_int64_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_int64_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_int64_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_int64_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_int64_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; __ats_lab_instr_spill_rewrite_26: #line 235 "regalloc.dats" do { /* branch: __ats_lab_35 */ #line 236 "regalloc.dats" __ats_lab_35_0: #line 236 "regalloc.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_49_0 ; } #line 236 "regalloc.dats" __ats_lab_35_1: #line 236 "regalloc.dats" tmp164 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_0) ; #line 236 "regalloc.dats" tmp165 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_1) ; #line 236 "regalloc.dats" tmp166 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_2) ; #line 236 "regalloc.dats" tmp167 = ats_caselptr_mac(anairiats_sum_6, arg1, atslab_3) ; #line 237 "regalloc.dats" /* ats_ptr_type tmp168 ; */ #line 237 "regalloc.dats" tmp168 = (ats_sum_ptr_type)0 ; #line 238 "regalloc.dats" tmp189 = auxsrc_28 (arg0, tmp165, (&tmp168)) ; #line 258 "regalloc.dats" /* ats_ptr_type tmp190 ; */ #line 258 "regalloc.dats" tmp190 = (ats_sum_ptr_type)0 ; #line 259 "regalloc.dats" tmp201 = auxdst_31 (arg0, tmp166, (&tmp190)) ; #line 279 "regalloc.dats" /* tmp202 = */ emitlst_27 (arg2, tmp168) ; #line 280 "regalloc.dats" tmp204 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp204)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp204, atslab_0, tmp164) ; ats_selptrset_mac(anairiats_sum_6, tmp204, atslab_1, tmp189) ; ats_selptrset_mac(anairiats_sum_6, tmp204, atslab_2, tmp201) ; ats_selptrset_mac(anairiats_sum_6, tmp204, atslab_3, tmp167) ; #line 280 "regalloc.dats" tmp203 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp203, atslab_0, tmp204) ; ats_selptrset_mac(anairiats_sum_3, tmp203, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; #line 280 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp203 ; #line 281 "regalloc.dats" /* tmp159 = */ emitlst_27 (arg2, tmp190) ; break ; /* branch: __ats_lab_49 */ #line 285 "regalloc.dats" __ats_lab_49_0: #line 285 "regalloc.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_50_0 ; } #line 285 "regalloc.dats" __ats_lab_49_1: #line 285 "regalloc.dats" tmp205 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp205, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp205, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; #line 285 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp205 ; break ; /* branch: __ats_lab_50 */ #line 286 "regalloc.dats" __ats_lab_50_0: #line 286 "regalloc.dats" // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } #line 286 "regalloc.dats" __ats_lab_50_1: #line 286 "regalloc.dats" tmp206 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_0) ; #line 286 "regalloc.dats" tmp207 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_1) ; #line 286 "regalloc.dats" tmp208 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_2) ; #line 287 "regalloc.dats" tmp209 = linmap_search_02018_ats_int64_type_2cats_ptr_type (arg0, tmp207, statmp158) ; #line 288 "regalloc.dats" /* ats_ptr_type tmp210 ; */ #line 289 "regalloc.dats" do { /* branch: __ats_lab_51 */ #line 290 "regalloc.dats" __ats_lab_51_0: #line 290 "regalloc.dats" if (tmp209 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } #line 290 "regalloc.dats" __ats_lab_51_1: #line 290 "regalloc.dats" tmp212 = ats_caselptr_mac(anairiats_sum_8, tmp209, atslab_0) ; #line 290 "regalloc.dats" ATS_FREE(tmp209) ; #line 291 "regalloc.dats" tmp213 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 292 "regalloc.dats" tmp214 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__instr_make_mem_read (tmp212, tmp213) ; #line 293 "regalloc.dats" tmp215 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp215, atslab_0, tmp214) ; #line 293 "regalloc.dats" tmp210 = tmp215 ; #line 290 "regalloc.dats" tmp211 = tmp213 ; break ; /* branch: __ats_lab_52 */ #line 295 "regalloc.dats" __ats_lab_52_0: #line 295 "regalloc.dats" // if (tmp209 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 295 "regalloc.dats" __ats_lab_52_1: #line 296 "regalloc.dats" tmp216 = (ats_sum_ptr_type)0 ; #line 296 "regalloc.dats" tmp210 = tmp216 ; #line 295 "regalloc.dats" tmp211 = tmp207 ; break ; } while (0) ; #line 299 "regalloc.dats" /* ats_ptr_type tmp217 ; */ #line 300 "regalloc.dats" tmp218 = linmap_search_02018_ats_int64_type_2cats_ptr_type (arg0, tmp208, statmp158) ; #line 301 "regalloc.dats" do { /* branch: __ats_lab_53 */ #line 302 "regalloc.dats" __ats_lab_53_0: #line 302 "regalloc.dats" if (tmp218 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } #line 302 "regalloc.dats" __ats_lab_53_1: #line 302 "regalloc.dats" tmp220 = ats_caselptr_mac(anairiats_sum_8, tmp218, atslab_0) ; #line 302 "regalloc.dats" ATS_FREE(tmp218) ; #line 303 "regalloc.dats" tmp221 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 304 "regalloc.dats" tmp222 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__instr_make_mem_write (tmp220, tmp221) ; #line 305 "regalloc.dats" tmp223 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp223, atslab_0, tmp222) ; #line 305 "regalloc.dats" tmp217 = tmp223 ; #line 302 "regalloc.dats" tmp219 = tmp221 ; break ; /* branch: __ats_lab_54 */ #line 307 "regalloc.dats" __ats_lab_54_0: #line 307 "regalloc.dats" // if (tmp218 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 307 "regalloc.dats" __ats_lab_54_1: #line 308 "regalloc.dats" tmp224 = (ats_sum_ptr_type)0 ; #line 308 "regalloc.dats" tmp217 = tmp224 ; #line 307 "regalloc.dats" tmp219 = tmp208 ; break ; } while (0) ; #line 311 "regalloc.dats" do { /* branch: __ats_lab_55 */ #line 312 "regalloc.dats" __ats_lab_55_0: #line 312 "regalloc.dats" if (tmp210 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } #line 312 "regalloc.dats" __ats_lab_55_1: #line 312 "regalloc.dats" tmp226 = ats_caselptr_mac(anairiats_sum_8, tmp210, atslab_0) ; #line 312 "regalloc.dats" ATS_FREE(tmp210) ; #line 312 "regalloc.dats" tmp227 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp227, atslab_0, tmp226) ; ats_selptrset_mac(anairiats_sum_3, tmp227, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; #line 312 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp227 ; break ; /* branch: __ats_lab_56 */ #line 312 "regalloc.dats" __ats_lab_56_0: #line 312 "regalloc.dats" // if (tmp210 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 312 "regalloc.dats" __ats_lab_56_1: break ; } while (0) ; #line 314 "regalloc.dats" tmp229 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp229)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp229, atslab_0, tmp206) ; ats_selptrset_mac(anairiats_sum_9, tmp229, atslab_1, tmp211) ; ats_selptrset_mac(anairiats_sum_9, tmp229, atslab_2, tmp219) ; #line 314 "regalloc.dats" tmp228 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp228, atslab_0, tmp229) ; ats_selptrset_mac(anairiats_sum_3, tmp228, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; #line 314 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp228 ; #line 315 "regalloc.dats" do { /* branch: __ats_lab_57 */ #line 316 "regalloc.dats" __ats_lab_57_0: #line 316 "regalloc.dats" if (tmp217 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } #line 316 "regalloc.dats" __ats_lab_57_1: #line 316 "regalloc.dats" tmp230 = ats_caselptr_mac(anairiats_sum_8, tmp217, atslab_0) ; #line 316 "regalloc.dats" ATS_FREE(tmp217) ; #line 316 "regalloc.dats" tmp231 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp231, atslab_0, tmp230) ; ats_selptrset_mac(anairiats_sum_3, tmp231, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; #line 316 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp231 ; break ; /* branch: __ats_lab_58 */ #line 316 "regalloc.dats" __ats_lab_58_0: #line 316 "regalloc.dats" // if (tmp217 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 316 "regalloc.dats" __ats_lab_58_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp159) */ ; } /* end of [instr_spill_rewrite_26] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 9973(line=322, offs=5) -- 10298(line=332, offs=4) */ ATSstaticdec() ats_void_type instrlst_spill_rewrite_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; // ATSlocal_void (tmp235) ; __ats_lab_instrlst_spill_rewrite_32: #line 325 "regalloc.dats" do { /* branch: __ats_lab_59 */ #line 326 "regalloc.dats" __ats_lab_59_0: #line 326 "regalloc.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } #line 326 "regalloc.dats" __ats_lab_59_1: #line 326 "regalloc.dats" tmp233 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 326 "regalloc.dats" tmp234 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_1) ; #line 327 "regalloc.dats" /* tmp235 = */ instr_spill_rewrite_26 (arg0, tmp233, arg2) ; #line 329 "regalloc.dats" arg0 = arg0 ; #line 329 "regalloc.dats" arg1 = tmp234 ; #line 329 "regalloc.dats" arg2 = arg2 ; #line 329 "regalloc.dats" goto __ats_lab_instrlst_spill_rewrite_32 ; // tail call break ; /* branch: __ats_lab_60 */ #line 331 "regalloc.dats" __ats_lab_60_0: #line 331 "regalloc.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 331 "regalloc.dats" __ats_lab_60_1: break ; } while (0) ; return /* (tmp232) */ ; } /* end of [instrlst_spill_rewrite_32] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 2454(line=99, offs=20) -- 2570(line=100, offs=71) */ ATSstaticdec() ats_int_type bst_size_01542_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp269) ; ATSlocal (ats_int_type, tmp270) ; __ats_lab_bst_size_01542_ats_int64_type_2cats_ptr_type: #line 99 "linmap_randbst.dats" do { /* branch: __ats_lab_64 */ #line 100 "linmap_randbst.dats" __ats_lab_64_0: #line 100 "linmap_randbst.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } #line 100 "linmap_randbst.dats" __ats_lab_64_1: #line 100 "linmap_randbst.dats" tmp270 = ats_caselptr_mac(anairiats_sum_7, arg0, atslab_0) ; #line 100 "linmap_randbst.dats" tmp269 = tmp270 ; break ; /* branch: __ats_lab_65 */ #line 100 "linmap_randbst.dats" __ats_lab_65_0: #line 100 "linmap_randbst.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 100 "linmap_randbst.dats" __ats_lab_65_1: #line 100 "linmap_randbst.dats" tmp269 = 0 ; break ; } while (0) ; return (tmp269) ; } /* end of [bst_size_01542_ats_int64_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 5238(line=195, offs=35) -- 6864(line=238, offs=4) */ ATSstaticdec() ats_ptr_type bst_insert_atroot_01584_ats_int64_type_2cats_ptr_type (ats_ref_type arg0, ats_int64_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_int64_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_int_type, tmp259) ; ATSlocal (ats_bool_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_bool_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_int_type, tmp267) ; ATSlocal (ats_int_type, tmp268) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_int_type, tmp273) ; ATSlocal (ats_int_type, tmp274) ; ATSlocal (ats_bool_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_bool_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_int_type, tmp282) ; ATSlocal (ats_int_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_int_type, tmp286) ; ATSlocal (ats_int_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; __ats_lab_bst_insert_atroot_01584_ats_int64_type_2cats_ptr_type: #line 199 "linmap_randbst.dats" do { /* branch: __ats_lab_63 */ #line 200 "linmap_randbst.dats" __ats_lab_63_0: #line 200 "linmap_randbst.dats" if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } #line 200 "linmap_randbst.dats" __ats_lab_63_1: #line 201 "linmap_randbst.dats" tmp255 = &ats_caselptr_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; #line 201 "linmap_randbst.dats" tmp256 = ats_caselptr_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; #line 201 "linmap_randbst.dats" tmp257 = &ats_caselptr_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; #line 201 "linmap_randbst.dats" tmp258 = &ats_caselptr_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; #line 202 "linmap_randbst.dats" tmp259 = compare_key_key_02011_ats_int64_type (arg1, tmp256, arg3) ; #line 203 "linmap_randbst.dats" tmp260 = atspre_ilt (tmp259, 0) ; #line 203 "linmap_randbst.dats" if (tmp260) { #line 204 "linmap_randbst.dats" tmp261 = bst_insert_atroot_01584_ats_int64_type_2cats_ptr_type (tmp257, arg1, arg2, arg3, arg4) ; #line 206 "linmap_randbst.dats" tmp262 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 206 "linmap_randbst.dats" if (tmp262) { #line 207 "linmap_randbst.dats" tmp263 = ats_ptrget_mac(ats_ptr_type, tmp257) ; #line 208 "linmap_randbst.dats" // if (tmp263 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 208 "linmap_randbst.dats" tmp264 = &ats_caselptr_mac(anairiats_sum_7, tmp263, atslab_0) ; #line 208 "linmap_randbst.dats" tmp265 = &ats_caselptr_mac(anairiats_sum_7, tmp263, atslab_3) ; #line 208 "linmap_randbst.dats" tmp266 = &ats_caselptr_mac(anairiats_sum_7, tmp263, atslab_4) ; #line 209 "linmap_randbst.dats" tmp267 = ats_ptrget_mac(ats_int_type, tmp255) ; #line 209 "linmap_randbst.dats" tmp271 = ats_ptrget_mac(ats_ptr_type, tmp265) ; #line 209 "linmap_randbst.dats" tmp268 = bst_size_01542_ats_int64_type_2cats_ptr_type (tmp271) ; #line 211 "linmap_randbst.dats" tmp272 = ats_ptrget_mac(ats_ptr_type, tmp266) ; #line 211 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp257) = tmp272 ; #line 211 "linmap_randbst.dats" tmp273 = atspre_isub (tmp267, tmp268) ; #line 211 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp255) = tmp273 ; #line 212 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp266) = ats_ptrget_mac(ats_ptr_type, arg0) ; #line 212 "linmap_randbst.dats" tmp274 = atspre_iadd (tmp267, 1) ; #line 212 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp264) = tmp274 ; #line 213 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp263 ; #line 213 "linmap_randbst.dats" tmp254 = tmp261 ; } else { #line 215 "linmap_randbst.dats" tmp254 = tmp261 ; } /* end of [if] */ } else { #line 217 "linmap_randbst.dats" tmp275 = atspre_igt (tmp259, 0) ; #line 217 "linmap_randbst.dats" if (tmp275) { #line 218 "linmap_randbst.dats" tmp276 = bst_insert_atroot_01584_ats_int64_type_2cats_ptr_type (tmp258, arg1, arg2, arg3, arg4) ; #line 220 "linmap_randbst.dats" tmp277 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 220 "linmap_randbst.dats" if (tmp277) { #line 221 "linmap_randbst.dats" tmp278 = ats_ptrget_mac(ats_ptr_type, tmp258) ; #line 222 "linmap_randbst.dats" // if (tmp278 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 222 "linmap_randbst.dats" tmp279 = &ats_caselptr_mac(anairiats_sum_7, tmp278, atslab_0) ; #line 222 "linmap_randbst.dats" tmp280 = &ats_caselptr_mac(anairiats_sum_7, tmp278, atslab_3) ; #line 222 "linmap_randbst.dats" tmp281 = &ats_caselptr_mac(anairiats_sum_7, tmp278, atslab_4) ; #line 223 "linmap_randbst.dats" tmp282 = ats_ptrget_mac(ats_int_type, tmp255) ; #line 223 "linmap_randbst.dats" tmp284 = ats_ptrget_mac(ats_ptr_type, tmp281) ; #line 223 "linmap_randbst.dats" tmp283 = bst_size_01542_ats_int64_type_2cats_ptr_type (tmp284) ; #line 225 "linmap_randbst.dats" tmp285 = ats_ptrget_mac(ats_ptr_type, tmp280) ; #line 225 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp258) = tmp285 ; #line 225 "linmap_randbst.dats" tmp286 = atspre_isub (tmp282, tmp283) ; #line 225 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp255) = tmp286 ; #line 226 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, tmp280) = ats_ptrget_mac(ats_ptr_type, arg0) ; #line 226 "linmap_randbst.dats" tmp287 = atspre_iadd (tmp282, 1) ; #line 226 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp279) = tmp287 ; #line 227 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp278 ; #line 227 "linmap_randbst.dats" tmp254 = tmp276 ; } else { #line 229 "linmap_randbst.dats" tmp254 = tmp276 ; } /* end of [if] */ } else { #line 232 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 1 ; #line 232 "linmap_randbst.dats" tmp254 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp254, atslab_0, arg2) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_66 */ #line 235 "linmap_randbst.dats" __ats_lab_66_0: #line 235 "linmap_randbst.dats" // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 235 "linmap_randbst.dats" __ats_lab_66_1: #line 236 "linmap_randbst.dats" tmp289 = (ats_sum_ptr_type)0 ; #line 236 "linmap_randbst.dats" tmp290 = (ats_sum_ptr_type)0 ; #line 236 "linmap_randbst.dats" tmp288 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp288, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_7, tmp288, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp288, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp288, atslab_3, tmp289) ; ats_selptrset_mac(anairiats_sum_7, tmp288, atslab_4, tmp290) ; #line 236 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp288 ; #line 236 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 0 ; #line 236 "linmap_randbst.dats" tmp254 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp254) ; } /* end of [bst_insert_atroot_01584_ats_int64_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 6962(line=241, offs=35) -- 7987(line=264, offs=4) */ ATSstaticdec() ats_ptr_type bst_insert_random_01609_ats_int64_type_2cats_ptr_type (ats_ref_type arg0, ats_int64_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_int64_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_bool_type, tmp252) ; ATSlocal (ats_int_type, tmp253) ; ATSlocal (ats_int_type, tmp291) ; ATSlocal (ats_bool_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_bool_type, tmp294) ; ATSlocal (ats_int_type, tmp295) ; ATSlocal (ats_int_type, tmp296) ; ATSlocal (ats_bool_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_bool_type, tmp299) ; ATSlocal (ats_int_type, tmp300) ; ATSlocal (ats_int_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; __ats_lab_bst_insert_random_01609_ats_int64_type_2cats_ptr_type: #line 245 "linmap_randbst.dats" do { /* branch: __ats_lab_62 */ #line 246 "linmap_randbst.dats" __ats_lab_62_0: #line 246 "linmap_randbst.dats" if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } #line 246 "linmap_randbst.dats" __ats_lab_62_1: #line 246 "linmap_randbst.dats" tmp248 = &ats_caselptr_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; #line 246 "linmap_randbst.dats" tmp249 = ats_caselptr_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; #line 246 "linmap_randbst.dats" tmp250 = &ats_caselptr_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; #line 246 "linmap_randbst.dats" tmp251 = &ats_caselptr_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; #line 247 "linmap_randbst.dats" tmp253 = ats_ptrget_mac(ats_int_type, tmp248) ; #line 247 "linmap_randbst.dats" tmp252 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__dice (1, tmp253, arg5) ; #line 247 "linmap_randbst.dats" if (tmp252) { #line 248 "linmap_randbst.dats" tmp247 = bst_insert_atroot_01584_ats_int64_type_2cats_ptr_type (arg0, arg1, arg2, arg3, arg4) ; } else { #line 250 "linmap_randbst.dats" tmp291 = compare_key_key_02011_ats_int64_type (arg1, tmp249, arg3) ; #line 251 "linmap_randbst.dats" tmp292 = atspre_ilt (tmp291, 0) ; #line 251 "linmap_randbst.dats" if (tmp292) { #line 252 "linmap_randbst.dats" tmp293 = bst_insert_random_01609_ats_int64_type_2cats_ptr_type (tmp250, arg1, arg2, arg3, arg4, arg5) ; #line 253 "linmap_randbst.dats" tmp294 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 253 "linmap_randbst.dats" if (tmp294) { #line 253 "linmap_randbst.dats" tmp296 = ats_ptrget_mac(ats_int_type, tmp248) ; #line 253 "linmap_randbst.dats" tmp295 = atspre_iadd (tmp296, 1) ; #line 253 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp248) = tmp295 ; #line 253 "linmap_randbst.dats" tmp247 = tmp293 ; } else { #line 253 "linmap_randbst.dats" tmp247 = tmp293 ; } /* end of [if] */ } else { #line 254 "linmap_randbst.dats" tmp297 = atspre_igt (tmp291, 0) ; #line 254 "linmap_randbst.dats" if (tmp297) { #line 255 "linmap_randbst.dats" tmp298 = bst_insert_random_01609_ats_int64_type_2cats_ptr_type (tmp251, arg1, arg2, arg3, arg4, arg5) ; #line 256 "linmap_randbst.dats" tmp299 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg4), 0) ; #line 256 "linmap_randbst.dats" if (tmp299) { #line 256 "linmap_randbst.dats" tmp301 = ats_ptrget_mac(ats_int_type, tmp248) ; #line 256 "linmap_randbst.dats" tmp300 = atspre_iadd (tmp301, 1) ; #line 256 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, tmp248) = tmp300 ; #line 256 "linmap_randbst.dats" tmp247 = tmp298 ; } else { #line 256 "linmap_randbst.dats" tmp247 = tmp298 ; } /* end of [if] */ } else { #line 258 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 1 ; #line 258 "linmap_randbst.dats" tmp247 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp247, atslab_0, arg2) ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_67 */ #line 261 "linmap_randbst.dats" __ats_lab_67_0: #line 261 "linmap_randbst.dats" // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 261 "linmap_randbst.dats" __ats_lab_67_1: #line 262 "linmap_randbst.dats" tmp303 = (ats_sum_ptr_type)0 ; #line 262 "linmap_randbst.dats" tmp304 = (ats_sum_ptr_type)0 ; #line 262 "linmap_randbst.dats" tmp302 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp302, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_7, tmp302, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp302, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp302, atslab_3, tmp303) ; ats_selptrset_mac(anairiats_sum_7, tmp302, atslab_4, tmp304) ; #line 262 "linmap_randbst.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp302 ; #line 262 "linmap_randbst.dats" ats_ptrget_mac(ats_int_type, arg4) = 0 ; #line 262 "linmap_randbst.dats" tmp247 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp247) ; } /* end of [bst_insert_random_01609_ats_int64_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10868(line=362, offs=17) -- 11059(line=367, offs=4) */ ATSstaticdec() ats_ptr_type linmap_insert_02019_ats_int64_type_2cats_ptr_type (ats_ref_type arg0, ats_int64_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_int_type, tmp244) ; ATSlocal (ats_drand48_data_type, tmp245) ; ATSlocal (ats_int_type, tmp246) ; __ats_lab_linmap_insert_02019_ats_int64_type_2cats_ptr_type: #line 363 "linmap_randbst.dats" /* ats_int_type tmp244 ; */ #line 364 "linmap_randbst.dats" /* ats_drand48_data_type tmp245 ; */ #line 365 "linmap_randbst.dats" tmp246 = atslib_srand48_r (0L, (&tmp245)) ; #line 366 "linmap_randbst.dats" tmp243 = bst_insert_random_01609_ats_int64_type_2cats_ptr_type (arg0, arg1, arg2, arg3, (&tmp244), (&tmp245)) ; return (tmp243) ; } /* end of [linmap_insert_02019_ats_int64_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 10537(line=339, offs=9) -- 10970(line=349, offs=26) */ ATSstaticdec() ats_void_type loop_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp238) ; ATSlocal (ats_int64_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; __ats_lab_loop_34: #line 341 "regalloc.dats" do { /* branch: __ats_lab_61 */ #line 342 "regalloc.dats" __ats_lab_61_0: #line 342 "regalloc.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } #line 342 "regalloc.dats" __ats_lab_61_1: #line 342 "regalloc.dats" tmp239 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_0) ; #line 342 "regalloc.dats" tmp240 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_1) ; #line 343 "regalloc.dats" tmp241 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__frame_alloc_local (arg0, ats_true_bool) ; #line 344 "regalloc.dats" tmp242 = linmap_insert_02019_ats_int64_type_2cats_ptr_type (arg2, tmp239, tmp241, statmp158) ; #line 345 "regalloc.dats" do { /* branch: __ats_lab_68 */ #line 345 "regalloc.dats" __ats_lab_68_0: #line 345 "regalloc.dats" if (tmp242 == (ats_sum_ptr_type)0) { goto __ats_lab_69_0 ; } #line 345 "regalloc.dats" __ats_lab_68_1: #line 345 "regalloc.dats" ATS_FREE(tmp242) ; break ; /* branch: __ats_lab_69 */ #line 345 "regalloc.dats" __ats_lab_69_0: #line 345 "regalloc.dats" // if (tmp242 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 345 "regalloc.dats" __ats_lab_69_1: break ; } while (0) ; #line 347 "regalloc.dats" arg0 = arg0 ; #line 347 "regalloc.dats" arg1 = tmp240 ; #line 347 "regalloc.dats" arg2 = arg2 ; #line 347 "regalloc.dats" goto __ats_lab_loop_34 ; // tail call break ; /* branch: __ats_lab_70 */ #line 349 "regalloc.dats" __ats_lab_70_0: #line 349 "regalloc.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 349 "regalloc.dats" __ats_lab_70_1: break ; } while (0) ; return /* (tmp238) */ ; } /* end of [loop_34] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list_vt.dats: 6886(line=238, offs=7) -- 7171(line=247, offs=28) */ ATSstaticdec() ats_ptr_type revapp_41 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; __ats_lab_revapp_41: #line 241 "list_vt.dats" do { /* branch: __ats_lab_71 */ #line 242 "list_vt.dats" __ats_lab_71_0: #line 242 "list_vt.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } #line 242 "list_vt.dats" __ats_lab_71_1: #line 242 "list_vt.dats" tmp313 = &ats_caselptr_mac(anairiats_sum_3, arg0, atslab_1) ; #line 243 "list_vt.dats" tmp314 = ats_ptrget_mac(ats_ptr_type, tmp313) ; #line 245 "list_vt.dats" ats_ptrget_mac(ats_ptr_type, tmp313) = arg1 ; #line 245 "list_vt.dats" tmp315 = arg0 ; #line 245 "list_vt.dats" arg0 = tmp314 ; #line 245 "list_vt.dats" arg1 = tmp315 ; #line 245 "list_vt.dats" goto __ats_lab_revapp_41 ; // tail call break ; /* branch: __ats_lab_72 */ #line 247 "list_vt.dats" __ats_lab_72_0: #line 247 "list_vt.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 247 "list_vt.dats" __ats_lab_72_1: #line 247 "list_vt.dats" tmp312 = arg1 ; break ; } while (0) ; return (tmp312) ; } /* end of [revapp_41] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list_vt.dats: 6865(line=237, offs=24) -- 7217(line=251, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01561_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp311) ; __ats_lab_list_vt_reverse_append_01561_ats_ptr_type: #line 250 "list_vt.dats" tmp311 = revapp_41 (arg0, arg1) ; return (tmp311) ; } /* end of [list_vt_reverse_append_01561_ats_ptr_type] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list_vt.dats: 6747(line=232, offs=17) -- 6799(line=233, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01560_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp316) ; __ats_lab_list_vt_reverse_01560_ats_ptr_type: #line 233 "list_vt.dats" tmp316 = (ats_sum_ptr_type)0 ; #line 233 "list_vt.dats" tmp310 = list_vt_reverse_append_01561_ats_ptr_type (arg0, tmp316) ; return (tmp310) ; } /* end of [list_vt_reverse_01560_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 3385(line=128, offs=26) -- 3512(line=131, offs=21) */ ATSstaticdec() ats_void_type bst_free_01555_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; // ATSlocal_void (tmp322) ; __ats_lab_bst_free_01555_ats_int64_type_2cats_ptr_type: #line 129 "linmap_randbst.dats" do { /* branch: __ats_lab_73 */ #line 130 "linmap_randbst.dats" __ats_lab_73_0: #line 130 "linmap_randbst.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } #line 130 "linmap_randbst.dats" __ats_lab_73_1: #line 130 "linmap_randbst.dats" tmp320 = ats_caselptr_mac(anairiats_sum_7, arg0, atslab_3) ; #line 130 "linmap_randbst.dats" tmp321 = ats_caselptr_mac(anairiats_sum_7, arg0, atslab_4) ; #line 130 "linmap_randbst.dats" ATS_FREE(arg0) ; #line 130 "linmap_randbst.dats" /* tmp322 = */ bst_free_01555_ats_int64_type_2cats_ptr_type (tmp320) ; #line 130 "linmap_randbst.dats" arg0 = tmp321 ; #line 130 "linmap_randbst.dats" goto __ats_lab_bst_free_01555_ats_int64_type_2cats_ptr_type ; // tail call break ; /* branch: __ats_lab_74 */ #line 131 "linmap_randbst.dats" __ats_lab_74_0: #line 131 "linmap_randbst.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 131 "linmap_randbst.dats" __ats_lab_74_1: break ; } while (0) ; return /* (tmp319) */ ; } /* end of [bst_free_01555_ats_int64_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/LIB/linmap_randbst.dats: 10652(line=351, offs=32) -- 10678(line=351, offs=58) */ ATSstaticdec() ats_void_type linmap_free_02017_ats_int64_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp318) ; __ats_lab_linmap_free_02017_ats_int64_type_2cats_ptr_type: #line 351 "linmap_randbst.dats" /* tmp318 = */ bst_free_01555_ats_int64_type_2cats_ptr_type (arg0) ; return /* (tmp318) */ ; } /* end of [linmap_free_02017_ats_int64_type_2cats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 10331(line=334, offs=5) -- 11236(line=359, offs=4) */ ATSstaticdec() ats_ptr_type instrlst_spill_codegen_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; // ATSlocal_void (tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; // ATSlocal_void (tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; // ATSlocal_void (tmp317) ; __ats_lab_instrlst_spill_codegen_33: #line 337 "regalloc.dats" /* ats_ptr_type tmp237 ; */ #line 337 "regalloc.dats" tmp237 = linmap_empty_02012_ () ; #line 338 "regalloc.dats" /* tmp306 = */ loop_34 (arg0, arg1, (&tmp237)) ; #line 352 "regalloc.dats" /* ats_ptr_type tmp307 ; */ #line 352 "regalloc.dats" tmp307 = (ats_sum_ptr_type)0 ; #line 353 "regalloc.dats" /* tmp308 = */ instrlst_spill_rewrite_32 (tmp237, arg2, (&tmp307)) ; #line 354 "regalloc.dats" tmp309 = list_vt_reverse_01560_ats_ptr_type (tmp307) ; #line 356 "regalloc.dats" /* tmp317 = */ linmap_free_02017_ats_int64_type_2cats_ptr_type (tmp237) ; #line 358 "regalloc.dats" tmp236 = ats_castfn_mac(ats_ptr_type, tmp309) ; return (tmp236) ; } /* end of [instrlst_spill_codegen_33] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 11409(line=368, offs=7) -- 12081(line=390, offs=6) */ ATSstaticdec() ats_void_type loop1_45 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_int64_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; // ATSlocal_void (tmp331) ; __ats_lab_loop1_45: #line 371 "regalloc.dats" tmp325 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_search_lowdeg (arg0) ; #line 372 "regalloc.dats" do { /* branch: __ats_lab_75 */ #line 373 "regalloc.dats" __ats_lab_75_0: #line 373 "regalloc.dats" if (tmp325 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } #line 373 "regalloc.dats" __ats_lab_75_1: #line 373 "regalloc.dats" tmp326 = ats_caselptr_mac(anairiats_sum_5, tmp325, atslab_0) ; #line 373 "regalloc.dats" ATS_FREE(tmp325) ; #line 381 "regalloc.dats" tmp327 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_nodeinfo_get (arg0, tmp326) ; #line 382 "regalloc.dats" tmp328 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__ignodeinfo_intset_get (tmp327) ; #line 383 "regalloc.dats" tmp329 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp329)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp329, atslab_0, tmp326) ; ats_selptrset_mac(anairiats_sum_1, tmp329, atslab_1, tmp328) ; #line 384 "regalloc.dats" tmp330 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp330, atslab_0, tmp329) ; ats_selptrset_mac(anairiats_sum_3, tmp330, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; #line 384 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg1) = tmp330 ; #line 385 "regalloc.dats" /* tmp331 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_node_remove (arg0, tmp326) ; #line 387 "regalloc.dats" arg0 = arg0 ; #line 387 "regalloc.dats" arg1 = arg1 ; #line 387 "regalloc.dats" goto __ats_lab_loop1_45 ; // tail call break ; /* branch: __ats_lab_76 */ #line 389 "regalloc.dats" __ats_lab_76_0: #line 389 "regalloc.dats" // if (tmp325 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 389 "regalloc.dats" __ats_lab_76_1: break ; } while (0) ; return /* (tmp324) */ ; } /* end of [loop1_45] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 12106(line=391, offs=7) -- 12811(line=414, offs=6) */ ATSstaticdec() ats_void_type loop2_46 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (anairiats_rec_10, tmp334) ; ATSlocal (ats_int64_type, tmp335) ; ATSlocal (ats_int64_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; // ATSlocal_void (tmp339) ; // ATSlocal_void (tmp340) ; __ats_lab_loop2_46: #line 394 "regalloc.dats" tmp333 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_search_coalesce (arg0) ; #line 395 "regalloc.dats" do { /* branch: __ats_lab_77 */ #line 396 "regalloc.dats" __ats_lab_77_0: #line 396 "regalloc.dats" if (tmp333 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } #line 396 "regalloc.dats" __ats_lab_77_1: #line 396 "regalloc.dats" tmp334 = ats_caselptr_mac(anairiats_sum_11, tmp333, atslab_0) ; #line 396 "regalloc.dats" ATS_FREE(tmp333) ; #line 397 "regalloc.dats" tmp335 = ats_select_mac(tmp334, atslab_0) ; #line 397 "regalloc.dats" tmp336 = ats_select_mac(tmp334, atslab_1) ; #line 407 "regalloc.dats" tmp337 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp337)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp337, atslab_0, tmp335) ; ats_selptrset_mac(anairiats_sum_2, tmp337, atslab_1, tmp336) ; #line 408 "regalloc.dats" tmp338 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp338, atslab_0, tmp337) ; ats_selptrset_mac(anairiats_sum_3, tmp338, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; #line 408 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg1) = tmp338 ; #line 409 "regalloc.dats" /* tmp339 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_node_coalesce (arg0, tmp335, tmp336) ; #line 411 "regalloc.dats" /* tmp340 = */ loop1_45 (arg0, arg1) ; #line 411 "regalloc.dats" arg0 = arg0 ; #line 411 "regalloc.dats" arg1 = arg1 ; #line 411 "regalloc.dats" goto __ats_lab_loop2_46 ; // tail call break ; /* branch: __ats_lab_78 */ #line 413 "regalloc.dats" __ats_lab_78_0: #line 413 "regalloc.dats" // if (tmp333 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 413 "regalloc.dats" __ats_lab_78_1: break ; } while (0) ; return /* (tmp332) */ ; } /* end of [loop2_46] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 12836(line=415, offs=7) -- 13401(line=436, offs=6) */ ATSstaticdec() ats_void_type loop3_47 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_int64_type, tmp343) ; // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; // ATSlocal_void (tmp346) ; __ats_lab_loop3_47: #line 418 "regalloc.dats" tmp342 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_search_freeze (arg0) ; #line 419 "regalloc.dats" do { /* branch: __ats_lab_79 */ #line 420 "regalloc.dats" __ats_lab_79_0: #line 420 "regalloc.dats" if (tmp342 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } #line 420 "regalloc.dats" __ats_lab_79_1: #line 420 "regalloc.dats" tmp343 = ats_caselptr_mac(anairiats_sum_5, tmp342, atslab_0) ; #line 420 "regalloc.dats" ATS_FREE(tmp342) ; #line 428 "regalloc.dats" /* tmp344 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_node_freeze (arg0, tmp343) ; #line 429 "regalloc.dats" /* tmp345 = */ loop1_45 (arg0, arg1) ; #line 430 "regalloc.dats" /* tmp346 = */ loop2_46 (arg0, arg1) ; #line 431 "regalloc.dats" arg0 = arg0 ; #line 431 "regalloc.dats" arg1 = arg1 ; #line 431 "regalloc.dats" goto __ats_lab_loop3_47 ; // tail call break ; /* branch: __ats_lab_80 */ #line 435 "regalloc.dats" __ats_lab_80_0: #line 435 "regalloc.dats" // if (tmp342 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 435 "regalloc.dats" __ats_lab_80_1: break ; } while (0) ; return /* (tmp341) */ ; } /* end of [loop3_47] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 13426(line=437, offs=7) -- 14225(line=463, offs=6) */ ATSstaticdec() ats_void_type loop4_48 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_int64_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; // ATSlocal_void (tmp354) ; // ATSlocal_void (tmp355) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; __ats_lab_loop4_48: #line 440 "regalloc.dats" tmp348 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_search_spill (arg0) ; #line 441 "regalloc.dats" do { /* branch: __ats_lab_81 */ #line 442 "regalloc.dats" __ats_lab_81_0: #line 442 "regalloc.dats" if (tmp348 == (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } #line 442 "regalloc.dats" __ats_lab_81_1: #line 442 "regalloc.dats" tmp349 = ats_caselptr_mac(anairiats_sum_5, tmp348, atslab_0) ; #line 442 "regalloc.dats" ATS_FREE(tmp348) ; #line 450 "regalloc.dats" tmp350 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_nodeinfo_get (arg0, tmp349) ; #line 451 "regalloc.dats" tmp351 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__ignodeinfo_intset_get (tmp350) ; #line 452 "regalloc.dats" tmp352 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp352)->tag = 2 ; ats_selptrset_mac(anairiats_sum_1, tmp352, atslab_0, tmp349) ; ats_selptrset_mac(anairiats_sum_1, tmp352, atslab_1, tmp351) ; #line 453 "regalloc.dats" tmp353 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp353, atslab_0, tmp352) ; ats_selptrset_mac(anairiats_sum_3, tmp353, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; #line 453 "regalloc.dats" ats_ptrget_mac(ats_ptr_type, arg1) = tmp353 ; #line 454 "regalloc.dats" /* tmp354 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_node_remove (arg0, tmp349) ; #line 455 "regalloc.dats" /* tmp355 = */ loop1_45 (arg0, arg1) ; #line 456 "regalloc.dats" /* tmp356 = */ loop2_46 (arg0, arg1) ; #line 457 "regalloc.dats" /* tmp357 = */ loop3_47 (arg0, arg1) ; #line 458 "regalloc.dats" arg0 = arg0 ; #line 458 "regalloc.dats" arg1 = arg1 ; #line 458 "regalloc.dats" goto __ats_lab_loop4_48 ; // tail call break ; /* branch: __ats_lab_82 */ #line 462 "regalloc.dats" __ats_lab_82_0: #line 462 "regalloc.dats" // if (tmp348 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 462 "regalloc.dats" __ats_lab_82_1: break ; } while (0) ; return /* (tmp347) */ ; } /* end of [loop4_48] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 14702(line=479, offs=9) -- 14921(line=484, offs=26) */ ATSstaticdec() ats_void_type loop5_49 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; // ATSlocal_void (tmp368) ; __ats_lab_loop5_49: #line 480 "regalloc.dats" do { /* branch: __ats_lab_83 */ #line 481 "regalloc.dats" __ats_lab_83_0: #line 481 "regalloc.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_84_0 ; } #line 481 "regalloc.dats" __ats_lab_83_1: #line 481 "regalloc.dats" tmp366 = ats_caselptr_mac(anairiats_sum_3, arg0, atslab_0) ; #line 481 "regalloc.dats" tmp367 = ats_caselptr_mac(anairiats_sum_3, arg0, atslab_1) ; #line 482 "regalloc.dats" /* tmp368 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_select (tmp366) ; #line 482 "regalloc.dats" arg0 = tmp367 ; #line 482 "regalloc.dats" goto __ats_lab_loop5_49 ; // tail call break ; /* branch: __ats_lab_84 */ #line 484 "regalloc.dats" __ats_lab_84_0: #line 484 "regalloc.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 484 "regalloc.dats" __ats_lab_84_1: break ; } while (0) ; return /* (tmp365) */ ; } /* end of [loop5_49] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 11392(line=367, offs=27) -- 14981(line=489, offs=4) */ ATSglobaldec() ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__igraph_regalloc (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp323) ; ATSlocal (ats_ptr_type, tmp358) ; // ATSlocal_void (tmp359) ; // ATSlocal_void (tmp360) ; // ATSlocal_void (tmp361) ; // ATSlocal_void (tmp362) ; // ATSlocal_void (tmp363) ; // ATSlocal_void (tmp364) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__igraph_regalloc: #line 464 "regalloc.dats" /* ats_ptr_type tmp358 ; */ #line 464 "regalloc.dats" tmp358 = (ats_sum_ptr_type)0 ; #line 465 "regalloc.dats" /* tmp359 = */ loop1_45 (arg0, (&tmp358)) ; #line 466 "regalloc.dats" /* tmp360 = */ loop2_46 (arg0, (&tmp358)) ; #line 467 "regalloc.dats" /* tmp361 = */ loop3_47 (arg0, (&tmp358)) ; #line 468 "regalloc.dats" /* tmp362 = */ loop4_48 (arg0, (&tmp358)) ; #line 476 "regalloc.dats" /* tmp363 = */ regassgn_clear_17 () ; #line 477 "regalloc.dats" /* tmp364 = */ spillreglst_clear_22 () ; #line 478 "regalloc.dats" /* tmp323 = */ loop5_49 (tmp358) ; return /* (tmp323) */ ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__igraph_regalloc] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 15109(line=495, offs=7) -- 15963(line=524, offs=6) */ ATSstaticdec() ats_ptr_type loop_51 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; // ATSlocal_void (tmp372) ; // ATSlocal_void (tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; __ats_lab_loop_51: #line 500 "regalloc.dats" tmp371 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__igraph_make_instrlst (arg1) ; #line 505 "regalloc.dats" /* tmp372 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__igraph_simplify0 (tmp371) ; #line 510 "regalloc.dats" /* tmp373 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__igraph_regalloc (tmp371) ; #line 515 "regalloc.dats" tmp374 = spillreglst_get_20 () ; #line 517 "regalloc.dats" do { /* branch: __ats_lab_85 */ #line 518 "regalloc.dats" __ats_lab_85_0: #line 518 "regalloc.dats" if (tmp374 == (ats_sum_ptr_type)0) { goto __ats_lab_86_0 ; } #line 518 "regalloc.dats" __ats_lab_85_1: #line 519 "regalloc.dats" tmp375 = instrlst_spill_codegen_33 (arg0, tmp374, arg1) ; #line 521 "regalloc.dats" arg0 = arg0 ; #line 521 "regalloc.dats" arg1 = tmp375 ; #line 521 "regalloc.dats" goto __ats_lab_loop_51 ; // tail call break ; /* branch: __ats_lab_86 */ #line 523 "regalloc.dats" __ats_lab_86_0: #line 523 "regalloc.dats" // if (tmp374 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 523 "regalloc.dats" __ats_lab_86_1: #line 523 "regalloc.dats" tmp370 = arg1 ; break ; } while (0) ; return (tmp370) ; } /* end of [loop_51] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 15062(line=494, offs=3) -- 15981(line=525, offs=2) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__instrlst_regalloc (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp369) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__instrlst_regalloc: #line 494 "regalloc.dats" tmp369 = loop_51 (arg0, arg1) ; return (tmp369) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__instrlst_regalloc] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 16060(line=529, offs=27) -- 16137(line=531, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regalloc_tmpfmt (ats_int64_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_int64_type, tmp377) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regalloc_tmpfmt: #line 530 "regalloc.dats" tmp377 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regassgn_find (arg0) ; #line 530 "regalloc.dats" tmp376 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__register_name_get (tmp377) ; return (tmp376) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regalloc_tmpfmt] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/regalloc.dats: 16193(line=533, offs=27) -- 16240(line=533, offs=74) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regalloc_insfmt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp378) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regalloc_insfmt: #line 533 "regalloc.dats" tmp378 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2assem_2esats__instr_format (&_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regalloc_tmpfmt, arg0) ; return (tmp378) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__regalloc_insfmt] */ /* static load function */ extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e6_2prelude_2DATS_2reference_2edats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2assem_2esats__staload (void) ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__staload () { static int _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__staload_flag = 0 ; if (_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__staload_flag) return ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__staload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2igraph_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2esats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2reference_2edats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2LIB_2linmap_randbst_2edats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2assem_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__dynload_flag ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__dynload () { _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__dynload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2regalloc_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e6_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ; ATS_2d0_2e2_2e6_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp29, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp31, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp32, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp34, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp38, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp39, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp158, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 88 "regalloc.dats" statmp29 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2tempset_2esats__tempset_make_templst (_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__theGeneralReglst) ; #line 103 "regalloc.dats" statmp31 = __ats_fun_4_closure_make () ; #line 108 "regalloc.dats" statmp32 = linmap_empty_02012_ () ; #line 108 "regalloc.dats" statmp34 = ref_make_elt_01024_ats_ptr_type (statmp32) ; #line 111 "regalloc.dats" statmp39 = (ats_sum_ptr_type)0 ; #line 111 "regalloc.dats" statmp38 = ref_make_elt_01024_ats_ptr_type (statmp39) ; #line 217 "regalloc.dats" statmp158 = __ats_fun_25_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [regalloc_dats.c] */