/* ** ** 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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; 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_5 ; typedef struct { ats_int64_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int64_type atslab_0 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int64_type atslab_1 ; ats_int64_type atslab_2 ; } 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__None) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e6_2prelude_2basics_sta_2esats__Some) ; 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, _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_2irtree_2esats__EQ) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__NEQ) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__GT) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__GE) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__LT) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__LE) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__PLUS) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__MINUS) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__MUL) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__DIV) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMmove) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMexp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMjump) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMcjump) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMseq) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMlabel) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__STMusedef) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPconst) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPname) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPtemp) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPbinop) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPmem) ; ATSextern_val(ats_sum_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__EXPcall) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_neg_int) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mul_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_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_tostringf) (ats_ptr_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_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_append) (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_fun(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new) () ; ATSextern_fun(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_name_get) (ats_ptr_type) ; ATSextern_val(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__RV) ; ATSextern_val(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__SP) ; ATSextern_val(ats_int_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__WORDSIZE) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_stm) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_additive) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__theFunargReglst) ; ATSextern_val(ats_ptr_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__theCallersavedReglst) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__procEntryExit1_entr) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__procEntryExit1_exit) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__procEntryExit2) (ats_ptr_type, ats_ref_type) ; ATSextern_val(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; ATSextern_val(ats_int64_type, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EDX) ; ATSextern_fun(ats_void_type, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, 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 emit_1 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxstm_2 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01381_ats_int64_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int64_type auxexp_3 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_int_type loop_8 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01478_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_9 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_ptr_type revapp_12 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01561_ats_int64_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01560_ats_int64_type (ats_ptr_type arg0) ; static ats_void_type loop_13 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static anairiats_rec_1 auxarglst_4 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type instrlst_add_stm_0 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_void_type instrlst_add_stmlst_14 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_ptr_type revapp_18 (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) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen_x86_32.dats: 1097(line=63, offs=6) -- 1176(line=64, offs=35) */ ATSstaticdec() ats_void_type emit_1 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_emit_1: #line 64 "codegen_x86_32.dats" tmp2 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp2, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_0, tmp2, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; #line 64 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp2 ; return /* (tmp1) */ ; } /* end of [emit_1] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen_x86_32.dats: 1259(line=68, offs=7) -- 8400(line=233, offs=6) */ ATSstaticdec() ats_void_type auxstm_2 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_int64_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_int64_type, tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_int_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_int64_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_int64_type, tmp69) ; ATSlocal (ats_int_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_int64_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_int64_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_int64_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_int64_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_int_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_int64_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_int64_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; __ats_lab_auxstm_2: #line 75 "codegen_x86_32.dats" do { /* branch: __ats_lab_0 */ #line 76 "codegen_x86_32.dats" __ats_lab_0_0: #line 76 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_1_0 ; } #line 76 "codegen_x86_32.dats" __ats_lab_0_1: #line 76 "codegen_x86_32.dats" tmp4 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 76 "codegen_x86_32.dats" tmp5 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_1) ; #line 77 "codegen_x86_32.dats" /* tmp6 = */ auxstm_2 (arg0, tmp4) ; #line 77 "codegen_x86_32.dats" arg0 = arg0 ; #line 77 "codegen_x86_32.dats" arg1 = tmp5 ; #line 77 "codegen_x86_32.dats" goto __ats_lab_auxstm_2 ; // tail call break ; /* branch: __ats_lab_1 */ #line 79 "codegen_x86_32.dats" __ats_lab_1_0: #line 79 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_4_0 ; } #line 79 "codegen_x86_32.dats" __ats_lab_1_1: #line 79 "codegen_x86_32.dats" tmp7 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 79 "codegen_x86_32.dats" tmp8 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_1) ; #line 79 "codegen_x86_32.dats" do { /* branch: __ats_lab_2 */ #line 80 "codegen_x86_32.dats" __ats_lab_2_0: #line 80 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp7)->tag != 1) { goto __ats_lab_3_0 ; } #line 80 "codegen_x86_32.dats" __ats_lab_2_1: #line 80 "codegen_x86_32.dats" tmp9 = ats_caselptr_mac(anairiats_sum_3, tmp7, atslab_0) ; #line 81 "codegen_x86_32.dats" tmp11 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_name_get (tmp9) ; #line 81 "codegen_x86_32.dats" tmp10 = atspre_string_append (ATSstrcst("jmp ."), tmp11) ; #line 82 "codegen_x86_32.dats" tmp12 = (ats_sum_ptr_type)0 ; #line 82 "codegen_x86_32.dats" tmp13 = (ats_sum_ptr_type)0 ; #line 82 "codegen_x86_32.dats" tmp15 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp15, atslab_0, tmp9) ; #line 82 "codegen_x86_32.dats" tmp16 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_0, tmp15), atslab_1) ; #line 82 "codegen_x86_32.dats" tmp17 = (ats_sum_ptr_type)0 ; #line 82 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp16) = tmp17 ; #line 82 "codegen_x86_32.dats" tmp14 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp14, atslab_0, tmp15) ; #line 84 "codegen_x86_32.dats" tmp18 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp18)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp18, atslab_0, tmp10) ; ats_selptrset_mac(anairiats_sum_5, tmp18, atslab_1, tmp12) ; ats_selptrset_mac(anairiats_sum_5, tmp18, atslab_2, tmp13) ; ats_selptrset_mac(anairiats_sum_5, tmp18, atslab_3, tmp14) ; #line 84 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp18) ; break ; /* branch: __ats_lab_3 */ #line 86 "codegen_x86_32.dats" __ats_lab_3_0: #line 86 "codegen_x86_32.dats" __ats_lab_3_1: #line 87 "codegen_x86_32.dats" tmp19 = auxexp_3 (arg0, tmp7) ; #line 89 "codegen_x86_32.dats" tmp20 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp20, atslab_0, tmp19) ; #line 89 "codegen_x86_32.dats" tmp21 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp20), atslab_1) ; #line 89 "codegen_x86_32.dats" tmp22 = (ats_sum_ptr_type)0 ; #line 89 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp21) = tmp22 ; #line 89 "codegen_x86_32.dats" tmp23 = (ats_sum_ptr_type)0 ; #line 89 "codegen_x86_32.dats" tmp24 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_0, tmp8) ; #line 91 "codegen_x86_32.dats" tmp25 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp25)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp25, atslab_0, ATSstrcst("jmp `s0")) ; ats_selptrset_mac(anairiats_sum_5, tmp25, atslab_1, tmp20) ; ats_selptrset_mac(anairiats_sum_5, tmp25, atslab_2, tmp23) ; ats_selptrset_mac(anairiats_sum_5, tmp25, atslab_3, tmp24) ; #line 91 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp25) ; break ; } while (0) ; break ; /* branch: __ats_lab_4 */ #line 94 "codegen_x86_32.dats" __ats_lab_4_0: #line 94 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_13_0 ; } #line 94 "codegen_x86_32.dats" __ats_lab_4_1: #line 94 "codegen_x86_32.dats" tmp26 = ats_caselptr_mac(anairiats_sum_7, arg1, atslab_0) ; #line 94 "codegen_x86_32.dats" tmp27 = ats_caselptr_mac(anairiats_sum_7, arg1, atslab_1) ; #line 94 "codegen_x86_32.dats" tmp28 = ats_caselptr_mac(anairiats_sum_7, arg1, atslab_2) ; #line 94 "codegen_x86_32.dats" tmp29 = ats_caselptr_mac(anairiats_sum_7, arg1, atslab_3) ; #line 94 "codegen_x86_32.dats" tmp30 = ats_caselptr_mac(anairiats_sum_7, arg1, atslab_4) ; #line 95 "codegen_x86_32.dats" do { /* branch: __ats_lab_5 */ #line 96 "codegen_x86_32.dats" __ats_lab_5_0: #line 96 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp26)->tag != 0) { goto __ats_lab_6_0 ; } #line 96 "codegen_x86_32.dats" __ats_lab_5_1: #line 96 "codegen_x86_32.dats" tmp31 = ATSstrcst("je") ; break ; /* branch: __ats_lab_6 */ #line 97 "codegen_x86_32.dats" __ats_lab_6_0: #line 97 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp26)->tag != 1) { goto __ats_lab_7_0 ; } #line 97 "codegen_x86_32.dats" __ats_lab_6_1: #line 97 "codegen_x86_32.dats" tmp31 = ATSstrcst("jne") ; break ; /* branch: __ats_lab_7 */ #line 98 "codegen_x86_32.dats" __ats_lab_7_0: #line 98 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp26)->tag != 2) { goto __ats_lab_8_0 ; } #line 98 "codegen_x86_32.dats" __ats_lab_7_1: #line 98 "codegen_x86_32.dats" tmp31 = ATSstrcst("jg") ; break ; /* branch: __ats_lab_8 */ #line 99 "codegen_x86_32.dats" __ats_lab_8_0: #line 99 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp26)->tag != 3) { goto __ats_lab_9_0 ; } #line 99 "codegen_x86_32.dats" __ats_lab_8_1: #line 99 "codegen_x86_32.dats" tmp31 = ATSstrcst("jge") ; break ; /* branch: __ats_lab_9 */ #line 100 "codegen_x86_32.dats" __ats_lab_9_0: #line 100 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp26)->tag != 4) { goto __ats_lab_10_0 ; } #line 100 "codegen_x86_32.dats" __ats_lab_9_1: #line 100 "codegen_x86_32.dats" tmp31 = ATSstrcst("jl") ; break ; /* branch: __ats_lab_10 */ #line 101 "codegen_x86_32.dats" __ats_lab_10_0: #line 101 "codegen_x86_32.dats" // if (((ats_sum_ptr_type)tmp26)->tag != 5) { ats_deadcode_failure_handle () ; } #line 101 "codegen_x86_32.dats" __ats_lab_10_1: #line 101 "codegen_x86_32.dats" tmp31 = ATSstrcst("jle") ; break ; } while (0) ; #line 103 "codegen_x86_32.dats" tmp32 = auxexp_3 (arg0, tmp27) ; #line 104 "codegen_x86_32.dats" do { /* branch: __ats_lab_11 */ #line 105 "codegen_x86_32.dats" __ats_lab_11_0: #line 105 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp28)->tag != 0) { goto __ats_lab_12_0 ; } #line 105 "codegen_x86_32.dats" __ats_lab_11_1: #line 105 "codegen_x86_32.dats" tmp34 = ats_caselptr_mac(anairiats_sum_8, tmp28, atslab_0) ; #line 107 "codegen_x86_32.dats" tmp35 = atspre_tostringf (ATSstrcst("cmpl $%i, `s0"), tmp34) ; #line 108 "codegen_x86_32.dats" tmp36 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp36, atslab_0, tmp32) ; #line 108 "codegen_x86_32.dats" tmp37 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp36), atslab_1) ; #line 108 "codegen_x86_32.dats" tmp38 = (ats_sum_ptr_type)0 ; #line 108 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp37) = tmp38 ; #line 108 "codegen_x86_32.dats" tmp39 = (ats_sum_ptr_type)0 ; #line 108 "codegen_x86_32.dats" tmp40 = (ats_sum_ptr_type)0 ; #line 106 "codegen_x86_32.dats" tmp41 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp41)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp41, atslab_0, ats_castfn_mac(ats_ptr_type, tmp35)) ; ats_selptrset_mac(anairiats_sum_5, tmp41, atslab_1, tmp36) ; ats_selptrset_mac(anairiats_sum_5, tmp41, atslab_2, tmp39) ; ats_selptrset_mac(anairiats_sum_5, tmp41, atslab_3, tmp40) ; #line 105 "codegen_x86_32.dats" /* tmp33 = */ emit_1 (arg0, tmp41) ; break ; /* branch: __ats_lab_12 */ #line 110 "codegen_x86_32.dats" __ats_lab_12_0: #line 110 "codegen_x86_32.dats" __ats_lab_12_1: #line 111 "codegen_x86_32.dats" tmp42 = auxexp_3 (arg0, tmp28) ; #line 114 "codegen_x86_32.dats" tmp43 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp43, atslab_0, tmp32) ; #line 114 "codegen_x86_32.dats" tmp44 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp43), atslab_1) ; #line 114 "codegen_x86_32.dats" tmp45 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp45, atslab_0, tmp42) ; #line 114 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp44) = tmp45 ; #line 114 "codegen_x86_32.dats" tmp44 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp45), atslab_1) ; #line 114 "codegen_x86_32.dats" tmp45 = (ats_sum_ptr_type)0 ; #line 114 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp44) = tmp45 ; #line 114 "codegen_x86_32.dats" tmp46 = (ats_sum_ptr_type)0 ; #line 114 "codegen_x86_32.dats" tmp47 = (ats_sum_ptr_type)0 ; #line 112 "codegen_x86_32.dats" tmp48 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp48)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp48, atslab_0, ATSstrcst("cmpl `s1, `s0")) ; ats_selptrset_mac(anairiats_sum_5, tmp48, atslab_1, tmp43) ; ats_selptrset_mac(anairiats_sum_5, tmp48, atslab_2, tmp46) ; ats_selptrset_mac(anairiats_sum_5, tmp48, atslab_3, tmp47) ; #line 111 "codegen_x86_32.dats" /* tmp33 = */ emit_1 (arg0, tmp48) ; break ; } while (0) ; #line 120 "codegen_x86_32.dats" tmp49 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_name_get (tmp29) ; #line 121 "codegen_x86_32.dats" tmp50 = atspre_tostringf (ATSstrcst("%s .%s"), tmp31, tmp49) ; #line 122 "codegen_x86_32.dats" tmp51 = (ats_sum_ptr_type)0 ; #line 122 "codegen_x86_32.dats" tmp52 = (ats_sum_ptr_type)0 ; #line 122 "codegen_x86_32.dats" tmp54 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp54, atslab_0, tmp29) ; #line 122 "codegen_x86_32.dats" tmp55 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_0, tmp54), atslab_1) ; #line 122 "codegen_x86_32.dats" tmp56 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp56, atslab_0, tmp30) ; #line 122 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp55) = tmp56 ; #line 122 "codegen_x86_32.dats" tmp55 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_0, tmp56), atslab_1) ; #line 122 "codegen_x86_32.dats" tmp56 = (ats_sum_ptr_type)0 ; #line 122 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp55) = tmp56 ; #line 122 "codegen_x86_32.dats" tmp53 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp53, atslab_0, tmp54) ; #line 119 "codegen_x86_32.dats" tmp57 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp57)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp57, atslab_0, ats_castfn_mac(ats_ptr_type, tmp50)) ; ats_selptrset_mac(anairiats_sum_5, tmp57, atslab_1, tmp51) ; ats_selptrset_mac(anairiats_sum_5, tmp57, atslab_2, tmp52) ; ats_selptrset_mac(anairiats_sum_5, tmp57, atslab_3, tmp53) ; #line 118 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp57) ; break ; /* branch: __ats_lab_13 */ #line 125 "codegen_x86_32.dats" __ats_lab_13_0: #line 125 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_24_0 ; } #line 125 "codegen_x86_32.dats" tmp58 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 125 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp58)->tag != 4) { goto __ats_lab_24_0 ; } #line 125 "codegen_x86_32.dats" __ats_lab_13_1: #line 125 "codegen_x86_32.dats" tmp59 = ats_caselptr_mac(anairiats_sum_3, tmp58, atslab_0) ; #line 125 "codegen_x86_32.dats" tmp60 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_1) ; #line 125 "codegen_x86_32.dats" do { /* branch: __ats_lab_14 */ #line 126 "codegen_x86_32.dats" __ats_lab_14_0: #line 126 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp59)->tag != 3) { goto __ats_lab_20_0 ; } #line 126 "codegen_x86_32.dats" tmp61 = ats_caselptr_mac(anairiats_sum_9, tmp59, atslab_2) ; #line 126 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp61)->tag != 0) { goto __ats_lab_20_0 ; } #line 126 "codegen_x86_32.dats" __ats_lab_14_1: #line 126 "codegen_x86_32.dats" tmp62 = ats_caselptr_mac(anairiats_sum_9, tmp59, atslab_0) ; #line 126 "codegen_x86_32.dats" tmp63 = ats_caselptr_mac(anairiats_sum_9, tmp59, atslab_1) ; #line 126 "codegen_x86_32.dats" tmp64 = ats_caselptr_mac(anairiats_sum_8, tmp61, atslab_0) ; #line 127 "codegen_x86_32.dats" tmp65 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_additive (tmp62) ; #line 127 "codegen_x86_32.dats" if (!tmp65) { goto __ats_lab_20_1 ; } #line 128 "codegen_x86_32.dats" /* ats_int_type tmp66 ; */ #line 128 "codegen_x86_32.dats" tmp66 = tmp64 ; #line 129 "codegen_x86_32.dats" do { /* branch: __ats_lab_15 */ #line 130 "codegen_x86_32.dats" __ats_lab_15_0: #line 130 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp62)->tag != 0) { goto __ats_lab_16_0 ; } #line 130 "codegen_x86_32.dats" __ats_lab_15_1: break ; /* branch: __ats_lab_16 */ #line 130 "codegen_x86_32.dats" __ats_lab_16_0: #line 130 "codegen_x86_32.dats" __ats_lab_16_1: #line 130 "codegen_x86_32.dats" tmp68 = atspre_neg_int (tmp66) ; #line 130 "codegen_x86_32.dats" tmp66 = tmp68 ; break ; } while (0) ; #line 132 "codegen_x86_32.dats" tmp69 = auxexp_3 (arg0, tmp63) ; #line 133 "codegen_x86_32.dats" do { /* branch: __ats_lab_17 */ #line 134 "codegen_x86_32.dats" __ats_lab_17_0: #line 134 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp60)->tag != 0) { goto __ats_lab_18_0 ; } #line 134 "codegen_x86_32.dats" __ats_lab_17_1: #line 134 "codegen_x86_32.dats" tmp70 = ats_caselptr_mac(anairiats_sum_8, tmp60, atslab_0) ; #line 137 "codegen_x86_32.dats" tmp71 = atspre_tostringf (ATSstrcst("movl $%i, %i(`s0)"), tmp70, tmp66) ; #line 138 "codegen_x86_32.dats" tmp72 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp72, atslab_0, tmp69) ; #line 138 "codegen_x86_32.dats" tmp73 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp72), atslab_1) ; #line 138 "codegen_x86_32.dats" tmp74 = (ats_sum_ptr_type)0 ; #line 138 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp73) = tmp74 ; #line 138 "codegen_x86_32.dats" tmp75 = (ats_sum_ptr_type)0 ; #line 138 "codegen_x86_32.dats" tmp76 = (ats_sum_ptr_type)0 ; #line 136 "codegen_x86_32.dats" tmp77 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp77)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp77, atslab_0, ats_castfn_mac(ats_ptr_type, tmp71)) ; ats_selptrset_mac(anairiats_sum_5, tmp77, atslab_1, tmp72) ; ats_selptrset_mac(anairiats_sum_5, tmp77, atslab_2, tmp75) ; ats_selptrset_mac(anairiats_sum_5, tmp77, atslab_3, tmp76) ; #line 135 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp77) ; break ; /* branch: __ats_lab_18 */ #line 141 "codegen_x86_32.dats" __ats_lab_18_0: #line 141 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp60)->tag != 1) { goto __ats_lab_19_0 ; } #line 141 "codegen_x86_32.dats" __ats_lab_18_1: #line 141 "codegen_x86_32.dats" tmp78 = ats_caselptr_mac(anairiats_sum_3, tmp60, atslab_0) ; #line 144 "codegen_x86_32.dats" tmp79 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_name_get (tmp78) ; #line 145 "codegen_x86_32.dats" tmp80 = atspre_tostringf (ATSstrcst("movl $.%s, %i(`s0)"), tmp79, tmp66) ; #line 146 "codegen_x86_32.dats" tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp69) ; #line 146 "codegen_x86_32.dats" tmp82 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp81), atslab_1) ; #line 146 "codegen_x86_32.dats" tmp83 = (ats_sum_ptr_type)0 ; #line 146 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp82) = tmp83 ; #line 146 "codegen_x86_32.dats" tmp84 = (ats_sum_ptr_type)0 ; #line 146 "codegen_x86_32.dats" tmp85 = (ats_sum_ptr_type)0 ; #line 143 "codegen_x86_32.dats" tmp86 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp86)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp86, atslab_0, ats_castfn_mac(ats_ptr_type, tmp80)) ; ats_selptrset_mac(anairiats_sum_5, tmp86, atslab_1, tmp81) ; ats_selptrset_mac(anairiats_sum_5, tmp86, atslab_2, tmp84) ; ats_selptrset_mac(anairiats_sum_5, tmp86, atslab_3, tmp85) ; #line 142 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp86) ; break ; /* branch: __ats_lab_19 */ #line 149 "codegen_x86_32.dats" __ats_lab_19_0: #line 149 "codegen_x86_32.dats" __ats_lab_19_1: #line 150 "codegen_x86_32.dats" tmp87 = auxexp_3 (arg0, tmp60) ; #line 153 "codegen_x86_32.dats" tmp88 = atspre_tostringf (ATSstrcst("movl `s1, %i(`s0)"), tmp66) ; #line 154 "codegen_x86_32.dats" tmp89 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp89, atslab_0, tmp69) ; #line 154 "codegen_x86_32.dats" tmp90 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp89), atslab_1) ; #line 154 "codegen_x86_32.dats" tmp91 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp91, atslab_0, tmp87) ; #line 154 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp90) = tmp91 ; #line 154 "codegen_x86_32.dats" tmp90 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp91), atslab_1) ; #line 154 "codegen_x86_32.dats" tmp91 = (ats_sum_ptr_type)0 ; #line 154 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp90) = tmp91 ; #line 154 "codegen_x86_32.dats" tmp92 = (ats_sum_ptr_type)0 ; #line 154 "codegen_x86_32.dats" tmp93 = (ats_sum_ptr_type)0 ; #line 152 "codegen_x86_32.dats" tmp94 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp94)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp94, atslab_0, ats_castfn_mac(ats_ptr_type, tmp88)) ; ats_selptrset_mac(anairiats_sum_5, tmp94, atslab_1, tmp89) ; ats_selptrset_mac(anairiats_sum_5, tmp94, atslab_2, tmp92) ; ats_selptrset_mac(anairiats_sum_5, tmp94, atslab_3, tmp93) ; #line 151 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp94) ; break ; } while (0) ; break ; /* branch: __ats_lab_20 */ #line 159 "codegen_x86_32.dats" __ats_lab_20_0: #line 159 "codegen_x86_32.dats" __ats_lab_20_1: #line 160 "codegen_x86_32.dats" tmp95 = auxexp_3 (arg0, tmp59) ; #line 161 "codegen_x86_32.dats" do { /* branch: __ats_lab_21 */ #line 162 "codegen_x86_32.dats" __ats_lab_21_0: #line 162 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp60)->tag != 0) { goto __ats_lab_22_0 ; } #line 162 "codegen_x86_32.dats" __ats_lab_21_1: #line 162 "codegen_x86_32.dats" tmp96 = ats_caselptr_mac(anairiats_sum_8, tmp60, atslab_0) ; #line 165 "codegen_x86_32.dats" tmp97 = atspre_tostringf (ATSstrcst("movl $%i, 0(`s0)"), tmp96) ; #line 166 "codegen_x86_32.dats" tmp98 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp98, atslab_0, tmp95) ; #line 166 "codegen_x86_32.dats" tmp99 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp98), atslab_1) ; #line 166 "codegen_x86_32.dats" tmp100 = (ats_sum_ptr_type)0 ; #line 166 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp99) = tmp100 ; #line 166 "codegen_x86_32.dats" tmp101 = (ats_sum_ptr_type)0 ; #line 166 "codegen_x86_32.dats" tmp102 = (ats_sum_ptr_type)0 ; #line 164 "codegen_x86_32.dats" tmp103 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp103)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp103, atslab_0, ats_castfn_mac(ats_ptr_type, tmp97)) ; ats_selptrset_mac(anairiats_sum_5, tmp103, atslab_1, tmp98) ; ats_selptrset_mac(anairiats_sum_5, tmp103, atslab_2, tmp101) ; ats_selptrset_mac(anairiats_sum_5, tmp103, atslab_3, tmp102) ; #line 163 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp103) ; break ; /* branch: __ats_lab_22 */ #line 169 "codegen_x86_32.dats" __ats_lab_22_0: #line 169 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp60)->tag != 1) { goto __ats_lab_23_0 ; } #line 169 "codegen_x86_32.dats" __ats_lab_22_1: #line 169 "codegen_x86_32.dats" tmp104 = ats_caselptr_mac(anairiats_sum_3, tmp60, atslab_0) ; #line 172 "codegen_x86_32.dats" tmp105 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_name_get (tmp104) ; #line 173 "codegen_x86_32.dats" tmp106 = atspre_tostringf (ATSstrcst("movl $.%s, 0(`s0)"), tmp105) ; #line 174 "codegen_x86_32.dats" tmp107 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp107, atslab_0, tmp95) ; #line 174 "codegen_x86_32.dats" tmp108 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp107), atslab_1) ; #line 174 "codegen_x86_32.dats" tmp109 = (ats_sum_ptr_type)0 ; #line 174 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp108) = tmp109 ; #line 174 "codegen_x86_32.dats" tmp110 = (ats_sum_ptr_type)0 ; #line 174 "codegen_x86_32.dats" tmp111 = (ats_sum_ptr_type)0 ; #line 171 "codegen_x86_32.dats" tmp112 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp112)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp112, atslab_0, ats_castfn_mac(ats_ptr_type, tmp106)) ; ats_selptrset_mac(anairiats_sum_5, tmp112, atslab_1, tmp107) ; ats_selptrset_mac(anairiats_sum_5, tmp112, atslab_2, tmp110) ; ats_selptrset_mac(anairiats_sum_5, tmp112, atslab_3, tmp111) ; #line 170 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp112) ; break ; /* branch: __ats_lab_23 */ #line 177 "codegen_x86_32.dats" __ats_lab_23_0: #line 177 "codegen_x86_32.dats" __ats_lab_23_1: #line 178 "codegen_x86_32.dats" tmp113 = auxexp_3 (arg0, tmp60) ; #line 182 "codegen_x86_32.dats" tmp114 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp114, atslab_0, tmp95) ; #line 182 "codegen_x86_32.dats" tmp115 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp114), atslab_1) ; #line 182 "codegen_x86_32.dats" tmp116 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp116, atslab_0, tmp113) ; #line 182 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp115) = tmp116 ; #line 182 "codegen_x86_32.dats" tmp115 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp116), atslab_1) ; #line 182 "codegen_x86_32.dats" tmp116 = (ats_sum_ptr_type)0 ; #line 182 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp115) = tmp116 ; #line 182 "codegen_x86_32.dats" tmp117 = (ats_sum_ptr_type)0 ; #line 182 "codegen_x86_32.dats" tmp118 = (ats_sum_ptr_type)0 ; #line 180 "codegen_x86_32.dats" tmp119 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp119)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp119, atslab_0, ATSstrcst("movl `s1, 0(`s0)")) ; ats_selptrset_mac(anairiats_sum_5, tmp119, atslab_1, tmp114) ; ats_selptrset_mac(anairiats_sum_5, tmp119, atslab_2, tmp117) ; ats_selptrset_mac(anairiats_sum_5, tmp119, atslab_3, tmp118) ; #line 179 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp119) ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_24 */ #line 189 "codegen_x86_32.dats" __ats_lab_24_0: #line 189 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_28_0 ; } #line 189 "codegen_x86_32.dats" tmp120 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 189 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp120)->tag != 2) { goto __ats_lab_28_0 ; } #line 189 "codegen_x86_32.dats" __ats_lab_24_1: #line 189 "codegen_x86_32.dats" tmp121 = ats_caselptr_mac(anairiats_sum_10, tmp120, atslab_0) ; #line 189 "codegen_x86_32.dats" tmp122 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_1) ; #line 190 "codegen_x86_32.dats" do { /* branch: __ats_lab_25 */ #line 191 "codegen_x86_32.dats" __ats_lab_25_0: #line 191 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp122)->tag != 0) { goto __ats_lab_26_0 ; } #line 191 "codegen_x86_32.dats" __ats_lab_25_1: #line 191 "codegen_x86_32.dats" tmp123 = ats_caselptr_mac(anairiats_sum_8, tmp122, atslab_0) ; #line 194 "codegen_x86_32.dats" tmp124 = atspre_tostringf (ATSstrcst("movl $%i, `d0"), tmp123) ; #line 195 "codegen_x86_32.dats" tmp125 = (ats_sum_ptr_type)0 ; #line 195 "codegen_x86_32.dats" tmp126 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp126, atslab_0, tmp121) ; #line 195 "codegen_x86_32.dats" tmp127 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp126), atslab_1) ; #line 195 "codegen_x86_32.dats" tmp128 = (ats_sum_ptr_type)0 ; #line 195 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp127) = tmp128 ; #line 195 "codegen_x86_32.dats" tmp129 = (ats_sum_ptr_type)0 ; #line 193 "codegen_x86_32.dats" tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, ats_castfn_mac(ats_ptr_type, tmp124)) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp125) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_2, tmp126) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_3, tmp129) ; #line 192 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp130) ; break ; /* branch: __ats_lab_26 */ #line 198 "codegen_x86_32.dats" __ats_lab_26_0: #line 198 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp122)->tag != 1) { goto __ats_lab_27_0 ; } #line 198 "codegen_x86_32.dats" __ats_lab_26_1: #line 198 "codegen_x86_32.dats" tmp131 = ats_caselptr_mac(anairiats_sum_3, tmp122, atslab_0) ; #line 201 "codegen_x86_32.dats" tmp132 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_name_get (tmp131) ; #line 202 "codegen_x86_32.dats" tmp133 = atspre_tostringf (ATSstrcst("movl $.%s, `d0"), tmp132) ; #line 203 "codegen_x86_32.dats" tmp134 = (ats_sum_ptr_type)0 ; #line 203 "codegen_x86_32.dats" tmp135 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp135, atslab_0, tmp121) ; #line 203 "codegen_x86_32.dats" tmp136 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp135), atslab_1) ; #line 203 "codegen_x86_32.dats" tmp137 = (ats_sum_ptr_type)0 ; #line 203 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp136) = tmp137 ; #line 203 "codegen_x86_32.dats" tmp138 = (ats_sum_ptr_type)0 ; #line 200 "codegen_x86_32.dats" tmp139 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp139)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp139, atslab_0, ats_castfn_mac(ats_ptr_type, tmp133)) ; ats_selptrset_mac(anairiats_sum_5, tmp139, atslab_1, tmp134) ; ats_selptrset_mac(anairiats_sum_5, tmp139, atslab_2, tmp135) ; ats_selptrset_mac(anairiats_sum_5, tmp139, atslab_3, tmp138) ; #line 199 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp139) ; break ; /* branch: __ats_lab_27 */ #line 206 "codegen_x86_32.dats" __ats_lab_27_0: #line 206 "codegen_x86_32.dats" __ats_lab_27_1: #line 207 "codegen_x86_32.dats" tmp140 = auxexp_3 (arg0, tmp122) ; #line 208 "codegen_x86_32.dats" tmp141 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp141)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp141, atslab_0, ATSstrcst("movl `s0, `d0")) ; ats_selptrset_mac(anairiats_sum_11, tmp141, atslab_1, tmp140) ; ats_selptrset_mac(anairiats_sum_11, tmp141, atslab_2, tmp121) ; #line 207 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp141) ; break ; } while (0) ; break ; /* branch: __ats_lab_28 */ #line 214 "codegen_x86_32.dats" __ats_lab_28_0: #line 214 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_29_0 ; } #line 214 "codegen_x86_32.dats" __ats_lab_28_1: #line 214 "codegen_x86_32.dats" tmp142 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 215 "codegen_x86_32.dats" tmp143 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_name_get (tmp142) ; #line 216 "codegen_x86_32.dats" tmp144 = atspre_tostringf (ATSstrcst(".%s:"), tmp143) ; #line 217 "codegen_x86_32.dats" tmp145 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp145)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp145, atslab_0, ats_castfn_mac(ats_ptr_type, tmp144)) ; ats_selptrset_mac(anairiats_sum_2, tmp145, atslab_1, tmp142) ; #line 217 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp145) ; break ; /* branch: __ats_lab_29 */ #line 219 "codegen_x86_32.dats" __ats_lab_29_0: #line 219 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_30_0 ; } #line 219 "codegen_x86_32.dats" __ats_lab_29_1: #line 219 "codegen_x86_32.dats" tmp146 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 220 "codegen_x86_32.dats" tmp147 = auxexp_3 (arg0, tmp146) ; break ; /* branch: __ats_lab_30 */ #line 222 "codegen_x86_32.dats" __ats_lab_30_0: #line 222 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_31_0 ; } #line 222 "codegen_x86_32.dats" __ats_lab_30_1: #line 222 "codegen_x86_32.dats" tmp148 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 222 "codegen_x86_32.dats" tmp149 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_1) ; #line 225 "codegen_x86_32.dats" tmp150 = (ats_sum_ptr_type)0 ; #line 226 "codegen_x86_32.dats" tmp151 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp151)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp151, atslab_0, ATSstrcst("")) ; ats_selptrset_mac(anairiats_sum_5, tmp151, atslab_1, tmp148) ; ats_selptrset_mac(anairiats_sum_5, tmp151, atslab_2, tmp149) ; ats_selptrset_mac(anairiats_sum_5, tmp151, atslab_3, tmp150) ; #line 226 "codegen_x86_32.dats" /* tmp3 = */ emit_1 (arg0, tmp151) ; break ; /* branch: __ats_lab_31 */ #line 228 "codegen_x86_32.dats" __ats_lab_31_0: #line 228 "codegen_x86_32.dats" __ats_lab_31_1: #line 229 "codegen_x86_32.dats" /* tmp152 = */ atspre_prerr_string (ATSstrcst("INTERNAL ERROR")) ; #line 230 "codegen_x86_32.dats" /* tmp153 = */ atspre_prerr_string (ATSstrcst(": auxstm: stm = ")) ; #line 230 "codegen_x86_32.dats" /* tmp154 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_stm (arg1) ; #line 230 "codegen_x86_32.dats" /* tmp155 = */ atspre_prerr_newline () ; #line 231 "codegen_x86_32.dats" /* tmp3 = */ ats_exit (1) ; break ; } while (0) ; return /* (tmp3) */ ; } /* end of [auxstm_2] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 7671(line=269, offs=7) -- 7996(line=281, offs=6) */ ATSstaticdec() ats_void_type loop_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp295) ; ATSlocal (ats_int64_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; __ats_lab_loop_6: #line 274 "list.dats" do { /* branch: __ats_lab_49 */ #line 275 "list.dats" __ats_lab_49_0: #line 275 "list.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } #line 275 "list.dats" __ats_lab_49_1: #line 275 "list.dats" tmp296 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_0) ; #line 275 "list.dats" tmp297 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 276 "list.dats" tmp298 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp298, atslab_0, tmp296) ; #line 276 "list.dats" ats_ptrget_mac(ats_ptr_type, arg2) = tmp298 ; #line 276 "list.dats" // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 276 "list.dats" tmp299 = &ats_caselptr_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; #line 278 "list.dats" arg0 = tmp297 ; #line 278 "list.dats" arg1 = arg1 ; #line 278 "list.dats" arg2 = tmp299 ; #line 278 "list.dats" goto __ats_lab_loop_6 ; // tail call break ; /* branch: __ats_lab_50 */ #line 280 "list.dats" __ats_lab_50_0: #line 280 "list.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 280 "list.dats" __ats_lab_50_1: #line 280 "list.dats" ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp295) */ ; } /* end of [loop_6] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 7615(line=267, offs=13) -- 8046(line=284, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01381_ats_int64_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; // ATSlocal_void (tmp300) ; __ats_lab_list_append_01381_ats_int64_type: #line 268 "list.dats" /* ats_ptr_type tmp294 ; */ #line 283 "list.dats" /* tmp300 = */ loop_6 (arg0, arg1, (&tmp294)) ; #line 283 "list.dats" tmp293 = tmp294 ; return (tmp293) ; } /* end of [list_append_01381_ats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen_x86_32.dats: 8427(line=235, offs=7) -- 16053(line=427, offs=6) */ ATSstaticdec() ats_int64_type auxexp_3 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int64_type, tmp156) ; ATSlocal (ats_int_type, tmp157) ; ATSlocal (ats_int64_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; // ATSlocal_void (tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_int64_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; // ATSlocal_void (tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_int64_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_bool_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_int64_type, tmp184) ; // ATSlocal_void (tmp185) ; ATSlocal (ats_int_type, tmp186) ; ATSlocal (ats_int64_type, tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_int64_type, tmp199) ; ATSlocal (ats_int64_type, tmp200) ; // ATSlocal_void (tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_int64_type, tmp215) ; ATSlocal (ats_int64_type, tmp216) ; ATSlocal (ats_int64_type, tmp217) ; // ATSlocal_void (tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; // ATSlocal_void (tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; // ATSlocal_void (tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_int64_type, tmp234) ; ATSlocal (ats_int64_type, tmp235) ; ATSlocal (ats_int64_type, tmp236) ; // ATSlocal_void (tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; // ATSlocal_void (tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; // ATSlocal_void (tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; // ATSlocal_void (tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_int64_type, tmp260) ; // ATSlocal_void (tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_int_type, tmp265) ; ATSlocal (ats_bool_type, tmp266) ; ATSlocal (ats_int_type, tmp267) ; ATSlocal (ats_int_type, tmp269) ; ATSlocal (ats_int64_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_int64_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_int64_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_int_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (anairiats_rec_1, tmp303) ; ATSlocal (ats_int_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; // ATSlocal_void (tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_int64_type, tmp311) ; ATSlocal (anairiats_rec_1, tmp312) ; ATSlocal (ats_int_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; // ATSlocal_void (tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; // ATSlocal_void (tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; // ATSlocal_void (tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; // ATSlocal_void (tmp331) ; // ATSlocal_void (tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp334) ; __ats_lab_auxexp_3: #line 243 "codegen_x86_32.dats" do { /* branch: __ats_lab_32 */ #line 245 "codegen_x86_32.dats" __ats_lab_32_0: #line 245 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_33_0 ; } #line 245 "codegen_x86_32.dats" __ats_lab_32_1: #line 245 "codegen_x86_32.dats" tmp157 = ats_caselptr_mac(anairiats_sum_8, arg1, atslab_0) ; #line 246 "codegen_x86_32.dats" tmp158 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 247 "codegen_x86_32.dats" tmp159 = atspre_tostringf (ATSstrcst("movl $%i, `d0"), tmp157) ; #line 248 "codegen_x86_32.dats" tmp160 = (ats_sum_ptr_type)0 ; #line 248 "codegen_x86_32.dats" tmp161 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp161, atslab_0, tmp158) ; #line 248 "codegen_x86_32.dats" tmp162 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp161), atslab_1) ; #line 248 "codegen_x86_32.dats" tmp163 = (ats_sum_ptr_type)0 ; #line 248 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp162) = tmp163 ; #line 248 "codegen_x86_32.dats" tmp164 = (ats_sum_ptr_type)0 ; #line 249 "codegen_x86_32.dats" tmp166 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp166)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp166, atslab_0, ats_castfn_mac(ats_ptr_type, tmp159)) ; ats_selptrset_mac(anairiats_sum_5, tmp166, atslab_1, tmp160) ; ats_selptrset_mac(anairiats_sum_5, tmp166, atslab_2, tmp161) ; ats_selptrset_mac(anairiats_sum_5, tmp166, atslab_3, tmp164) ; #line 249 "codegen_x86_32.dats" /* tmp165 = */ emit_1 (arg0, tmp166) ; #line 245 "codegen_x86_32.dats" tmp156 = tmp158 ; break ; /* branch: __ats_lab_33 */ #line 252 "codegen_x86_32.dats" __ats_lab_33_0: #line 252 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_34_0 ; } #line 252 "codegen_x86_32.dats" __ats_lab_33_1: #line 252 "codegen_x86_32.dats" tmp167 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 253 "codegen_x86_32.dats" tmp168 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 254 "codegen_x86_32.dats" tmp169 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_name_get (tmp167) ; #line 255 "codegen_x86_32.dats" tmp170 = atspre_tostringf (ATSstrcst("movl $.%s, `d0"), tmp169) ; #line 256 "codegen_x86_32.dats" tmp171 = (ats_sum_ptr_type)0 ; #line 256 "codegen_x86_32.dats" tmp172 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp172, atslab_0, tmp168) ; #line 256 "codegen_x86_32.dats" tmp173 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp172), atslab_1) ; #line 256 "codegen_x86_32.dats" tmp174 = (ats_sum_ptr_type)0 ; #line 256 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp173) = tmp174 ; #line 256 "codegen_x86_32.dats" tmp175 = (ats_sum_ptr_type)0 ; #line 257 "codegen_x86_32.dats" tmp177 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp177)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp177, atslab_0, ats_castfn_mac(ats_ptr_type, tmp170)) ; ats_selptrset_mac(anairiats_sum_5, tmp177, atslab_1, tmp171) ; ats_selptrset_mac(anairiats_sum_5, tmp177, atslab_2, tmp172) ; ats_selptrset_mac(anairiats_sum_5, tmp177, atslab_3, tmp175) ; #line 257 "codegen_x86_32.dats" /* tmp176 = */ emit_1 (arg0, tmp177) ; #line 252 "codegen_x86_32.dats" tmp156 = tmp168 ; break ; /* branch: __ats_lab_34 */ #line 273 "codegen_x86_32.dats" __ats_lab_34_0: #line 273 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_35_0 ; } #line 273 "codegen_x86_32.dats" __ats_lab_34_1: #line 273 "codegen_x86_32.dats" tmp178 = ats_caselptr_mac(anairiats_sum_10, arg1, atslab_0) ; #line 273 "codegen_x86_32.dats" tmp156 = tmp178 ; break ; /* branch: __ats_lab_35 */ #line 275 "codegen_x86_32.dats" __ats_lab_35_0: #line 275 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_41_0 ; } #line 275 "codegen_x86_32.dats" __ats_lab_35_1: #line 275 "codegen_x86_32.dats" tmp179 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_0) ; #line 275 "codegen_x86_32.dats" tmp180 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_1) ; #line 275 "codegen_x86_32.dats" tmp181 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_2) ; #line 276 "codegen_x86_32.dats" tmp182 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_additive (tmp179) ; #line 276 "codegen_x86_32.dats" if (!tmp182) { goto __ats_lab_41_0 ; } #line 277 "codegen_x86_32.dats" do { /* branch: __ats_lab_36 */ #line 278 "codegen_x86_32.dats" __ats_lab_36_0: #line 278 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp179)->tag != 0) { goto __ats_lab_37_0 ; } #line 278 "codegen_x86_32.dats" __ats_lab_36_1: #line 278 "codegen_x86_32.dats" tmp183 = ATSstrcst("addl") ; break ; /* branch: __ats_lab_37 */ #line 278 "codegen_x86_32.dats" __ats_lab_37_0: #line 278 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp179)->tag != 1) { goto __ats_lab_38_0 ; } #line 278 "codegen_x86_32.dats" __ats_lab_37_1: #line 278 "codegen_x86_32.dats" tmp183 = ATSstrcst("subl") ; break ; /* branch: __ats_lab_38 */ #line 278 "codegen_x86_32.dats" __ats_lab_38_0: #line 278 "codegen_x86_32.dats" __ats_lab_38_1: #line 278 "codegen_x86_32.dats" tmp183 = ATSstrcst("notaddsub") ; break ; } while (0) ; #line 280 "codegen_x86_32.dats" tmp184 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 281 "codegen_x86_32.dats" do { /* branch: __ats_lab_39 */ #line 282 "codegen_x86_32.dats" __ats_lab_39_0: #line 282 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp181)->tag != 0) { goto __ats_lab_40_0 ; } #line 282 "codegen_x86_32.dats" __ats_lab_39_1: #line 282 "codegen_x86_32.dats" tmp186 = ats_caselptr_mac(anairiats_sum_8, tmp181, atslab_0) ; #line 283 "codegen_x86_32.dats" tmp187 = auxexp_3 (arg0, tmp180) ; #line 285 "codegen_x86_32.dats" tmp189 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp189)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp189, atslab_0, ATSstrcst("movl `s0, `d0")) ; ats_selptrset_mac(anairiats_sum_11, tmp189, atslab_1, tmp187) ; ats_selptrset_mac(anairiats_sum_11, tmp189, atslab_2, tmp184) ; #line 284 "codegen_x86_32.dats" /* tmp188 = */ emit_1 (arg0, tmp189) ; #line 290 "codegen_x86_32.dats" tmp190 = atspre_tostringf (ATSstrcst("%s $%i, `d0"), tmp183, tmp186) ; #line 291 "codegen_x86_32.dats" tmp191 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp191, atslab_0, tmp184) ; #line 291 "codegen_x86_32.dats" tmp192 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp191), atslab_1) ; #line 291 "codegen_x86_32.dats" tmp193 = (ats_sum_ptr_type)0 ; #line 291 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp192) = tmp193 ; #line 291 "codegen_x86_32.dats" tmp194 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp194, atslab_0, tmp184) ; #line 291 "codegen_x86_32.dats" tmp195 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp194), atslab_1) ; #line 291 "codegen_x86_32.dats" tmp196 = (ats_sum_ptr_type)0 ; #line 291 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp195) = tmp196 ; #line 291 "codegen_x86_32.dats" tmp197 = (ats_sum_ptr_type)0 ; #line 289 "codegen_x86_32.dats" tmp198 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp198)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp198, atslab_0, ats_castfn_mac(ats_ptr_type, tmp190)) ; ats_selptrset_mac(anairiats_sum_5, tmp198, atslab_1, tmp191) ; ats_selptrset_mac(anairiats_sum_5, tmp198, atslab_2, tmp194) ; ats_selptrset_mac(anairiats_sum_5, tmp198, atslab_3, tmp197) ; #line 288 "codegen_x86_32.dats" /* tmp185 = */ emit_1 (arg0, tmp198) ; break ; /* branch: __ats_lab_40 */ #line 294 "codegen_x86_32.dats" __ats_lab_40_0: #line 294 "codegen_x86_32.dats" __ats_lab_40_1: #line 295 "codegen_x86_32.dats" tmp199 = auxexp_3 (arg0, tmp180) ; #line 296 "codegen_x86_32.dats" tmp200 = auxexp_3 (arg0, tmp181) ; #line 298 "codegen_x86_32.dats" tmp202 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp202)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp202, atslab_0, ATSstrcst("movl `s0, `d0")) ; ats_selptrset_mac(anairiats_sum_11, tmp202, atslab_1, tmp199) ; ats_selptrset_mac(anairiats_sum_11, tmp202, atslab_2, tmp184) ; #line 297 "codegen_x86_32.dats" /* tmp201 = */ emit_1 (arg0, tmp202) ; #line 303 "codegen_x86_32.dats" tmp203 = atspre_string_append (tmp183, ATSstrcst(" `s1, `d0")) ; #line 304 "codegen_x86_32.dats" tmp204 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp204, atslab_0, tmp184) ; #line 304 "codegen_x86_32.dats" tmp205 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp204), atslab_1) ; #line 304 "codegen_x86_32.dats" tmp206 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp206, atslab_0, tmp200) ; #line 304 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp205) = tmp206 ; #line 304 "codegen_x86_32.dats" tmp205 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp206), atslab_1) ; #line 304 "codegen_x86_32.dats" tmp206 = (ats_sum_ptr_type)0 ; #line 304 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp205) = tmp206 ; #line 304 "codegen_x86_32.dats" tmp207 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp207, atslab_0, tmp184) ; #line 304 "codegen_x86_32.dats" tmp208 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp207), atslab_1) ; #line 304 "codegen_x86_32.dats" tmp209 = (ats_sum_ptr_type)0 ; #line 304 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp208) = tmp209 ; #line 304 "codegen_x86_32.dats" tmp210 = (ats_sum_ptr_type)0 ; #line 302 "codegen_x86_32.dats" tmp211 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp211)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp211, atslab_0, tmp203) ; ats_selptrset_mac(anairiats_sum_5, tmp211, atslab_1, tmp204) ; ats_selptrset_mac(anairiats_sum_5, tmp211, atslab_2, tmp207) ; ats_selptrset_mac(anairiats_sum_5, tmp211, atslab_3, tmp210) ; #line 301 "codegen_x86_32.dats" /* tmp185 = */ emit_1 (arg0, tmp211) ; break ; } while (0) ; #line 276 "codegen_x86_32.dats" tmp156 = tmp184 ; break ; /* branch: __ats_lab_41 */ #line 310 "codegen_x86_32.dats" __ats_lab_41_0: #line 310 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_42_0 ; } #line 310 "codegen_x86_32.dats" tmp212 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_0) ; #line 310 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp212)->tag != 2) { goto __ats_lab_42_0 ; } #line 310 "codegen_x86_32.dats" __ats_lab_41_1: #line 310 "codegen_x86_32.dats" tmp213 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_1) ; #line 310 "codegen_x86_32.dats" tmp214 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_2) ; #line 311 "codegen_x86_32.dats" tmp215 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 312 "codegen_x86_32.dats" tmp216 = auxexp_3 (arg0, tmp213) ; #line 312 "codegen_x86_32.dats" tmp217 = auxexp_3 (arg0, tmp214) ; #line 319 "codegen_x86_32.dats" tmp219 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp219)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_0, ATSstrcst("movl `s0, `d0")) ; ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_1, tmp216) ; ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_2, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; #line 318 "codegen_x86_32.dats" /* tmp218 = */ emit_1 (arg0, tmp219) ; #line 326 "codegen_x86_32.dats" tmp220 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp220, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; #line 326 "codegen_x86_32.dats" tmp221 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp220), atslab_1) ; #line 326 "codegen_x86_32.dats" tmp222 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp222, atslab_0, tmp217) ; #line 326 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp221) = tmp222 ; #line 326 "codegen_x86_32.dats" tmp221 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp222), atslab_1) ; #line 326 "codegen_x86_32.dats" tmp222 = (ats_sum_ptr_type)0 ; #line 326 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp221) = tmp222 ; #line 326 "codegen_x86_32.dats" tmp223 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp223, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; #line 326 "codegen_x86_32.dats" tmp224 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp223), atslab_1) ; #line 326 "codegen_x86_32.dats" tmp225 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp225, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EDX) ; #line 326 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp224) = tmp225 ; #line 326 "codegen_x86_32.dats" tmp224 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp225), atslab_1) ; #line 326 "codegen_x86_32.dats" tmp225 = (ats_sum_ptr_type)0 ; #line 326 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp224) = tmp225 ; #line 327 "codegen_x86_32.dats" tmp226 = (ats_sum_ptr_type)0 ; #line 324 "codegen_x86_32.dats" tmp228 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp228)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp228, atslab_0, ATSstrcst("imull `s1")) ; ats_selptrset_mac(anairiats_sum_5, tmp228, atslab_1, tmp220) ; ats_selptrset_mac(anairiats_sum_5, tmp228, atslab_2, tmp223) ; ats_selptrset_mac(anairiats_sum_5, tmp228, atslab_3, tmp226) ; #line 323 "codegen_x86_32.dats" /* tmp227 = */ emit_1 (arg0, tmp228) ; #line 330 "codegen_x86_32.dats" tmp230 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp230)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp230, atslab_0, ATSstrcst("movl `s0, `d0")) ; ats_selptrset_mac(anairiats_sum_11, tmp230, atslab_1, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; ats_selptrset_mac(anairiats_sum_11, tmp230, atslab_2, tmp215) ; #line 329 "codegen_x86_32.dats" /* tmp229 = */ emit_1 (arg0, tmp230) ; #line 310 "codegen_x86_32.dats" tmp156 = tmp215 ; break ; /* branch: __ats_lab_42 */ #line 335 "codegen_x86_32.dats" __ats_lab_42_0: #line 335 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_43_0 ; } #line 335 "codegen_x86_32.dats" tmp231 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_0) ; #line 335 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp231)->tag != 3) { goto __ats_lab_43_0 ; } #line 335 "codegen_x86_32.dats" __ats_lab_42_1: #line 335 "codegen_x86_32.dats" tmp232 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_1) ; #line 335 "codegen_x86_32.dats" tmp233 = ats_caselptr_mac(anairiats_sum_9, arg1, atslab_2) ; #line 336 "codegen_x86_32.dats" tmp234 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 337 "codegen_x86_32.dats" tmp235 = auxexp_3 (arg0, tmp232) ; #line 337 "codegen_x86_32.dats" tmp236 = auxexp_3 (arg0, tmp233) ; #line 339 "codegen_x86_32.dats" tmp238 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp238)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp238, atslab_0, ATSstrcst("movl `s0, `d0")) ; ats_selptrset_mac(anairiats_sum_11, tmp238, atslab_1, tmp235) ; ats_selptrset_mac(anairiats_sum_11, tmp238, atslab_2, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; #line 338 "codegen_x86_32.dats" /* tmp237 = */ emit_1 (arg0, tmp238) ; #line 344 "codegen_x86_32.dats" tmp239 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp239, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; #line 344 "codegen_x86_32.dats" tmp240 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp239), atslab_1) ; #line 344 "codegen_x86_32.dats" tmp241 = (ats_sum_ptr_type)0 ; #line 344 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp240) = tmp241 ; #line 344 "codegen_x86_32.dats" tmp242 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp242, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EDX) ; #line 344 "codegen_x86_32.dats" tmp243 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp242), atslab_1) ; #line 344 "codegen_x86_32.dats" tmp244 = (ats_sum_ptr_type)0 ; #line 344 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp243) = tmp244 ; #line 345 "codegen_x86_32.dats" tmp245 = (ats_sum_ptr_type)0 ; #line 343 "codegen_x86_32.dats" tmp247 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp247)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp247, atslab_0, ATSstrcst("cltd")) ; ats_selptrset_mac(anairiats_sum_5, tmp247, atslab_1, tmp239) ; ats_selptrset_mac(anairiats_sum_5, tmp247, atslab_2, tmp242) ; ats_selptrset_mac(anairiats_sum_5, tmp247, atslab_3, tmp245) ; #line 342 "codegen_x86_32.dats" /* tmp246 = */ emit_1 (arg0, tmp247) ; #line 350 "codegen_x86_32.dats" tmp248 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp248, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; #line 350 "codegen_x86_32.dats" tmp249 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp248), atslab_1) ; #line 350 "codegen_x86_32.dats" tmp250 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp250, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EDX) ; #line 350 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp249) = tmp250 ; #line 350 "codegen_x86_32.dats" tmp249 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp250), atslab_1) ; #line 350 "codegen_x86_32.dats" tmp250 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp250, atslab_0, tmp236) ; #line 350 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp249) = tmp250 ; #line 350 "codegen_x86_32.dats" tmp249 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp250), atslab_1) ; #line 350 "codegen_x86_32.dats" tmp250 = (ats_sum_ptr_type)0 ; #line 350 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp249) = tmp250 ; #line 350 "codegen_x86_32.dats" tmp251 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp251, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; #line 350 "codegen_x86_32.dats" tmp252 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp251), atslab_1) ; #line 350 "codegen_x86_32.dats" tmp253 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp253, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EDX) ; #line 350 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp252) = tmp253 ; #line 350 "codegen_x86_32.dats" tmp252 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp253), atslab_1) ; #line 350 "codegen_x86_32.dats" tmp253 = (ats_sum_ptr_type)0 ; #line 350 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp252) = tmp253 ; #line 351 "codegen_x86_32.dats" tmp254 = (ats_sum_ptr_type)0 ; #line 348 "codegen_x86_32.dats" tmp256 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp256)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp256, atslab_0, ATSstrcst("idivl `s2")) ; ats_selptrset_mac(anairiats_sum_5, tmp256, atslab_1, tmp248) ; ats_selptrset_mac(anairiats_sum_5, tmp256, atslab_2, tmp251) ; ats_selptrset_mac(anairiats_sum_5, tmp256, atslab_3, tmp254) ; #line 347 "codegen_x86_32.dats" /* tmp255 = */ emit_1 (arg0, tmp256) ; #line 354 "codegen_x86_32.dats" tmp258 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp258)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp258, atslab_0, ATSstrcst("movl `s0, `d0")) ; ats_selptrset_mac(anairiats_sum_11, tmp258, atslab_1, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__EAX) ; ats_selptrset_mac(anairiats_sum_11, tmp258, atslab_2, tmp234) ; #line 353 "codegen_x86_32.dats" /* tmp257 = */ emit_1 (arg0, tmp258) ; #line 335 "codegen_x86_32.dats" tmp156 = tmp234 ; break ; /* branch: __ats_lab_43 */ #line 359 "codegen_x86_32.dats" __ats_lab_43_0: #line 359 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_48_0 ; } #line 359 "codegen_x86_32.dats" __ats_lab_43_1: #line 359 "codegen_x86_32.dats" tmp259 = ats_caselptr_mac(anairiats_sum_3, arg1, atslab_0) ; #line 360 "codegen_x86_32.dats" tmp260 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 361 "codegen_x86_32.dats" do { /* branch: __ats_lab_44 */ #line 362 "codegen_x86_32.dats" __ats_lab_44_0: #line 362 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp259)->tag != 3) { goto __ats_lab_47_0 ; } #line 362 "codegen_x86_32.dats" tmp262 = ats_caselptr_mac(anairiats_sum_9, tmp259, atslab_2) ; #line 362 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp262)->tag != 0) { goto __ats_lab_47_0 ; } #line 362 "codegen_x86_32.dats" __ats_lab_44_1: #line 362 "codegen_x86_32.dats" tmp263 = ats_caselptr_mac(anairiats_sum_9, tmp259, atslab_0) ; #line 362 "codegen_x86_32.dats" tmp264 = ats_caselptr_mac(anairiats_sum_9, tmp259, atslab_1) ; #line 362 "codegen_x86_32.dats" tmp265 = ats_caselptr_mac(anairiats_sum_8, tmp262, atslab_0) ; #line 363 "codegen_x86_32.dats" tmp266 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__binop_is_additive (tmp263) ; #line 363 "codegen_x86_32.dats" if (!tmp266) { goto __ats_lab_47_1 ; } #line 364 "codegen_x86_32.dats" /* ats_int_type tmp267 ; */ #line 364 "codegen_x86_32.dats" tmp267 = tmp265 ; #line 365 "codegen_x86_32.dats" do { /* branch: __ats_lab_45 */ #line 366 "codegen_x86_32.dats" __ats_lab_45_0: #line 366 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp263)->tag != 0) { goto __ats_lab_46_0 ; } #line 366 "codegen_x86_32.dats" __ats_lab_45_1: break ; /* branch: __ats_lab_46 */ #line 366 "codegen_x86_32.dats" __ats_lab_46_0: #line 366 "codegen_x86_32.dats" __ats_lab_46_1: #line 366 "codegen_x86_32.dats" tmp269 = atspre_neg_int (tmp267) ; #line 366 "codegen_x86_32.dats" tmp267 = tmp269 ; break ; } while (0) ; #line 367 "codegen_x86_32.dats" tmp270 = auxexp_3 (arg0, tmp264) ; #line 370 "codegen_x86_32.dats" tmp271 = atspre_tostringf (ATSstrcst("movl %i(`s0), `d0"), tmp267) ; #line 371 "codegen_x86_32.dats" tmp272 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp272, atslab_0, tmp270) ; #line 371 "codegen_x86_32.dats" tmp273 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp272), atslab_1) ; #line 371 "codegen_x86_32.dats" tmp274 = (ats_sum_ptr_type)0 ; #line 371 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp273) = tmp274 ; #line 371 "codegen_x86_32.dats" tmp275 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp275, atslab_0, tmp260) ; #line 371 "codegen_x86_32.dats" tmp276 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp275), atslab_1) ; #line 371 "codegen_x86_32.dats" tmp277 = (ats_sum_ptr_type)0 ; #line 371 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp276) = tmp277 ; #line 371 "codegen_x86_32.dats" tmp278 = (ats_sum_ptr_type)0 ; #line 369 "codegen_x86_32.dats" tmp279 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp279)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp279, atslab_0, ats_castfn_mac(ats_ptr_type, tmp271)) ; ats_selptrset_mac(anairiats_sum_5, tmp279, atslab_1, tmp272) ; ats_selptrset_mac(anairiats_sum_5, tmp279, atslab_2, tmp275) ; ats_selptrset_mac(anairiats_sum_5, tmp279, atslab_3, tmp278) ; #line 368 "codegen_x86_32.dats" /* tmp261 = */ emit_1 (arg0, tmp279) ; break ; /* branch: __ats_lab_47 */ #line 374 "codegen_x86_32.dats" __ats_lab_47_0: #line 374 "codegen_x86_32.dats" __ats_lab_47_1: #line 375 "codegen_x86_32.dats" tmp280 = auxexp_3 (arg0, tmp259) ; #line 379 "codegen_x86_32.dats" tmp281 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp281, atslab_0, tmp280) ; #line 379 "codegen_x86_32.dats" tmp282 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp281), atslab_1) ; #line 379 "codegen_x86_32.dats" tmp283 = (ats_sum_ptr_type)0 ; #line 379 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp282) = tmp283 ; #line 379 "codegen_x86_32.dats" tmp284 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp284, atslab_0, tmp260) ; #line 379 "codegen_x86_32.dats" tmp285 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp284), atslab_1) ; #line 379 "codegen_x86_32.dats" tmp286 = (ats_sum_ptr_type)0 ; #line 379 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp285) = tmp286 ; #line 379 "codegen_x86_32.dats" tmp287 = (ats_sum_ptr_type)0 ; #line 377 "codegen_x86_32.dats" tmp288 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp288)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp288, atslab_0, ATSstrcst("movl (`s0), `d0")) ; ats_selptrset_mac(anairiats_sum_5, tmp288, atslab_1, tmp281) ; ats_selptrset_mac(anairiats_sum_5, tmp288, atslab_2, tmp284) ; ats_selptrset_mac(anairiats_sum_5, tmp288, atslab_3, tmp287) ; #line 376 "codegen_x86_32.dats" /* tmp261 = */ emit_1 (arg0, tmp288) ; break ; } while (0) ; #line 359 "codegen_x86_32.dats" tmp156 = tmp260 ; break ; /* branch: __ats_lab_48 */ #line 385 "codegen_x86_32.dats" __ats_lab_48_0: #line 385 "codegen_x86_32.dats" if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_53_0 ; } #line 385 "codegen_x86_32.dats" __ats_lab_48_1: #line 385 "codegen_x86_32.dats" tmp289 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_0) ; #line 385 "codegen_x86_32.dats" tmp290 = ats_caselptr_mac(anairiats_sum_2, arg1, atslab_1) ; #line 386 "codegen_x86_32.dats" tmp291 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__temp_make_new () ; #line 388 "codegen_x86_32.dats" tmp292 = list_append_01381_ats_int64_type (_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__theFunargReglst, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__theCallersavedReglst) ; #line 390 "codegen_x86_32.dats" do { /* branch: __ats_lab_51 */ #line 391 "codegen_x86_32.dats" __ats_lab_51_0: #line 391 "codegen_x86_32.dats" if (((ats_sum_ptr_type)tmp289)->tag != 1) { goto __ats_lab_52_0 ; } #line 391 "codegen_x86_32.dats" __ats_lab_51_1: #line 391 "codegen_x86_32.dats" tmp302 = ats_caselptr_mac(anairiats_sum_3, tmp289, atslab_0) ; #line 392 "codegen_x86_32.dats" tmp303 = auxarglst_4 (arg0, tmp290) ; #line 392 "codegen_x86_32.dats" tmp304 = ats_select_mac(tmp303, atslab_0) ; #line 392 "codegen_x86_32.dats" tmp305 = ats_select_mac(tmp303, atslab_1) ; #line 395 "codegen_x86_32.dats" tmp306 = _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__label_name_get (tmp302) ; #line 396 "codegen_x86_32.dats" tmp307 = atspre_tostringf (ATSstrcst("call %s"), tmp306) ; #line 397 "codegen_x86_32.dats" tmp308 = (ats_sum_ptr_type)0 ; #line 394 "codegen_x86_32.dats" tmp310 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp310)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp310, atslab_0, ats_castfn_mac(ats_ptr_type, tmp307)) ; ats_selptrset_mac(anairiats_sum_5, tmp310, atslab_1, tmp305) ; ats_selptrset_mac(anairiats_sum_5, tmp310, atslab_2, tmp292) ; ats_selptrset_mac(anairiats_sum_5, tmp310, atslab_3, tmp308) ; #line 393 "codegen_x86_32.dats" /* tmp309 = */ emit_1 (arg0, tmp310) ; #line 391 "codegen_x86_32.dats" tmp301 = tmp304 ; break ; /* branch: __ats_lab_52 */ #line 400 "codegen_x86_32.dats" __ats_lab_52_0: #line 400 "codegen_x86_32.dats" __ats_lab_52_1: #line 401 "codegen_x86_32.dats" tmp311 = auxexp_3 (arg0, tmp289) ; #line 402 "codegen_x86_32.dats" tmp312 = auxarglst_4 (arg0, tmp290) ; #line 402 "codegen_x86_32.dats" tmp313 = ats_select_mac(tmp312, atslab_0) ; #line 402 "codegen_x86_32.dats" tmp314 = ats_select_mac(tmp312, atslab_1) ; #line 406 "codegen_x86_32.dats" tmp315 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp315, atslab_0, tmp311) ; ats_selptrset_mac(anairiats_sum_6, tmp315, atslab_1, tmp314) ; #line 407 "codegen_x86_32.dats" tmp316 = (ats_sum_ptr_type)0 ; #line 404 "codegen_x86_32.dats" tmp318 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp318)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp318, atslab_0, ATSstrcst("call `s0")) ; ats_selptrset_mac(anairiats_sum_5, tmp318, atslab_1, tmp315) ; ats_selptrset_mac(anairiats_sum_5, tmp318, atslab_2, tmp292) ; ats_selptrset_mac(anairiats_sum_5, tmp318, atslab_3, tmp316) ; #line 403 "codegen_x86_32.dats" /* tmp317 = */ emit_1 (arg0, tmp318) ; #line 400 "codegen_x86_32.dats" tmp301 = tmp313 ; break ; } while (0) ; #line 414 "codegen_x86_32.dats" tmp319 = atspre_tostringf (ATSstrcst("addl $%i, `s0"), tmp301) ; #line 415 "codegen_x86_32.dats" tmp320 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp320, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__SP) ; #line 415 "codegen_x86_32.dats" tmp321 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp320), atslab_1) ; #line 415 "codegen_x86_32.dats" tmp322 = (ats_sum_ptr_type)0 ; #line 415 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp321) = tmp322 ; #line 415 "codegen_x86_32.dats" tmp323 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp323, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__SP) ; #line 415 "codegen_x86_32.dats" tmp324 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp323), atslab_1) ; #line 415 "codegen_x86_32.dats" tmp325 = (ats_sum_ptr_type)0 ; #line 415 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp324) = tmp325 ; #line 415 "codegen_x86_32.dats" tmp326 = (ats_sum_ptr_type)0 ; #line 413 "codegen_x86_32.dats" tmp328 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp328)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp328, atslab_0, ats_castfn_mac(ats_ptr_type, tmp319)) ; ats_selptrset_mac(anairiats_sum_5, tmp328, atslab_1, tmp320) ; ats_selptrset_mac(anairiats_sum_5, tmp328, atslab_2, tmp323) ; ats_selptrset_mac(anairiats_sum_5, tmp328, atslab_3, tmp326) ; #line 412 "codegen_x86_32.dats" /* tmp327 = */ emit_1 (arg0, tmp328) ; #line 418 "codegen_x86_32.dats" tmp330 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp330)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp330, atslab_0, ATSstrcst("movl `s0, `d0")) ; ats_selptrset_mac(anairiats_sum_11, tmp330, atslab_1, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__RV) ; ats_selptrset_mac(anairiats_sum_11, tmp330, atslab_2, tmp291) ; #line 417 "codegen_x86_32.dats" /* tmp329 = */ emit_1 (arg0, tmp330) ; #line 385 "codegen_x86_32.dats" tmp156 = tmp291 ; break ; /* branch: __ats_lab_53 */ #line 422 "codegen_x86_32.dats" __ats_lab_53_0: #line 422 "codegen_x86_32.dats" __ats_lab_53_1: #line 423 "codegen_x86_32.dats" /* tmp331 = */ atspre_prerr_string (ATSstrcst("INTERNAL ERROR")) ; #line 424 "codegen_x86_32.dats" /* tmp332 = */ atspre_prerr_string (ATSstrcst(": auxexp: exp = ")) ; #line 424 "codegen_x86_32.dats" /* tmp333 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2irtree_2esats__prerr_exp (arg1) ; #line 424 "codegen_x86_32.dats" /* tmp334 = */ atspre_prerr_newline () ; #line 425 "codegen_x86_32.dats" /* tmp156 = */ ats_exit (1) ; break ; } while (0) ; return (tmp156) ; } /* end of [auxexp_3] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 50131(line=1731, offs=7) -- 50271(line=1734, offs=6) */ ATSstaticdec() ats_int_type loop_8 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_int_type, tmp340) ; __ats_lab_loop_8: #line 1733 "list.dats" do { /* branch: __ats_lab_54 */ #line 1733 "list.dats" __ats_lab_54_0: #line 1733 "list.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } #line 1733 "list.dats" __ats_lab_54_1: #line 1733 "list.dats" tmp339 = ats_caselptr_mac(anairiats_sum_0, arg0, atslab_1) ; #line 1733 "list.dats" tmp340 = atspre_isucc (arg1) ; #line 1733 "list.dats" arg0 = tmp339 ; #line 1733 "list.dats" arg1 = tmp340 ; #line 1733 "list.dats" goto __ats_lab_loop_8 ; // tail call break ; /* branch: __ats_lab_55 */ #line 1733 "list.dats" __ats_lab_55_0: #line 1733 "list.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 1733 "list.dats" __ats_lab_55_1: #line 1733 "list.dats" tmp338 = arg1 ; break ; } while (0) ; return (tmp338) ; } /* end of [loop_8] */ /* // /home/fac2/hwxi/research/ATS/IMPLEMENT/Geizella/Anairiats/svn/ats-lang/prelude/DATS/list.dats: 50114(line=1730, offs=13) -- 50310(line=1737, offs=4) */ ATSstaticdec() ats_int_type list_length_01478_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp337) ; __ats_lab_list_length_01478_ats_ptr_type: #line 1736 "list.dats" tmp337 = loop_8 (arg0, 0) ; return (tmp337) ; } /* end of [list_length_01478_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen_x86_32.dats: 16343(line=435, offs=11) -- 16790(line=447, offs=12) */ ATSstaticdec() ats_ptr_type loop_9 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_bool_type, tmp343) ; ATSlocal (ats_int64_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_int_type, tmp347) ; __ats_lab_loop_9: #line 438 "codegen_x86_32.dats" tmp343 = atspre_gt_int_int (arg1, 0) ; #line 438 "codegen_x86_32.dats" if (tmp343) { #line 438 "codegen_x86_32.dats" do { /* branch: __ats_lab_56 */ #line 439 "codegen_x86_32.dats" __ats_lab_56_0: #line 439 "codegen_x86_32.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } #line 439 "codegen_x86_32.dats" __ats_lab_56_1: #line 439 "codegen_x86_32.dats" tmp344 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_0) ; #line 439 "codegen_x86_32.dats" tmp345 = ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 440 "codegen_x86_32.dats" tmp346 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp346, atslab_0, tmp344) ; ats_selptrset_mac(anairiats_sum_6, tmp346, atslab_1, arg2) ; #line 442 "codegen_x86_32.dats" tmp347 = atspre_sub_int_int (arg1, 1) ; #line 442 "codegen_x86_32.dats" arg0 = tmp345 ; #line 442 "codegen_x86_32.dats" arg1 = tmp347 ; #line 442 "codegen_x86_32.dats" arg2 = tmp346 ; #line 442 "codegen_x86_32.dats" goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_57 */ #line 444 "codegen_x86_32.dats" __ats_lab_57_0: #line 444 "codegen_x86_32.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 444 "codegen_x86_32.dats" __ats_lab_57_1: #line 444 "codegen_x86_32.dats" tmp342 = arg2 ; break ; } while (0) ; } else { #line 446 "codegen_x86_32.dats" tmp342 = arg2 ; } /* end of [if] */ return (tmp342) ; } /* end of [loop_9] */ /* // /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_12 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; __ats_lab_revapp_12: #line 241 "list_vt.dats" do { /* branch: __ats_lab_58 */ #line 242 "list_vt.dats" __ats_lab_58_0: #line 242 "list_vt.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } #line 242 "list_vt.dats" __ats_lab_58_1: #line 242 "list_vt.dats" tmp354 = &ats_caselptr_mac(anairiats_sum_6, arg0, atslab_1) ; #line 243 "list_vt.dats" tmp355 = ats_ptrget_mac(ats_ptr_type, tmp354) ; #line 245 "list_vt.dats" ats_ptrget_mac(ats_ptr_type, tmp354) = arg1 ; #line 245 "list_vt.dats" tmp356 = arg0 ; #line 245 "list_vt.dats" arg0 = tmp355 ; #line 245 "list_vt.dats" arg1 = tmp356 ; #line 245 "list_vt.dats" goto __ats_lab_revapp_12 ; // tail call break ; /* branch: __ats_lab_59 */ #line 247 "list_vt.dats" __ats_lab_59_0: #line 247 "list_vt.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 247 "list_vt.dats" __ats_lab_59_1: #line 247 "list_vt.dats" tmp353 = arg1 ; break ; } while (0) ; return (tmp353) ; } /* end of [revapp_12] */ /* // /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_int64_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp352) ; __ats_lab_list_vt_reverse_append_01561_ats_int64_type: #line 250 "list_vt.dats" tmp352 = revapp_12 (arg0, arg1) ; return (tmp352) ; } /* end of [list_vt_reverse_append_01561_ats_int64_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_int64_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp357) ; __ats_lab_list_vt_reverse_01560_ats_int64_type: #line 233 "list_vt.dats" tmp357 = (ats_sum_ptr_type)0 ; #line 233 "list_vt.dats" tmp351 = list_vt_reverse_append_01561_ats_int64_type (arg0, tmp357) ; return (tmp351) ; } /* end of [list_vt_reverse_01560_ats_int64_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen_x86_32.dats: 17201(line=457, offs=11) -- 18239(line=481, offs=28) */ ATSstaticdec() ats_void_type loop_13 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_int64_type, tmp371) ; ATSlocal (ats_int64_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; // ATSlocal_void (tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_int_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; // ATSlocal_void (tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_int_type, tmp385) ; __ats_lab_loop_13: #line 459 "codegen_x86_32.dats" do { /* branch: __ats_lab_60 */ #line 460 "codegen_x86_32.dats" __ats_lab_60_0: #line 460 "codegen_x86_32.dats" if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } #line 460 "codegen_x86_32.dats" __ats_lab_60_1: #line 460 "codegen_x86_32.dats" tmp369 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_0) ; #line 460 "codegen_x86_32.dats" tmp370 = ats_caselptr_mac(anairiats_sum_0, arg1, atslab_1) ; #line 461 "codegen_x86_32.dats" tmp371 = auxexp_3 (arg0, tmp369) ; #line 462 "codegen_x86_32.dats" do { /* branch: __ats_lab_61 */ #line 463 "codegen_x86_32.dats" __ats_lab_61_0: #line 463 "codegen_x86_32.dats" if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } #line 463 "codegen_x86_32.dats" __ats_lab_61_1: #line 463 "codegen_x86_32.dats" tmp372 = ats_caselptr_mac(anairiats_sum_6, arg2, atslab_0) ; #line 463 "codegen_x86_32.dats" tmp373 = ats_caselptr_mac(anairiats_sum_6, arg2, atslab_1) ; #line 465 "codegen_x86_32.dats" tmp375 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp375)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp375, atslab_0, ATSstrcst("movl `s0, `d0")) ; ats_selptrset_mac(anairiats_sum_11, tmp375, atslab_1, tmp371) ; ats_selptrset_mac(anairiats_sum_11, tmp375, atslab_2, tmp372) ; #line 464 "codegen_x86_32.dats" /* tmp374 = */ emit_1 (arg0, tmp375) ; #line 469 "codegen_x86_32.dats" tmp376 = atspre_add_int_int (arg3, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__WORDSIZE) ; #line 469 "codegen_x86_32.dats" arg0 = arg0 ; #line 469 "codegen_x86_32.dats" arg1 = tmp370 ; #line 469 "codegen_x86_32.dats" arg2 = tmp373 ; #line 469 "codegen_x86_32.dats" arg3 = tmp376 ; #line 469 "codegen_x86_32.dats" goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_62 */ #line 471 "codegen_x86_32.dats" __ats_lab_62_0: #line 471 "codegen_x86_32.dats" // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 471 "codegen_x86_32.dats" __ats_lab_62_1: #line 474 "codegen_x86_32.dats" tmp377 = atspre_tostringf (ATSstrcst("movl `s0, %i(`s1)"), arg3) ; #line 475 "codegen_x86_32.dats" tmp378 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp378, atslab_0, tmp371) ; #line 475 "codegen_x86_32.dats" tmp379 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp378), atslab_1) ; #line 475 "codegen_x86_32.dats" tmp380 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp380, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__SP) ; #line 475 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp379) = tmp380 ; #line 475 "codegen_x86_32.dats" tmp379 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp380), atslab_1) ; #line 475 "codegen_x86_32.dats" tmp380 = (ats_sum_ptr_type)0 ; #line 475 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp379) = tmp380 ; #line 475 "codegen_x86_32.dats" tmp381 = (ats_sum_ptr_type)0 ; #line 475 "codegen_x86_32.dats" tmp382 = (ats_sum_ptr_type)0 ; #line 473 "codegen_x86_32.dats" tmp384 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp384)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp384, atslab_0, ats_castfn_mac(ats_ptr_type, tmp377)) ; ats_selptrset_mac(anairiats_sum_5, tmp384, atslab_1, tmp378) ; ats_selptrset_mac(anairiats_sum_5, tmp384, atslab_2, tmp381) ; ats_selptrset_mac(anairiats_sum_5, tmp384, atslab_3, tmp382) ; #line 472 "codegen_x86_32.dats" /* tmp383 = */ emit_1 (arg0, tmp384) ; #line 478 "codegen_x86_32.dats" tmp385 = atspre_add_int_int (arg3, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__WORDSIZE) ; #line 478 "codegen_x86_32.dats" arg0 = arg0 ; #line 478 "codegen_x86_32.dats" arg1 = tmp370 ; #line 478 "codegen_x86_32.dats" arg2 = arg2 ; #line 478 "codegen_x86_32.dats" arg3 = tmp385 ; #line 478 "codegen_x86_32.dats" goto __ats_lab_loop_13 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_63 */ #line 481 "codegen_x86_32.dats" __ats_lab_63_0: #line 481 "codegen_x86_32.dats" // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 481 "codegen_x86_32.dats" __ats_lab_63_1: break ; } while (0) ; return /* (tmp368) */ ; } /* end of [loop_13] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen_x86_32.dats: 16082(line=429, offs=7) -- 18315(line=486, offs=6) */ ATSstaticdec() anairiats_rec_1 auxarglst_4 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp335) ; ATSlocal (ats_int_type, tmp336) ; ATSlocal (ats_int_type, tmp341) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; // ATSlocal_void (tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; // ATSlocal_void (tmp386) ; __ats_lab_auxarglst_4: #line 431 "codegen_x86_32.dats" tmp336 = list_length_01478_ats_ptr_type (arg1) ; #line 432 "codegen_x86_32.dats" tmp341 = atspre_mul_int_int (tmp336, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__WORDSIZE) ; #line 434 "codegen_x86_32.dats" tmp349 = (ats_sum_ptr_type)0 ; #line 433 "codegen_x86_32.dats" tmp348 = loop_9 (_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__theFunargReglst, tmp336, tmp349) ; #line 450 "codegen_x86_32.dats" tmp350 = list_vt_reverse_01560_ats_int64_type (tmp348) ; #line 453 "codegen_x86_32.dats" tmp358 = atspre_tostringf (ATSstrcst("subl $%i, `s0"), tmp341) ; #line 454 "codegen_x86_32.dats" tmp359 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp359, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__SP) ; #line 454 "codegen_x86_32.dats" tmp360 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp359), atslab_1) ; #line 454 "codegen_x86_32.dats" tmp361 = (ats_sum_ptr_type)0 ; #line 454 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp360) = tmp361 ; #line 454 "codegen_x86_32.dats" tmp362 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp362, atslab_0, _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__SP) ; #line 454 "codegen_x86_32.dats" tmp363 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_6, tmp362), atslab_1) ; #line 454 "codegen_x86_32.dats" tmp364 = (ats_sum_ptr_type)0 ; #line 454 "codegen_x86_32.dats" ats_ptrget_mac(ats_ptr_type, tmp363) = tmp364 ; #line 454 "codegen_x86_32.dats" tmp365 = (ats_sum_ptr_type)0 ; #line 452 "codegen_x86_32.dats" tmp367 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp367)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp367, atslab_0, ats_castfn_mac(ats_ptr_type, tmp358)) ; ats_selptrset_mac(anairiats_sum_5, tmp367, atslab_1, tmp359) ; ats_selptrset_mac(anairiats_sum_5, tmp367, atslab_2, tmp362) ; ats_selptrset_mac(anairiats_sum_5, tmp367, atslab_3, tmp365) ; #line 451 "codegen_x86_32.dats" /* tmp366 = */ emit_1 (arg0, tmp367) ; #line 456 "codegen_x86_32.dats" /* tmp386 = */ loop_13 (arg0, arg1, ats_castfn_mac(ats_ptr_type, tmp350), 0) ; #line 485 "codegen_x86_32.dats" tmp335.atslab_0 = tmp341 ; tmp335.atslab_1 = ats_castfn_mac(ats_ptr_type, tmp350) ; return (tmp335) ; } /* end of [auxarglst_4] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen_x86_32.dats: 991(line=60, offs=4) -- 18364(line=489, offs=4) */ ATSstaticdec() ats_void_type instrlst_add_stm_0 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_instrlst_add_stm_0: #line 488 "codegen_x86_32.dats" /* tmp0 = */ auxstm_2 (arg1, arg2) ; return /* (tmp0) */ ; } /* end of [instrlst_add_stm_0] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen.dats: 600(line=39, offs=5) -- 870(line=46, offs=22) */ ATSstaticdec() ats_void_type instrlst_add_stmlst_14 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; // ATSlocal_void (tmp390) ; __ats_lab_instrlst_add_stmlst_14: #line 41 "codegen.dats" do { /* branch: __ats_lab_64 */ #line 42 "codegen.dats" __ats_lab_64_0: #line 42 "codegen.dats" if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } #line 42 "codegen.dats" __ats_lab_64_1: #line 42 "codegen.dats" tmp388 = ats_caselptr_mac(anairiats_sum_0, arg2, atslab_0) ; #line 42 "codegen.dats" tmp389 = ats_caselptr_mac(anairiats_sum_0, arg2, atslab_1) ; #line 43 "codegen.dats" /* tmp390 = */ instrlst_add_stm_0 (arg0, arg1, tmp388) ; #line 44 "codegen.dats" arg0 = arg0 ; #line 44 "codegen.dats" arg1 = arg1 ; #line 44 "codegen.dats" arg2 = tmp389 ; #line 44 "codegen.dats" goto __ats_lab_instrlst_add_stmlst_14 ; // tail call break ; /* branch: __ats_lab_65 */ #line 46 "codegen.dats" __ats_lab_65_0: #line 46 "codegen.dats" // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 46 "codegen.dats" __ats_lab_65_1: break ; } while (0) ; return /* (tmp387) */ ; } /* end of [instrlst_add_stmlst_14] */ /* // /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_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; __ats_lab_revapp_18: #line 241 "list_vt.dats" do { /* branch: __ats_lab_66 */ #line 242 "list_vt.dats" __ats_lab_66_0: #line 242 "list_vt.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } #line 242 "list_vt.dats" __ats_lab_66_1: #line 242 "list_vt.dats" tmp398 = &ats_caselptr_mac(anairiats_sum_0, arg0, atslab_1) ; #line 243 "list_vt.dats" tmp399 = ats_ptrget_mac(ats_ptr_type, tmp398) ; #line 245 "list_vt.dats" ats_ptrget_mac(ats_ptr_type, tmp398) = arg1 ; #line 245 "list_vt.dats" tmp400 = arg0 ; #line 245 "list_vt.dats" arg0 = tmp399 ; #line 245 "list_vt.dats" arg1 = tmp400 ; #line 245 "list_vt.dats" goto __ats_lab_revapp_18 ; // tail call break ; /* branch: __ats_lab_67 */ #line 247 "list_vt.dats" __ats_lab_67_0: #line 247 "list_vt.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 247 "list_vt.dats" __ats_lab_67_1: #line 247 "list_vt.dats" tmp397 = arg1 ; break ; } while (0) ; return (tmp397) ; } /* end of [revapp_18] */ /* // /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, tmp396) ; __ats_lab_list_vt_reverse_append_01561_ats_ptr_type: #line 250 "list_vt.dats" tmp396 = revapp_18 (arg0, arg1) ; return (tmp396) ; } /* 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, tmp395) ; ATSlocal (ats_ptr_type, tmp401) ; __ats_lab_list_vt_reverse_01560_ats_ptr_type: #line 233 "list_vt.dats" tmp401 = (ats_sum_ptr_type)0 ; #line 233 "list_vt.dats" tmp395 = list_vt_reverse_append_01561_ats_ptr_type (arg0, tmp401) ; return (tmp395) ; } /* end of [list_vt_reverse_01560_ats_ptr_type] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen.dats: 947(line=52, offs=13) -- 1128(line=59, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__codegen_stm (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; // ATSlocal_void (tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__codegen_stm: #line 53 "codegen.dats" /* ats_ptr_type tmp392 ; */ #line 53 "codegen.dats" tmp392 = (ats_sum_ptr_type)0 ; #line 54 "codegen.dats" /* tmp393 = */ instrlst_add_stm_0 (arg0, (&tmp392), arg1) ; #line 55 "codegen.dats" tmp394 = list_vt_reverse_01560_ats_ptr_type (tmp392) ; #line 56 "codegen.dats" tmp391 = ats_castfn_mac(ats_ptr_type, tmp394) ; return (tmp391) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__codegen_stm] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen.dats: 1175(line=62, offs=16) -- 1361(line=69, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__codegen_stmlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; // ATSlocal_void (tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__codegen_stmlst: #line 63 "codegen.dats" /* ats_ptr_type tmp403 ; */ #line 63 "codegen.dats" tmp403 = (ats_sum_ptr_type)0 ; #line 64 "codegen.dats" /* tmp404 = */ instrlst_add_stmlst_14 (arg0, (&tmp403), arg1) ; #line 65 "codegen.dats" tmp405 = list_vt_reverse_01560_ats_ptr_type (tmp403) ; #line 66 "codegen.dats" tmp402 = ats_castfn_mac(ats_ptr_type, tmp405) ; return (tmp402) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__codegen_stmlst] */ /* // /cs-pub/www-dir/faculty/hwxi/academic/courses/CS525/Spring09/code/Tiger/codegen.dats: 1434(line=74, offs=14) -- 1750(line=84, offs=4) */ ATSglobaldec() ats_ptr_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__codegen_proc (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; // ATSlocal_void (tmp408) ; // ATSlocal_void (tmp409) ; // ATSlocal_void (tmp410) ; // ATSlocal_void (tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; __ats_lab__2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__codegen_proc: #line 75 "codegen.dats" /* ats_ptr_type tmp407 ; */ #line 75 "codegen.dats" tmp407 = (ats_sum_ptr_type)0 ; #line 76 "codegen.dats" /* tmp408 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__procEntryExit1_entr (arg0, (&tmp407)) ; #line 77 "codegen.dats" /* tmp409 = */ instrlst_add_stmlst_14 (arg0, (&tmp407), arg1) ; #line 78 "codegen.dats" /* tmp410 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__procEntryExit1_exit (arg0, (&tmp407)) ; #line 79 "codegen.dats" /* tmp411 = */ _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__procEntryExit2 (arg0, (&tmp407)) ; #line 80 "codegen.dats" tmp412 = list_vt_reverse_01560_ats_ptr_type (tmp407) ; #line 81 "codegen.dats" tmp406 = ats_castfn_mac(ats_ptr_type, tmp412) ; return (tmp406) ; } /* end of [_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__codegen_proc] */ /* 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 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 _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2assem_2esats__staload (void) ; 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_2irtree_2esats__staload (void) ; extern ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_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) ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2edats__staload () { static int _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2edats__staload_flag = 0 ; if (_2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2edats__staload_flag) return ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2edats__staload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2frame_2esats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2error_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2templab_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2assem_2esats__staload () ; _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_2irtree_2esats__staload () ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2esats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_2edats__staload () ; ATS_2d0_2e2_2e6_2prelude_2DATS_2list_vt_2edats__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_2codegen_2edats__dynload_flag ; ats_void_type _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2edats__dynload () { _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_2edats__dynload_flag = 1 ; _2cs_2dpub_2www_2ddir_2faculty_2hwxi_2academic_2courses_2CS525_2Spring09_2code_2Tiger_2codegen_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 */ /* marking external values for GC */ /* code for dynamic loading */ return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [codegen_dats.c] */