Lines Matching refs:cfi

580   dw_cfi_ref cfi = ggc_alloc (sizeof (dw_cfi_node));
582 cfi->dw_cfi_next = NULL;
583 cfi->dw_cfi_oprnd1.dw_cfi_reg_num = 0;
584 cfi->dw_cfi_oprnd2.dw_cfi_reg_num = 0;
586 return cfi;
592 add_cfi (dw_cfi_ref *list_head, dw_cfi_ref cfi)
600 *p = cfi;
619 add_fde_cfi (const char *label, dw_cfi_ref cfi)
648 add_cfi (&fde->dw_fde_cfi, cfi);
652 add_cfi (&cie_cfi_head, cfi);
658 lookup_cfa_1 (dw_cfi_ref cfi, dw_cfa_location *loc)
660 switch (cfi->dw_cfi_opc)
663 loc->offset = cfi->dw_cfi_oprnd1.dw_cfi_offset;
667 = cfi->dw_cfi_oprnd1.dw_cfi_offset * DWARF_CIE_DATA_ALIGNMENT;
670 loc->reg = cfi->dw_cfi_oprnd1.dw_cfi_reg_num;
673 loc->reg = cfi->dw_cfi_oprnd1.dw_cfi_reg_num;
674 loc->offset = cfi->dw_cfi_oprnd2.dw_cfi_offset;
677 loc->reg = cfi->dw_cfi_oprnd1.dw_cfi_reg_num;
679 = cfi->dw_cfi_oprnd2.dw_cfi_offset * DWARF_CIE_DATA_ALIGNMENT;
682 get_cfa_from_loc_descr (loc, cfi->dw_cfi_oprnd1.dw_cfi_loc);
694 dw_cfi_ref cfi;
701 for (cfi = cie_cfi_head; cfi; cfi = cfi->dw_cfi_next)
702 lookup_cfa_1 (cfi, loc);
707 for (cfi = fde->dw_fde_cfi; cfi; cfi = cfi->dw_cfi_next)
708 lookup_cfa_1 (cfi, loc);
758 dw_cfi_ref cfi;
774 cfi = new_cfi ();
785 cfi->dw_cfi_opc = DW_CFA_def_cfa_offset_sf;
786 cfi->dw_cfi_oprnd1.dw_cfi_offset = f_offset;
790 cfi->dw_cfi_opc = DW_CFA_def_cfa_offset;
791 cfi->dw_cfi_oprnd1.dw_cfi_offset = loc.offset;
803 cfi->dw_cfi_opc = DW_CFA_def_cfa_register;
804 cfi->dw_cfi_oprnd1.dw_cfi_reg_num = loc.reg;
818 cfi->dw_cfi_opc = DW_CFA_def_cfa_sf;
819 cfi->dw_cfi_oprnd1.dw_cfi_reg_num = loc.reg;
820 cfi->dw_cfi_oprnd2.dw_cfi_offset = f_offset;
824 cfi->dw_cfi_opc = DW_CFA_def_cfa;
825 cfi->dw_cfi_oprnd1.dw_cfi_reg_num = loc.reg;
826 cfi->dw_cfi_oprnd2.dw_cfi_offset = loc.offset;
836 cfi->dw_cfi_opc = DW_CFA_def_cfa_expression;
838 cfi->dw_cfi_oprnd1.dw_cfi_loc = loc_list;
841 add_fde_cfi (label, cfi);
852 dw_cfi_ref cfi = new_cfi ();
854 cfi->dw_cfi_oprnd1.dw_cfi_reg_num = reg;
861 cfi->dw_cfi_opc = DW_CFA_offset_extended;
863 cfi->dw_cfi_opc = DW_CFA_offset;
878 cfi->dw_cfi_opc = DW_CFA_offset_extended_sf;
880 cfi->dw_cfi_oprnd2.dw_cfi_offset = offset;
883 cfi->dw_cfi_opc = DW_CFA_same_value;
886 cfi->dw_cfi_opc = DW_CFA_register;
887 cfi->dw_cfi_oprnd2.dw_cfi_reg_num = sreg;
890 add_fde_cfi (label, cfi);
903 dw_cfi_ref cfi = new_cfi ();
905 cfi->dw_cfi_opc = DW_CFA_GNU_window_save;
906 add_fde_cfi (label, cfi);
915 dw_cfi_ref cfi;
922 cfi = new_cfi ();
923 cfi->dw_cfi_opc = DW_CFA_GNU_args_size;
924 cfi->dw_cfi_oprnd1.dw_cfi_offset = size;
925 add_fde_cfi (label, cfi);
1917 (enum dwarf_call_frame_info cfi);
1920 dw_cfi_oprnd1_desc (enum dwarf_call_frame_info cfi)
1922 switch (cfi)
1963 (enum dwarf_call_frame_info cfi);
1966 dw_cfi_oprnd2_desc (enum dwarf_call_frame_info cfi)
1968 switch (cfi)
2046 output_cfi (dw_cfi_ref cfi, dw_fde_ref fde, int for_eh)
2049 if (cfi->dw_cfi_opc == DW_CFA_advance_loc)
2050 dw2_asm_output_data (1, (cfi->dw_cfi_opc
2051 | (cfi->dw_cfi_oprnd1.dw_cfi_offset & 0x3f)),
2053 cfi->dw_cfi_oprnd1.dw_cfi_offset);
2054 else if (cfi->dw_cfi_opc == DW_CFA_offset)
2056 r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, for_eh);
2057 dw2_asm_output_data (1, (cfi->dw_cfi_opc | (r & 0x3f)),
2059 dw2_asm_output_data_uleb128 (cfi->dw_cfi_oprnd2.dw_cfi_offset, NULL);
2061 else if (cfi->dw_cfi_opc == DW_CFA_restore)
2063 r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, for_eh);
2064 dw2_asm_output_data (1, (cfi->dw_cfi_opc | (r & 0x3f)),
2069 dw2_asm_output_data (1, cfi->dw_cfi_opc,
2070 "%s", dwarf_cfi_name (cfi->dw_cfi_opc));
2072 switch (cfi->dw_cfi_opc)
2078 gen_rtx_SYMBOL_REF (Pmode, cfi->dw_cfi_oprnd1.dw_cfi_addr),
2082 cfi->dw_cfi_oprnd1.dw_cfi_addr, NULL);
2083 fde->dw_fde_current_label = cfi->dw_cfi_oprnd1.dw_cfi_addr;
2087 dw2_asm_output_delta (1, cfi->dw_cfi_oprnd1.dw_cfi_addr,
2089 fde->dw_fde_current_label = cfi->dw_cfi_oprnd1.dw_cfi_addr;
2093 dw2_asm_output_delta (2, cfi->dw_cfi_oprnd1.dw_cfi_addr,
2095 fde->dw_fde_current_label = cfi->dw_cfi_oprnd1.dw_cfi_addr;
2099 dw2_asm_output_delta (4, cfi->dw_cfi_oprnd1.dw_cfi_addr,
2101 fde->dw_fde_current_label = cfi->dw_cfi_oprnd1.dw_cfi_addr;
2105 dw2_asm_output_delta (8, cfi->dw_cfi_oprnd1.dw_cfi_addr,
2107 fde->dw_fde_current_label = cfi->dw_cfi_oprnd1.dw_cfi_addr;
2112 r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, for_eh);
2114 dw2_asm_output_data_uleb128 (cfi->dw_cfi_oprnd2.dw_cfi_offset, NULL);
2119 r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, for_eh);
2121 dw2_asm_output_data_sleb128 (cfi->dw_cfi_oprnd2.dw_cfi_offset, NULL);
2128 r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, for_eh);
2133 r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, for_eh);
2135 r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd2.dw_cfi_reg_num, for_eh);
2141 dw2_asm_output_data_uleb128 (cfi->dw_cfi_oprnd1.dw_cfi_offset, NULL);
2145 dw2_asm_output_data_sleb128 (cfi->dw_cfi_oprnd1.dw_cfi_offset, NULL);
2153 output_cfa_loc (cfi);
2175 dw_cfi_ref cfi;
2360 for (cfi = cie_cfi_head; cfi != NULL; cfi = cfi->dw_cfi_next)
2361 output_cfi (cfi, NULL, for_eh);
2502 for (cfi = fde->dw_fde_cfi; cfi != NULL; cfi = cfi->dw_cfi_next)
2503 output_cfi (cfi, fde, for_eh);
3436 description based on a cfi entry with a complex address. */
3439 output_cfa_loc (dw_cfi_ref cfi)
3445 loc = cfi->dw_cfi_oprnd1.dw_cfi_loc;
10558 dw_cfi_ref cfi;
10577 for (cfi = cie_cfi_head; cfi; cfi = cfi->dw_cfi_next)
10578 lookup_cfa_1 (cfi, &next_cfa);
10583 for (cfi = fde->dw_fde_cfi; cfi; cfi = cfi->dw_cfi_next)
10584 switch (cfi->dw_cfi_opc)
10600 last_label = cfi->dw_cfi_oprnd1.dw_cfi_addr;
10612 lookup_cfa_1 (cfi, &next_cfa);