Example 9: An example to illustrate assembly level alias analysis (Liberty Xcode) #Comments: code generated by Liberty compiler -- foo func -- foo: {profile= 1.000000, call_info= "void%int+PP%int+PP", FUNC= {"foo", 0}, FILE= "_no_file_name_", DEP_PRAGMAS, impact_info= {"current", "IMPACT internal", "none", "1999.06"}, host_info= {"x86lin", "gcc", "egcs-2.91.66"}, preprocess_info= {"Ansi-C", "gcc -w -E -Dconst= -D__const= -D__attribute__(p)= -U__GNUC__ -DIMPACT_FIX -DIMPACT_PREPROCESS", "-I/liberty/impact-devel/platform/x86lin_gcc/include", "Sun Apr 1 14:26:47 EDT 2001"}, tr= {r.P0, r.P1}, tro= {-4, -8}} -=foo fn_target=- -- CBfoo_1 cb -- CBfoo_1: {flow= {{CBfoo_2, 1.000000, 0}}, profile= 1.000000} -=CBfoo_1 cb_target=- ( 1 define [r.P0] [] -==- ) ( 2 define [r.P1] [] -==- ) ( 3 define [r.local = 0] [] -==- ) ( 4 define [r.param = 16] [] -==- ) ( 5 prologue [] [] -==- ) ( 6 mov [r.2 = r.P0] [] -==- ) ( 7 mov [r.3 = r.P1] [] -==- -> 0 CBfoo_2 1.000000 -==- ) -- CBfoo_2 cb -- CBfoo_2: {flow= {{CBfoo_3, 1.000000, 1}}, profile= 1.000000} -=CBfoo_2 cb_target=- ( 8 mov [r.P0 = 4] [] -==- ) ( 9 jsr [ = malloc] [r.P15 = r.P0] {tr= r.P0, ret= r.P15, param_size= 16, call_info= "void+P%uint"} -==- ) ( 10 mov [r.4 = r.P15] [] -==- ) ( 11 mov [r.1 = r.4] [] -==- ) ( 12 st_i [ = r.2, 0, r.1] [] {sync_arcs= {{12, "MS", 0, 23, 0}, {13, "MS", 0, 23, 0}, {15, "MS", 0, 23, 0}}, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 13 ld_i [r.5 = r.2, 0] [] {sync_arcs= {{12, "MS", 0, 23, 0}}, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 14 st_i [ = r.5, 0, 2] [] {sync_arcs= {{14, "MS", 0, 23, 0}}, COMPREUSE= "a"} -==- ) ( 15 ld_i [r.6 = r.2, 0] [] {sync_arcs= {{12, "MS", 0, 23, 0}}, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 16 st_i [ = r.3, 0, r.6] [] {sync_arcs= {{16, "MS", 0, 23, 0}}, COMPREUSE= "P_q_2424_13___2#main#"} -==- -> 1 CBfoo_3 1.000000 -==- ) -- CBfoo_3 cb -- CBfoo_3: {profile= 1.000000} -=CBfoo_3 cb_target=- ( 17 epilogue [] [] -==- ) ( 18 rts [] [] -==- ) -- main func -- main: {profile= 1.000000, call_info= "void", FUNC= {"main", 0}, FILE= "_no_file_name_", DEP_PRAGMAS, impact_info= {"current", "IMPACT internal", "none", "1999.06"}, host_info= {"x86lin", "gcc", "egcs-2.91.66"}, preprocess_info= {"Ansi-C", "gcc -w -E -Dconst= -D__const= -D__attribute__(p)= -U__GNUC__ -DIMPACT_FIX -DIMPACT_PREPROCESS", "-I/liberty/impact-devel/platform/x86lin_gcc/include", "Sun Apr 1 14:26:47 EDT 2001"}} -=main fn_target=- -- CBmain_1 cb -- CBmain_1: {flow= {{CBmain_2, 1.000000, 0}}, profile= 1.000000} -=CBmain_1 cb_target=- ( 1 define [r.local = 48] [] -==- ) ( 2 define [r.param = 16] [] -==- ) ( 3 prologue [] [] -==- -> 0 CBmain_2 1.000000 -==- ) -- CBmain_2 cb -- CBmain_2: {flow= {{CBmain_3, 1.000000, 1}}, profile= 1.000000} -=CBmain_2 cb_target=- ( 4 st_i [ = r.LV, -4, a] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {4, "MS", 0, 23, 0}, {6, "MS", 0, 23, 0}, {13, "MS", 0, 23, 0}, {24, "MS", 0, 23, 0}, {28, "MS", 0, 23, 0}, {30, "MS", 0, 23, 0}, {41, "MS", 0, 23, 0}}, lab_P_p_2424_10___2, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 5 st_i [ = r.LV, -8, b] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {5, "MS", 0, 23, 0}, {17, "MS", 0, 23, 0}, {34, "MS", 0, 23, 0}, {43, "MS", 0, 23, 0}}, lab_P_q_2424_13___2, COMPREUSE= "P_q_2424_13___2#main#"} -==- ) ( 6 ld_i [r.2 = r.LV, -4] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {4, "MS", 0, 23, 0}}, lab_P_p_2424_10___2, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 7 mov [r.1 = r.2] [] -==- ) ( 8 add_u [r.3 = r.LV, -4] [] -==- ) ( 9 add_u [r.4 = r.LV, -8] [] -==- ) ( 10 mov [r.P0 = r.3] [] -==- ) ( 11 mov [r.P1 = r.4] [] -==- ) ( 12 jsr [ = foo] [r.P15 = r.P0, r.P1] {sync_arcs= {{21, "MS", 0, 23, 0}, {38, "MS", 0, 23, 0}, {45, "MS", 0, 23, 0}, {14, "MS", 0, 23, 0}, {25, "MS", 0, 23, 0}, {29, "MS", 0, 23, 0}, {31, "MS", 0, 23, 0}, {42, "MS", 0, 23, 0}, {5, "MS", 0, 23, 0}, {17, "MS", 0, 23, 0}, {34, "MS", 0, 23, 0}, {43, "MS", 0, 23, 0}, {4, "MS", 0, 23, 0}, {6, "MS", 0, 23, 0}, {13, "MS", 0, 23, 0}, {24, "MS", 0, 23, 0}, {28, "MS", 0, 23, 0}, {30, "MS", 0, 23, 0}, {41, "MS", 0, 23, 0}}, tr= {r.P0, r.P1}, ret= r.P15, param_size= 16, call_info= "void%int+PP%int+PP"} -==- ) ( 13 ld_i [r.5 = r.LV, -4] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {4, "MS", 0, 23, 0}}, lab_P_p_2424_10___2, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 14 ld_i [r.6 = r.5, 0] [] {sync_arcs= {{45, "MS", 0, 23, 0}, {29, "MS", 0, 23, 0}, {42, "MS", 0, 23, 0}, {12, "MS", 0, 23, 0}}, COMPREUSE= "a"} -==- ) ( 15 add_u [r.7 = r.LV, -48] [] -==- ) ( 16 st_i [ = r.7, 0, r.6] [] {sync_arcs= {{16, "MS", 0, 23, 0}, {20, "MS", 0, 23, 0}, {23, "MS", 0, 23, 0}, {27, "MS", 0, 23, 0}, {33, "MS", 0, 23, 0}, {37, "MS", 0, 23, 0}, {40, "MS", 0, 23, 0}}, COMPREUSE= "P_t_2425_9___2#main#"} -==- ) ( 17 ld_i [r.8 = r.LV, -8] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {5, "MS", 0, 23, 0}}, lab_P_q_2424_13___2, COMPREUSE= "P_q_2424_13___2#main#"} -==- ) ( 18 ld_i [r.9 = r.8, 0] [] {sync_arcs= {{44, "MS", 0, 23, 0}}, COMPREUSE= "b"} -==- ) ( 19 add_u [r.10 = r.LV, -48] [] -==- ) ( 20 st_i [ = r.10, 4, r.9] [] {sync_arcs= {{16, "MS", 0, 23, 0}, {20, "MS", 0, 23, 0}, {23, "MS", 0, 23, 0}, {27, "MS", 0, 23, 0}, {33, "MS", 0, 23, 0}, {37, "MS", 0, 23, 0}, {40, "MS", 0, 23, 0}}, COMPREUSE= "P_t_2425_9___2#main#"} -==- ) ( 21 ld_i [r.11 = r.1, 0] [] {sync_arcs= {{45, "MS", 0, 23, 0}, {29, "MS", 0, 23, 0}, {42, "MS", 0, 23, 0}, {12, "MS", 0, 23, 0}}, COMPREUSE= "a"} -==- ) ( 22 add_u [r.12 = r.LV, -48] [] -==- ) ( 23 st_i [ = r.12, 8, r.11] [] {sync_arcs= {{16, "MS", 0, 23, 0}, {20, "MS", 0, 23, 0}, {23, "MS", 0, 23, 0}, {27, "MS", 0, 23, 0}, {33, "MS", 0, 23, 0}, {37, "MS", 0, 23, 0}, {40, "MS", 0, 23, 0}}, COMPREUSE= "P_t_2425_9___2#main#"} -==- ) ( 24 ld_i [r.13 = r.LV, -4] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {4, "MS", 0, 23, 0}}, lab_P_p_2424_10___2, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 25 ld_i [r.14 = r.13, 0] [] {sync_arcs= {{45, "MS", 0, 23, 0}, {29, "MS", 0, 23, 0}, {42, "MS", 0, 23, 0}, {12, "MS", 0, 23, 0}}, COMPREUSE= "a"} -==- ) ( 26 add_u [r.15 = r.LV, -48] [] -==- ) ( 27 st_i [ = r.15, 12, r.14] [] {sync_arcs= {{16, "MS", 0, 23, 0}, {20, "MS", 0, 23, 0}, {23, "MS", 0, 23, 0}, {27, "MS", 0, 23, 0}, {33, "MS", 0, 23, 0}, {37, "MS", 0, 23, 0}, {40, "MS", 0, 23, 0}}, COMPREUSE= "P_t_2425_9___2#main#"} -==- ) ( 28 ld_i [r.16 = r.LV, -4] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {4, "MS", 0, 23, 0}}, lab_P_p_2424_10___2, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 29 st_i [ = r.16, 0, 10] [] {sync_arcs= {{21, "MS", 0, 23, 0}, {38, "MS", 0, 23, 0}, {45, "MS", 0, 23, 0}, {14, "MS", 0, 23, 0}, {25, "MS", 0, 23, 0}, {29, "MS", 0, 23, 0}, {31, "MS", 0, 23, 0}, {42, "MS", 0, 23, 0}, {12, "MS", 0, 23, 0}}, COMPREUSE= "a"} -==- ) ( 30 ld_i [r.17 = r.LV, -4] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {4, "MS", 0, 23, 0}}, lab_P_p_2424_10___2, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 31 ld_i [r.18 = r.17, 0] [] {sync_arcs= {{45, "MS", 0, 23, 0}, {29, "MS", 0, 23, 0}, {42, "MS", 0, 23, 0}, {12, "MS", 0, 23, 0}}, COMPREUSE= "a"} -==- ) ( 32 add_u [r.19 = r.LV, -48] [] -==- ) ( 33 st_i [ = r.19, 16, r.18] [] {sync_arcs= {{16, "MS", 0, 23, 0}, {20, "MS", 0, 23, 0}, {23, "MS", 0, 23, 0}, {27, "MS", 0, 23, 0}, {33, "MS", 0, 23, 0}, {37, "MS", 0, 23, 0}, {40, "MS", 0, 23, 0}}, COMPREUSE= "P_t_2425_9___2#main#"} -==- ) ( 34 ld_i [r.20 = r.LV, -8] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {5, "MS", 0, 23, 0}}, lab_P_q_2424_13___2, COMPREUSE= "P_q_2424_13___2#main#"} -==- ) ( 35 ld_i [r.21 = r.20, 0] [] {sync_arcs= {{44, "MS", 0, 23, 0}}, COMPREUSE= "b"} -==- ) ( 36 add_u [r.22 = r.LV, -48] [] -==- ) ( 37 st_i [ = r.22, 20, r.21] [] {sync_arcs= {{16, "MS", 0, 23, 0}, {20, "MS", 0, 23, 0}, {23, "MS", 0, 23, 0}, {27, "MS", 0, 23, 0}, {33, "MS", 0, 23, 0}, {37, "MS", 0, 23, 0}, {40, "MS", 0, 23, 0}}, COMPREUSE= "P_t_2425_9___2#main#"} -==- ) ( 38 ld_i [r.23 = r.1, 0] [] {sync_arcs= {{45, "MS", 0, 23, 0}, {29, "MS", 0, 23, 0}, {42, "MS", 0, 23, 0}, {12, "MS", 0, 23, 0}}, COMPREUSE= "a"} -==- ) ( 39 add_u [r.24 = r.LV, -48] [] -==- ) ( 40 st_i [ = r.24, 24, r.23] [] {sync_arcs= {{16, "MS", 0, 23, 0}, {20, "MS", 0, 23, 0}, {23, "MS", 0, 23, 0}, {27, "MS", 0, 23, 0}, {33, "MS", 0, 23, 0}, {37, "MS", 0, 23, 0}, {40, "MS", 0, 23, 0}}, COMPREUSE= "P_t_2425_9___2#main#"} -==- ) ( 41 ld_i [r.25 = r.LV, -4] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {4, "MS", 0, 23, 0}}, lab_P_p_2424_10___2, COMPREUSE= "P_p_2424_10___2#main#"} -==- ) ( 42 st_i [ = r.25, 0, 11] [] {sync_arcs= {{21, "MS", 0, 23, 0}, {38, "MS", 0, 23, 0}, {45, "MS", 0, 23, 0}, {14, "MS", 0, 23, 0}, {25, "MS", 0, 23, 0}, {29, "MS", 0, 23, 0}, {31, "MS", 0, 23, 0}, {42, "MS", 0, 23, 0}, {12, "MS", 0, 23, 0}}, COMPREUSE= "a"} -==- ) ( 43 ld_i [r.26 = r.LV, -8] [] {flag= "F", sync_arcs= {{12, "MS", 0, 23, 0}, {5, "MS", 0, 23, 0}}, lab_P_q_2424_13___2, COMPREUSE= "P_q_2424_13___2#main#"} -==- ) ( 44 st_i [ = r.26, 0, 12] [] {sync_arcs= {{18, "MS", 0, 23, 0}, {35, "MS", 0, 23, 0}, {44, "MS", 0, 23, 0}}, COMPREUSE= "b"} -==- ) ( 45 st_i [ = r.1, 0, 13] [] {sync_arcs= {{21, "MS", 0, 23, 0}, {38, "MS", 0, 23, 0}, {45, "MS", 0, 23, 0}, {14, "MS", 0, 23, 0}, {25, "MS", 0, 23, 0}, {29, "MS", 0, 23, 0}, {31, "MS", 0, 23, 0}, {42, "MS", 0, 23, 0}, {12, "MS", 0, 23, 0}}, COMPREUSE= "a"} -==- -> 1 CBmain_3 1.000000 -==- ) -- CBmain_3 cb -- CBmain_3: {profile= 1.000000} -=CBmain_3 cb_target=- ( 46 epilogue [] [] -==- ) ( 47 rts [] [] -==- )