Commit b979ef45 by Mark Mitchell Committed by Mark Mitchell

dsp16xxx.c: Include ggc.h

	* dsp16xxx.c: Include ggc.h
	(override_options): Mark GC roots.
	* mn10200.c: Include ggc.h.
	(asm_file_start): Mark GC roots.
	* tahoe.c: Include ggc.h.
	(extensible_operand): Mark GC roots.

From-SVN: r29187
parent f0866ec2
Tue Sep 7 23:31:53 1999 Mark Mitchell <mark@codesourcery.com>
* dsp16xxx.c: Include ggc.h
(override_options): Mark GC roots.
* mn10200.c: Include ggc.h.
(asm_file_start): Mark GC roots.
* tahoe.c: Include ggc.h.
(extensible_operand): Mark GC roots.
Tue Sep 7 23:23:15 1999 Linas Vepstas <linas@linas.org> Tue Sep 7 23:23:15 1999 Linas Vepstas <linas@linas.org>
* README: Add section discussing status of ELF ABI. * README: Add section discussing status of ELF ABI.
......
...@@ -35,6 +35,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -35,6 +35,7 @@ Boston, MA 02111-1307, USA. */
#include "expr.h" #include "expr.h"
#include "function.h" #include "function.h"
#include "flags.h" #include "flags.h"
#include "ggc.h"
char *text_seg_name; char *text_seg_name;
char *rsect_text; char *rsect_text;
...@@ -1529,8 +1530,33 @@ override_options () ...@@ -1529,8 +1530,33 @@ override_options ()
flag_inline_functions = 1; flag_inline_functions = 1;
} }
} }
/* Mark our global variables for GC. */
ggc_add_rtx (&dsp16xx_addhf3_libcall, 1);
ggc_add_rtx (dsp16xx_addhf3_libcall, 1);
ggc_add_rtx (dsp16xx_subhf3_libcall, 1);
ggc_add_rtx (dsp16xx_mulhf3_libcall, 1);
ggc_add_rtx (dsp16xx_divhf3_libcall, 1);
ggc_add_rtx (dsp16xx_cmphf3_libcall, 1);
ggc_add_rtx (dsp16xx_fixhfhi2_libcall, 1);
ggc_add_rtx (dsp16xx_floathihf2_libcall, 1);
ggc_add_rtx (dsp16xx_neghf2_libcall, 1);
ggc_add_rtx (dsp16xx_mulhi3_libcall, 1);
ggc_add_rtx (dsp16xx_udivqi3_libcall, 1);
ggc_add_rtx (dsp16xx_udivhi3_libcall, 1);
ggc_add_rtx (dsp16xx_divqi3_libcall, 1);
ggc_add_rtx (dsp16xx_divhi3_libcall, 1);
ggc_add_rtx (dsp16xx_modqi3_libcall, 1);
ggc_add_rtx (dsp16xx_modhi3_libcall, 1);
ggc_add_rtx (dsp16xx_umodqi3_libcall, 1);
ggc_add_rtx (dsp16xx_umodhi3_libcall, 1);
ggc_add_rtx (dsp16xx_ashrhi3_libcall, 1);
ggc_add_rtx (dsp16xx_ashlhi3_libcall, 1);
ggc_add_rtx (dsp16xx_ucmphi2_libcall, 1);
ggc_add_rtx (dsp16xx_lshrhi3_libcall, 1);
} }
enum rtx_code enum rtx_code
next_cc_user_code (insn) next_cc_user_code (insn)
rtx insn; rtx insn;
......
...@@ -36,6 +36,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -36,6 +36,7 @@ Boston, MA 02111-1307, USA. */
#include "expr.h" #include "expr.h"
#include "function.h" #include "function.h"
#include "obstack.h" #include "obstack.h"
#include "ggc.h"
/* Global registers known to hold the value zero. /* Global registers known to hold the value zero.
...@@ -72,6 +73,8 @@ asm_file_start (file) ...@@ -72,6 +73,8 @@ asm_file_start (file)
else else
fprintf (file, "\n\n"); fprintf (file, "\n\n");
output_file_directive (file, main_input_filename); output_file_directive (file, main_input_filename);
ggc_add_rtx (&zero_dreg, 1);
ggc_add_rtx (&zero_areg, 1);
} }
/* Print operand X using operand code CODE to assembly language output file /* Print operand X using operand code CODE to assembly language output file
......
...@@ -35,6 +35,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -35,6 +35,7 @@ Boston, MA 02111-1307, USA. */
#include "function.h" #include "function.h"
#include "output.h" #include "output.h"
#include "insn-attr.h" #include "insn-attr.h"
#include "ggc.h"
/* On tahoe, you have to go to memory to convert a register /* On tahoe, you have to go to memory to convert a register
from sub-word to word. */ from sub-word to word. */
...@@ -50,8 +51,11 @@ extensible_operand (op, mode) ...@@ -50,8 +51,11 @@ extensible_operand (op, mode)
|| (GET_CODE (op) == SUBREG || (GET_CODE (op) == SUBREG
&& GET_CODE (SUBREG_REG (op)) == REG)) && GET_CODE (SUBREG_REG (op)) == REG))
&& tahoe_reg_conversion_loc == 0) && tahoe_reg_conversion_loc == 0)
{
tahoe_reg_conversion_loc tahoe_reg_conversion_loc
= assign_stack_local (SImode, GET_MODE_SIZE (SImode)); = assign_stack_local (SImode, GET_MODE_SIZE (SImode));
ggc_add_rtx_root (&tahoe_reg_conversion_loc, 1);
}
return general_operand (op, mode); return general_operand (op, mode);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment