;; Function acpi_duplicate_processor_id (acpi_duplicate_processor_id, funcdef_no=3046, decl_uid=29214, cgraph_uid=3143, symbol_order=3218) ********** Local #1: ********** Spilling non-eliminable hard regs: 6 New elimination table: Can't eliminate 16 to 7 (offset=24, prev_offset=0) Can eliminate 16 to 6 (offset=16, prev_offset=0) Can't eliminate 20 to 7 (offset=0, prev_offset=0) Can eliminate 20 to 6 (offset=-8, prev_offset=0) alt=0,overall=0,losers=0,rld_nregs=0 Choosing alt 0 in insn 8: (0) rBwBz {*call} 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=0,overall=18,losers=2,rld_nregs=2 alt=1,overall=0,losers=0,rld_nregs=0 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=0,overall=9,losers=1 -- refuse 1 Matching alt: reject+=2 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=1,overall=17,losers=2 -- refuse 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=2,overall=9,losers=1 -- refuse 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=3,overall=9,losers=1 -- refuse Choosing alt 1 in insn 16: (0) rm (1) 0 (2) re {*adddi_1} alt=0,overall=0,losers=0,rld_nregs=0 Choosing alt 0 in insn 17: (0) =r (1) g {*movsi_internal} alt=0,overall=0,losers=0,rld_nregs=0 Choosing alt 0 in insn 18: (0) r {*cmpsi_ccno_1} alt=2: Bad operand -- refuse alt=3,overall=0,losers=0,rld_nregs=0 Choosing alt 3 in insn 22: (0) r (1) rem {*movdi_internal} 1 Matching alt: reject+=2 alt=0,overall=8,losers=1,rld_nregs=1 1 Matching alt: reject+=2 alt=1,overall=8,losers=1,rld_nregs=1 2 Matching alt: reject+=2 2 Non-pseudo reload: reject+=2 2 Non input pseudo reload: reject++ alt=2,overall=11,losers=1 -- refuse alt=3,overall=0,losers=0,rld_nregs=0 1 Matching alt: reject+=2 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=0,overall=11,losers=1 -- refuse 1 Matching alt: reject+=2 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=1,overall=11,losers=1 -- refuse 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=2,overall=9,losers=1 -- refuse 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=3,overall=9,losers=1 -- refuse Choosing alt 3 in insn 24: (0) r (1) r (2) le {*adddi_1} 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=2: Bad operand -- refuse 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ Cycle danger: overall += LRA_MAX_REJECT alt=3,overall=609,losers=1,rld_nregs=1 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=4: Bad operand -- refuse alt=5,overall=0,losers=0,rld_nregs=0 Choosing alt 5 in insn 25: (0) m (1) re {*movdi_internal} 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=0,overall=9,losers=1,rld_nregs=1 alt=1,overall=0,losers=0,rld_nregs=0 Choosing alt 1 in insn 26: (0) r (1) rm {*cmpsi_1} 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=0,overall=18,losers=2,rld_nregs=2 alt=1,overall=0,losers=0,rld_nregs=0 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=0,overall=9,losers=1 -- refuse 1 Matching alt: reject+=2 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=1,overall=17,losers=2 -- refuse 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=2,overall=9,losers=1 -- refuse 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=3,overall=9,losers=1 -- refuse Choosing alt 1 in insn 36: (0) rm (1) 0 (2) re {*adddi_1} alt=0,overall=0,losers=0,rld_nregs=0 Choosing alt 0 in insn 37: (0) rm (1) re {*cmpsi_1} alt=0,overall=0,losers=0,rld_nregs=0 1 Matching alt: reject+=2 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=0,overall=11,losers=1 -- refuse 1 Matching alt: reject+=2 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=1,overall=11,losers=1 -- refuse 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=2,overall=9,losers=1 -- refuse 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=3,overall=9,losers=1 -- refuse Choosing alt 0 in insn 41: (0) =r (1) %0 (2) rme {*adddi_1} 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=2: Bad operand -- refuse 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ Cycle danger: overall += LRA_MAX_REJECT alt=3,overall=609,losers=1,rld_nregs=1 0 Non-pseudo reload: reject+=2 0 Non input pseudo reload: reject++ alt=4: Bad operand -- refuse alt=5,overall=0,losers=0,rld_nregs=0 Choosing alt 5 in insn 42: (0) m (1) re {*movdi_internal} 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ Cycle danger: overall += LRA_MAX_REJECT alt=0,overall=609,losers=1,rld_nregs=1 alt=1,overall=0,losers=0,rld_nregs=0 Choosing alt 1 in insn 5: (0) q (1) qn {*movqi_internal} 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ Cycle danger: overall += LRA_MAX_REJECT alt=0,overall=609,losers=1,rld_nregs=1 alt=1,overall=0,losers=0,rld_nregs=0 Choosing alt 1 in insn 4: (0) q (1) qn {*movqi_internal} Spilling non-eliminable hard regs: 6 ********** Pseudo live ranges #1: ********** BB 5 Insn 42: point = 0, n_alt = 5 Insn 41: point = 1, n_alt = 0 BB 8 Insn 52: point = 4, n_alt = -1 Insn 51: point = 4, n_alt = -2 BB 6 Insn 64: point = 6, n_alt = -1 Insn 5: point = 6, n_alt = 1 BB 4 Insn 38: point = 7, n_alt = -1 Insn 37: point = 7, n_alt = 0 Insn 36: point = 8, n_alt = 1 BB 7 Insn 4: point = 9, n_alt = 1 BB 3 Insn 27: point = 10, n_alt = -1 Insn 26: point = 10, n_alt = 1 Insn 25: point = 11, n_alt = 5 Insn 24: point = 12, n_alt = 3 Insn 22: point = 13, n_alt = 3 BB 2 Insn 19: point = 15, n_alt = -1 Insn 18: point = 15, n_alt = 0 Insn 17: point = 15, n_alt = 0 Insn 16: point = 16, n_alt = 1 Insn 8: point = 16, n_alt = 0 Insn 2: point = 16, n_alt = -2 r90: [10..15] [7..8] r91: [10..13] [7..8] [2..3] r96: [9..9] [4..6] r97: [10..16] r106: [11..12] r114: [0..1] Compressing live ranges: from 17 to 11 - 64% Ranges after the compression: r90: [9..10] [6..7] r91: [9..10] [6..7] [2..3] r96: [8..8] [4..5] r97: [9..10] r106: [9..10] r114: [0..1] ********** Inheritance #1: ********** EBB 2 3 4 5 EBB 6 EBB 7 EBB 8 ********** Pseudo live ranges #2: ********** BB 5 Insn 42: point = 0, n_alt = 5 Insn 41: point = 1, n_alt = 0 BB 8 Insn 52: point = 4, n_alt = -1 Insn 51: point = 4, n_alt = -2 BB 6 Insn 64: point = 6, n_alt = -1 Insn 5: point = 6, n_alt = 1 BB 4 Insn 38: point = 7, n_alt = -1 Insn 37: point = 7, n_alt = 0 Insn 36: point = 8, n_alt = 1 BB 7 Insn 4: point = 9, n_alt = 1 BB 3 Insn 27: point = 10, n_alt = -1 Insn 26: point = 10, n_alt = 1 Insn 25: point = 11, n_alt = 5 Insn 24: point = 12, n_alt = 3 Insn 22: point = 13, n_alt = 3 BB 2 Insn 19: point = 15, n_alt = -1 Insn 18: point = 15, n_alt = 0 Insn 17: point = 15, n_alt = 0 Insn 16: point = 16, n_alt = 1 Insn 8: point = 16, n_alt = 0 Insn 2: point = 16, n_alt = -2 r90: [10..15] [7..8] r91: [10..13] [7..8] [2..3] r96: [9..9] [4..6] r97: [10..16] r106: [11..12] r114: [0..1] Compressing live ranges: from 17 to 11 - 64% Ranges after the compression: r90: [9..10] [6..7] r91: [9..10] [6..7] [2..3] r96: [8..8] [4..5] r97: [9..10] r106: [9..10] r114: [0..1] ********** Assignment #1: ********** ********** Undoing inheritance #1: ********** ********** Local #2: ********** Spilling non-eliminable hard regs: 6 Spilling non-eliminable hard regs: 6 New elimination table: Can't eliminate 16 to 7 (offset=24, prev_offset=0) Can eliminate 16 to 6 (offset=16, prev_offset=16) Can't eliminate 20 to 7 (offset=0, prev_offset=0) Can eliminate 20 to 6 (offset=-8, prev_offset=-8) changing reg in insn 17 changing reg in insn 37 changing reg in insn 18 changing reg in insn 22 changing reg in insn 41 changing reg in insn 24 changing reg in insn 4 changing reg in insn 5 changing reg in insn 51 changing reg in insn 2 changing reg in insn 26 changing reg in insn 24 changing reg in insn 25 changing reg in insn 41 changing reg in insn 42 try_optimize_cfg iteration 1 starting the processing of deferred insns ending the processing of deferred insns verify found no changes in insn with uid = 8. starting the processing of deferred insns ending the processing of deferred insns df_analyze called df_worklist_dataflow_doublequeue: n_basic_blocks 9 n_edges 10 count 9 ( 1) df_worklist_dataflow_doublequeue: n_basic_blocks 9 n_edges 10 count 9 ( 1) acpi_duplicate_processor_id Dataflow summary: ;; invalidated by call 0 [ax] 1 [dx] 2 [cx] 4 [si] 5 [di] 8 [] 9 [] 10 [] 11 [] 12 [] 13 [] 14 [] 15 [] 17 [flags] 18 [fpsr] 19 [fpcr] 21 [] 22 [] 23 [] 24 [] 25 [] 26 [] 27 [] 28 [] 29 [] 30 [] 31 [] 32 [] 33 [] 34 [] 35 [] 36 [] 37 [r8] 38 [r9] 39 [r10] 40 [r11] 45 [] 46 [] 47 [] 48 [] 49 [] 50 [] 51 [] 52 [] 53 [] 54 [] 55 [] 56 [] 57 [] 58 [] 59 [] 60 [] 61 [] 62 [] 63 [] 64 [] 65 [] 66 [] 67 [] 68 [] 69 [] 70 [] 71 [] 72 [] 73 [] 74 [] 75 [] 76 [] 77 [] 78 [] 79 [] 80 [] ;; hardware regs used 7 [sp] ;; regular block artificial uses 6 [bp] 7 [sp] ;; eh block artificial uses 6 [bp] 7 [sp] 16 [argp] 20 [frame] ;; entry block defs 0 [ax] 1 [dx] 2 [cx] 4 [si] 5 [di] 6 [bp] 7 [sp] 20 [frame] 37 [r8] 38 [r9] ;; exit block uses 0 [ax] 6 [bp] 7 [sp] 20 [frame] ;; regs ever live 0 [ax] 1 [dx] 2 [cx] 3 [bx] 5 [di] 6 [bp] 7 [sp] 17 [flags] ;; ref usage r0={7d,6u} r1={3d,2u} r2={3d,1u} r3={1d,1u} r4={2d} r5={2d,1u} r6={1d,8u} r7={1d,9u} r8={1d} r9={1d} r10={1d} r11={1d} r12={1d} r13={1d} r14={1d} r15={1d} r17={8d,3u} r18={1d} r19={1d} r20={1d,1u} r21={1d} r22={1d} r23={1d} r24={1d} r25={1d} r26={1d} r27={1d} r28={1d} r29={1d} r30={1d} r31={1d} r32={1d} r33={1d} r34={1d} r35={1d} r36={1d} r37={2d} r38={2d} r39={1d} r40={1d} r45={1d} r46={1d} r47={1d} r48={1d} r49={1d} r50={1d} r51={1d} r52={1d} r53={1d} r54={1d} r55={1d} r56={1d} r57={1d} r58={1d} r59={1d} r60={1d} r61={1d} r62={1d} r63={1d} r64={1d} r65={1d} r66={1d} r67={1d} r68={1d} r69={1d} r70={1d} r71={1d} r72={1d} r73={1d} r74={1d} r75={1d} r76={1d} r77={1d} r78={1d} r79={1d} r80={1d} ;; total ref usage 129{97d,32u,0e} in 21{20 regular + 1 call} insns. (note 1 0 6 NOTE_INSN_DELETED) (note 6 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK) (insn 2 6 3 2 (set (reg/v:SI 3 bx [orig:97 proc_id ] [97]) (reg:SI 5 di [ proc_id ])) "drivers/acpi/acpi_processor.c":687 82 {*movsi_internal} (nil)) (note 3 2 8 2 NOTE_INSN_FUNCTION_BEG) (call_insn 8 3 14 2 (call (mem:QI (symbol_ref:DI ("stackleak_track_stack") [flags 0x41] ) [0 stackleak_track_stack S1 A8]) (const_int 0 [0])) 655 {*call} (expr_list:REG_CALL_DECL (symbol_ref:DI ("stackleak_track_stack") [flags 0x41] ) (expr_list:REG_EH_REGION (const_int 0 [0]) (nil))) (nil)) (note 14 8 15 2 NOTE_INSN_DELETED) (note 15 14 16 2 NOTE_INSN_DELETED) (insn 16 15 17 2 (parallel [ (set (mem/c:DI (symbol_ref:DI ("__gcov0.acpi_duplicate_processor_id") [flags 0x2] ) [18 __gcov0.acpi_duplicate_processor_id+0 S8 A128]) (plus:DI (mem/c:DI (symbol_ref:DI ("__gcov0.acpi_duplicate_processor_id") [flags 0x2] ) [18 __gcov0.acpi_duplicate_processor_id+0 S8 A128]) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) 218 {*adddi_1} (nil)) (insn 17 16 18 2 (set (reg:SI 1 dx [orig:90 nr_duplicate_ids.1_21 ] [90]) (mem/c:SI (symbol_ref:DI ("nr_duplicate_ids") [flags 0x2] ) [3 nr_duplicate_ids+0 S4 A32])) "drivers/acpi/acpi_processor.c":694 82 {*movsi_internal} (nil)) (insn 18 17 19 2 (set (reg:CCNO 17 flags) (compare:CCNO (reg:SI 1 dx [orig:90 nr_duplicate_ids.1_21 ] [90]) (const_int 0 [0]))) "drivers/acpi/acpi_processor.c":694 3 {*cmpsi_ccno_1} (nil)) (jump_insn 19 18 20 2 (set (pc) (if_then_else (le (reg:CCNO 17 flags) (const_int 0 [0])) (label_ref 44) (pc))) "drivers/acpi/acpi_processor.c":694 617 {*jcc_1} (int_list:REG_BR_PROB 750 (nil)) -> 44) (note 20 19 22 3 [bb 3] NOTE_INSN_BASIC_BLOCK) (insn 22 20 24 3 (set (reg:DI 0 ax [orig:91 PROF_edge_counter_22 ] [91]) (mem/c:DI (const:DI (plus:DI (symbol_ref:DI ("__gcov0.acpi_duplicate_processor_id") [flags 0x2] ) (const_int 16 [0x10]))) [18 __gcov0.acpi_duplicate_processor_id+16 S8 A128])) 81 {*movdi_internal} (nil)) (insn 24 22 25 3 (parallel [ (set (reg:DI 2 cx [106]) (plus:DI (reg:DI 0 ax [orig:91 PROF_edge_counter_22 ] [91]) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) 218 {*adddi_1} (expr_list:REG_EQUIV (mem/c:DI (const:DI (plus:DI (symbol_ref:DI ("__gcov0.acpi_duplicate_processor_id") [flags 0x2] ) (const_int 16 [0x10]))) [18 __gcov0.acpi_duplicate_processor_id+16 S8 A128]) (nil))) (insn 25 24 26 3 (set (mem/c:DI (const:DI (plus:DI (symbol_ref:DI ("__gcov0.acpi_duplicate_processor_id") [flags 0x2] ) (const_int 16 [0x10]))) [18 __gcov0.acpi_duplicate_processor_id+16 S8 A128]) (reg:DI 2 cx [106])) 81 {*movdi_internal} (nil)) (insn 26 25 27 3 (set (reg:CCZ 17 flags) (compare:CCZ (reg/v:SI 3 bx [orig:97 proc_id ] [97]) (mem/c:SI (symbol_ref:DI ("duplicate_processor_ids") [flags 0x2] ) [3 duplicate_processor_ids+0 S4 A32]))) "drivers/acpi/acpi_processor.c":695 7 {*cmpsi_1} (nil)) (jump_insn 27 26 28 3 (set (pc) (if_then_else (eq (reg:CCZ 17 flags) (const_int 0 [0])) (label_ref:DI 57) (pc))) "drivers/acpi/acpi_processor.c":695 617 {*jcc_1} (int_list:REG_BR_PROB 750 (nil)) -> 57) (note 28 27 34 4 [bb 4] NOTE_INSN_BASIC_BLOCK) (note 34 28 35 4 NOTE_INSN_DELETED) (note 35 34 36 4 NOTE_INSN_DELETED) (insn 36 35 37 4 (parallel [ (set (mem/c:DI (const:DI (plus:DI (symbol_ref:DI ("__gcov0.acpi_duplicate_processor_id") [flags 0x2] ) (const_int 8 [0x8]))) [18 __gcov0.acpi_duplicate_processor_id+8 S8 A64]) (plus:DI (mem/c:DI (const:DI (plus:DI (symbol_ref:DI ("__gcov0.acpi_duplicate_processor_id") [flags 0x2] ) (const_int 8 [0x8]))) [18 __gcov0.acpi_duplicate_processor_id+8 S8 A64]) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) 218 {*adddi_1} (nil)) (insn 37 36 38 4 (set (reg:CCZ 17 flags) (compare:CCZ (reg:SI 1 dx [orig:90 nr_duplicate_ids.1_21 ] [90]) (const_int 1 [0x1]))) "drivers/acpi/acpi_processor.c":694 7 {*cmpsi_1} (nil)) (jump_insn 38 37 39 4 (set (pc) (if_then_else (eq (reg:CCZ 17 flags) (const_int 0 [0])) (label_ref:DI 44) (pc))) "drivers/acpi/acpi_processor.c":694 617 {*jcc_1} (int_list:REG_BR_PROB 750 (nil)) -> 44) (note 39 38 41 5 [bb 5] NOTE_INSN_BASIC_BLOCK) (insn 41 39 42 5 (parallel [ (set (reg:DI 0 ax [114]) (plus:DI (reg:DI 0 ax [orig:91 PROF_edge_counter_22 ] [91]) (const_int 2 [0x2]))) (clobber (reg:CC 17 flags)) ]) 218 {*adddi_1} (expr_list:REG_EQUIV (mem/c:DI (const:DI (plus:DI (symbol_ref:DI ("__gcov0.acpi_duplicate_processor_id") [flags 0x2] ) (const_int 16 [0x10]))) [18 __gcov0.acpi_duplicate_processor_id+16 S8 A128]) (nil))) (insn 42 41 43 5 (set (mem/c:DI (const:DI (plus:DI (symbol_ref:DI ("__gcov0.acpi_duplicate_processor_id") [flags 0x2] ) (const_int 16 [0x10]))) [18 __gcov0.acpi_duplicate_processor_id+16 S8 A128]) (reg:DI 0 ax [114])) 81 {*movdi_internal} (nil)) (barrier 43 42 44) (code_label 44 43 45 6 106 (nil) [2 uses]) (note 45 44 5 6 [bb 6] NOTE_INSN_BASIC_BLOCK) (insn 5 45 64 6 (set (reg:QI 0 ax [orig:96 ] [96]) (const_int 0 [0])) "drivers/acpi/acpi_processor.c":698 84 {*movqi_internal} (expr_list:REG_EQUAL (const_int 0 [0]) (nil))) (jump_insn 64 5 65 6 (set (pc) (label_ref 50)) 649 {jump} (nil) -> 50) (barrier 65 64 57) (code_label 57 65 56 7 108 (nil) [1 uses]) (note 56 57 4 7 [bb 7] NOTE_INSN_BASIC_BLOCK) (insn 4 56 50 7 (set (reg:QI 0 ax [orig:96 ] [96]) (const_int 1 [0x1])) "drivers/acpi/acpi_processor.c":696 84 {*movqi_internal} (expr_list:REG_EQUAL (const_int 1 [0x1]) (nil))) (code_label 50 4 53 8 105 (nil) [1 uses]) (note 53 50 51 8 [bb 8] NOTE_INSN_BASIC_BLOCK) (insn 51 53 52 8 (set (reg/i:QI 0 ax) (reg:QI 0 ax [orig:96 ] [96])) "drivers/acpi/acpi_processor.c":699 84 {*movqi_internal} (nil)) (insn 52 51 66 8 (use (reg/i:QI 0 ax)) "drivers/acpi/acpi_processor.c":699 -1 (nil)) (note 66 52 0 NOTE_INSN_DELETED)