Commit Graph

306 Commits

Author SHA1 Message Date
Aaron W. LaFramboise
94c1e7acf0 libgcc2.c (getpagesize): Change type of return value to int.
2004-09-27  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>

	* libgcc2.c (getpagesize): Change type of return value to int.

From-SVN: r88165
2004-09-27 08:01:57 +00:00
Kazu Hirata
ea4b78487c c-typeck.c, [...]: Fix comment formatting.
* c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
	gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
	lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
	tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.

From-SVN: r88102
2004-09-25 14:36:40 +00:00
Mark Mitchell
3fc1f660b2 gthr-gnat.c: Add visibility #pragmas.
* gthr-gnat.c: Add visibility #pragmas.
	* gthr-gnat.h : Likewise.
	* gthr.h: Likewise.
	* libgcc2.c (__ffsSI2): Move prototype to libgcc2.h.
	(__ffsDI2): Likewise.
	(__clzSI2): Likewise.
	(__ctzSI2): Likewise.
	(__ctzDI2): Likewise.
	(__popcountSI2): Likewise.
	(__popcountDI2): Likewise.
	(__paritySI2): Likewise.
	(__parityDI2): Likewise.
	* libgcc2.h: Add visibility #pragmas.
	(__clzDI2): Add prototype.
	(__clzSI2): Likewise.
	(__ctzSI2): Likewise.
	(__ffsDI2): Likewise.
	(__ffsSI2): Likewise.
	(__ctzDI2): Likewise.
	(__popcountSI2): Likewise.
	(__popcountDI2): Likewise.
	(__paritySI2): Likewise.
	(__parityDI2): Likewise.
	* unwind-dw2-fde.h: Add visibility #pragmas.
	* unwind.h: Likewise.

From-SVN: r85489
2004-08-03 16:57:40 +00:00
Zack Weinberg
968a7562a6 libgcc2.c: Change all conditionals testing LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
* libgcc2.c: Change all conditionals testing
	LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
	* libgcc2.h: Likewise.
	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Set
	TYPE_PRECISION of float80_type to 80.
	* config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION
	of fpreg_type and float80_type to 80.
	* config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h
	* config/m68k/netbsd-elf.h:
	Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE
	to evaluate to 80 whenever they would formerly have evaluated to 96.
	* config/i386/sco5.h: Remove unnecessary redefinition of
	LONG_DOUBLE_TYPE_SIZE.
	* doc/rtl.texi: Clarify uses of XFmode and TFmode.
	* config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for
	XFmode, with a bitsize of 80.  Update commentary.
	* config/ia64/ia64-modes.def: Likewise.
	* config/m68k/m68k-modes.def: Likewise.

From-SVN: r85232
2004-07-27 21:41:23 +00:00
Eric Botcazou
e7a742ec96 libgcc2.c (__enable_execute_stack): New symbol.
* libgcc2.c (__enable_execute_stack): New symbol.
	* libgcc-std.ver (GCC_3.4.2): New version.  Inherit from GCC_3.4
	and declare __enable_execute_stack.
	* mklibgcc.in (lib2funcs): Add _enable_execute_stack.
	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
	* config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
	ENABLE_EXECUTE_STACK.
	* config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
	ENABLE_EXECUTE_STACK.
	* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/i386/i386.c (x86_initialize_trampoline): Conditionalize
	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
	ENABLE_EXECUTE_STACK.
	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
	* config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
	(sparc64_initialize_trampoline): Likewise.
	* doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.

From-SVN: r84880
2004-07-17 21:09:14 +00:00
Falk Hueffner
d3a7ef9aac re PR other/15526 (-ftrapv aborts on 0 * (-1))
PR other/15526
	* libgcc2.c (__mulvsi3): Fix overflow test.
	* gcc.dg/ftrapv-1.c: New test case.

From-SVN: r82042
2004-05-20 01:43:20 +02:00
Kaveh R. Ghazi
b982024e30 libgcc2.c (__negdi2, [...]): Const-ify and/or initialize automatic variables at declaration.
* libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
	__mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
	__ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
	__udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
	__fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
	__floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
	Const-ify and/or initialize automatic variables at declaration.

From-SVN: r73573
2003-11-14 02:23:13 +00:00
John David Anglin
4043d9c130 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
From-SVN: r73191
2003-11-02 00:16:33 +00:00
Bruno Haible
4c20b2e76b re PR middle-end/6578 (-ftrapv doesn't catch multiplication overflow)
2003-06-30  Bruno Haible  <bruno@clisp.org>

	PR middle-end/6578
	* libgcc2.c (__subvsi3): Remove simplification that would not work
	when subtracting -0x80000000.
	(__subvdi3): Remove simplification that would return a wrong result.
	(__mulvsi3): Fix overflow check.
	(__absvdi2): Fix simplification that would return a wrong result.
	(__mulvdi3): Fix overflow check.

From-SVN: r68758
2003-07-01 04:04:13 +00:00
Kaveh R. Ghazi
e87b9d8b7a libgcc2.c: Delete sysV68 L_trampoline section.
* libgcc2.c: Delete sysV68 L_trampoline section.
	* config/m68k/mot3300-crt0.S: Delete file.
	* config/m68k/mot3300Mcrt0.S: Likewise.

From-SVN: r67965
2003-06-15 05:47:39 +00:00
Andreas Jaeger
5145a02e5d mklibgcc.in (lib2funcs): Remove _exit.
* mklibgcc.in (lib2funcs): Remove _exit.
        * libgcc2.c: Remove L_exit.
        * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.

        * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.

        * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.

From-SVN: r67599
2003-06-07 20:50:54 +02:00
Andreas Jaeger
f691dc3b22 uwin.h: Remove SUBTARGET_PROLOGUE.
* config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.

	* config/i386/i386.c (ix86_expand_prologue): Do not use
	SUBTARGET_PROLOGUE.

	* system.h: Poision SUBTARGET_PROLOGUE.

	* config/arm/arm-protos.h: Remove unused rdate_section prototype.

	* output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
	dependend code.

	* system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.

	* system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
	INSN_CACHE_LINE_WIDTH.

	* libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
	(__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
	INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.

	* doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
	INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.

	* dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
	(dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
	(dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
	(dbxout_block): Remove usage of DBX_LBRAC_FIRST.
	(dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
	(dbxout_init): Remove test for DBX_WORKING_DIRECTORY.

	* doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
	DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
	DBX_WORKING_DIRECTORY.

	* system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
	DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.

	* config/frv/frv-protos.h: Remove unused const_section
	declaration.
	* config/vax/vax-protos.h: Likewise.

	* output.h: Remove CONST_SECTION_ASM_OP usage.

	* system.h: Poison CONST_SECTION_ASM_OP.

	* crtstuff.c (__do_global_dtors_aux): Remove usage of CRT_GET_RFIB_TEXT
	(frame_dummy): Likewise.
	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
	* system.h: Poison CRT_GET_RFIB_TEXT.

From-SVN: r67423
2003-06-04 07:21:41 +02:00
Richard Henderson
8275b011ca libgcc-std.ver (__clztf2): New.
* libgcc-std.ver (__clztf2): New.
        (__ctztf2, __popcounttf2, __paritytf2): New.
        * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
        __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
        adjust code to match the different type sizes.
        * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
        __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.

        * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
        TImode; select word_mode and twice that.
        (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
        select the modes from float, double, and long double.
        (init_optabs): Remove duplicate initializations.

From-SVN: r62606
2003-02-09 10:35:22 -08:00
Richard Henderson
dfff898c27 libgcc2.h, libgcc2.c (__ffsSI2): New.
* libgcc2.h, libgcc2.c (__ffsSI2): New.
        (__ffsDI2): Rename from __ffsdi2.
        * mklibgcc.in (lib2funcs): Add _ffssi2.

From-SVN: r62422
2003-02-04 16:52:24 -08:00
Richard Henderson
0c9ed8564d libgcc2.c (__paritysi2, [...]): Replace last two reduction rounds with a "bit table" lookup.
* libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
        rounds with a "bit table" lookup.

From-SVN: r62421
2003-02-04 16:43:22 -08:00
Falk Hueffner
087fc75a00 * libgcc2.c (__subvdi3): Fix typo.
From-SVN: r62406
2003-02-04 13:45:40 -08:00
Richard Henderson
dabb3f04da libgcc2.c (__ffsdi2, [...]): Change return type to "int".
* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
        __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
        return type to "int".  Shuffle declarations and undef int trap.
        * libgcc2.h: Remove their declarations.
        * optabs.c (expand_unop): Force outmode to int for bitops.

From-SVN: r62353
2003-02-03 14:42:20 -08:00
Richard Henderson
53585c36db libgcc2.c: Include auto-host.h.
* libgcc2.c: Include auto-host.h.
        (ATTRIBUTE_HIDDEN): New.
        (__clz_tab): Don't declare here for clz and ctz.
        (__clzsi2, __clzdi2): Use count_leading_zeros.
        (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
        (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
        (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
        * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.

From-SVN: r62256
2003-02-01 12:58:35 -08:00
Richard Henderson
2928cd7aac [multiple changes]
2003-02-01  Richard Henderson  <rth@redhat.com>

	* optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
	* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
	__popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
	return type to Wtype.

	* libgcc-std.ver (GCC_3.4): Fix inheritance.

	* config/i386/i386.md (ffssi2): Use nonimmediate_operand for
	expander input constraint.

2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>

        * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
        OTI_parity.
        (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
        * optabs.c (widen_clz, expand_parity): New.
        (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
        for libcalls to clz, ctz, popcount, and parity.
        (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
        parity_optab, and set up libfunc handlers.
        * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
        __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
        __popcount_tab): New.
        * libgcc2.h: Declare them.
        * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
        * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
        and parity_optab.
        * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
        * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
        BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
        BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
        BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
        BUILT_IN_PARITYLL): New.
        * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
        and add optab argument.
        (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
        * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
        * expr.c (expand_expr): Handle them.
        * fold-const.c (tree_expr_nonnegative_p): Likewise.
        * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
        * reload1.c (eliminate_regs): Handle them.
        (elimination_effects): Likewise.
        * function.c (instantiate_virtual_regs_1): Likewise
        * genattrtab.c (check_attr_value): Likewise.
        * simplify-rtx.c (simplify_unary_operation): Likewise.
        * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
        * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
        (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
        * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
        * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
        __builtin_arm_clz.
        * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
        * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
        * doc/extend.texi (Other Builtins): Add new builtins.
        * doc/md.texi (Standard Names): Add new patterns.

From-SVN: r62252
2003-02-01 11:00:02 -08:00
Nathan Sidwell
23af32e6ea Makefile.in (LIB2FUNCS_ST): Remove _gcov.
* Makefile.in (LIB2FUNCS_ST): Remove _gcov.
	(LIBGCOV): New variable.
	(libgcc.mk): Add LIBGCOV.
	(LIBGCC_DEPS): Add libgcov.c.
	(libgcov.a): New target.
	(clean): Remove libgcov.a.
	(install-libgcc): Do libgcov too.
	(stage1-start, stage2-start, stage3-start, stage4-start): Deal
	with libgcov.a.
	* libgcc2.c (L_gcov): Move into ...
	* libgcov.c: ... here. New file.
	* mklibgcc.in: Add libgcov rules.
	* gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.

	* doc/invoke.texi (profile-arcs, test-coverage): Update and
	clarify.

	* profile.c (index_counts_file): Remove duplicate check for open file.

From-SVN: r61905
2003-01-27 23:22:17 +00:00
Kazu Hirata
32dd366d5e basic-block.h: Fix comment formatting.
* basic-block.h: Fix comment formatting.
	* calls.c: Likewise.
	* combine.c: Likewise.
	* convert.c: Likewise.
	* gcov.c: Likewise.
	* haifa-sched.c: Likewise.
	* libgcc2.c: Likewise.
	* loop.c: Likewise.
	* profile.c: Likewise.
	* system.h: Likewise.

From-SVN: r61478
2003-01-18 22:32:06 +00:00
Kazu Hirata
3d042e770b ifcvt.c: Fix comment typos.
* ifcvt.c: Fix comment typos.
	* lcm.c: Likewise.
	* libgcc2.c: Likewise.
	* local-alloc.c: Likewise.
	* loop.c: Likewise.
	* predict.c: Likewise.
	* ra-build.c: Likewise.
	* ra.c: Likewise.
	* ra-colorize.c: Likewise.
	* ra.h: Likewise.
	* ra-rewrite.c: Likewise.
	* regmove.c: Likewise.
	* reload.h: Likewise.
	* rtlanal.c: Likewise.
	* toplev.c: Likewise.
	* tree.h: Likewise.
	* unwind-dw2-fde-glibc.c: Likewise.
	* vmsdbgout.c: Likewise.

From-SVN: r61421
2003-01-17 03:28:11 +00:00
Zack Weinberg
4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Ulrich Weigand
1ab9ba6286 libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when inlining it into other libgcc2 routines.
* libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
	inlining it into other libgcc2 routines.
	(__udivmoddi4): Likewise.

From-SVN: r58450
2002-10-23 10:47:24 +00:00
Ulrich Weigand
f8eef88332 libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that don't define sdiv_qrnnd.
* libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
        don't define sdiv_qrnnd.

From-SVN: r58393
2002-10-21 23:10:38 +00:00
Ulrich Weigand
59798a0cae libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3, __divdi3, __umoddi3, or __moddi3.
* libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
	__divdi3, __umoddi3, or __moddi3.

From-SVN: r58382
2002-10-21 20:25:38 +00:00
Alan Modra
cef1c1bac1 * libgcc2.c (__floatdisf): Properly cure double rounding.
From-SVN: r57965
2002-10-09 09:20:56 +09:30
Kazu Hirata
4b7e68e7d2 basic-block.h: Fix comment formatting.
* basic-block.h: Fix comment formatting.
	* c-common.c: Likewise.
	* c-common.h: Likewise.
	* c-lex.c: Likewise.
	* c-pretty-print.c: Likewise.
	* cfglayout.c: Likewise.
	* cfgloop.c: Likewise.
	* defaults.h: Likewise.
	* et-forest.c: Likewise.
	* explow.c: Likewise.
	* function.h: Likewise.
	* gcov.c: Likewise.
	* genattrtab.c: Likewise.
	* gengtype.c: Likewise.
	* ifcvt.c: Likewise.
	* libgcc2.c: Likewise.
	* loop.c: Likewise.
	* profile.c: Likewise.
	* ra-build.c: Likewise.
	* real.c: Likewise.
	* rtl.h: Likewise.
	* tracer.c: Likewise.
	* tree-inline.c: Likewise.
	* varasm.c: Likewise.

From-SVN: r56952
2002-09-08 12:47:27 +00:00
Jan Hubicka
7acc97e02e * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
From-SVN: r56603
2002-08-27 16:02:29 +00:00
Kaveh R. Ghazi
cbf2f4797d m68k.c (m68k_output_function_prologue, [...]): Delete versions for DPX2/MOTOROLA and NEWS/MOTOROLA.
* m68k.c (m68k_output_function_prologue,
	m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
	and NEWS/MOTOROLA.
	* genattrtab.c: Remove dpx2 comment.
	* libgcc2.c (__enable_execute_stack): Delete versions for
	NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
	sony_news/SYSTYPE_BSD.
	* longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
	__gmicro__, __i860__, __NeXT__ and __pyr__.
	* rtl.h: Remove convex comment.
	* varasm.c: Likewise.

From-SVN: r56272
2002-08-14 03:16:05 +00:00
Nathan Sidwell
8733892f66 libgcc2.c (L_bb): Remove unneeded #includes.
* libgcc2.c (L_bb): Remove unneeded #includes.
	(__global_counters, __gthreads_active): Remove unused globals.
	(__bb_exit_func): Merge counts into files rather than appending.
	* Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
	(ALL_CFLAGS): ... to here.

From-SVN: r56250
2002-08-13 12:11:20 +00:00
Bernd Schmidt
d8088c6f07 New target macro DECLARE_LIBRARY_RENAMES
From-SVN: r55889
2002-07-30 23:55:09 +00:00
Hartmut Schirmer
b68daef415 libgcc2.c (__divdi3, __moddi3): Use unary minus operator instead of __negdi2 directly.
* libgcc2.c (__divdi3, __moddi3): Use unary minus operator
        instead of __negdi2 directly.

From-SVN: r55632
2002-07-21 17:15:49 -07:00
Jeff Law
912ce2971a * libgcc2.c: Do not include symcat.h or machmode.h.
From-SVN: r54717
2002-06-17 15:08:12 -06:00
Zack Weinberg
a538146672 Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* Makefile.in (MACHMODE_H): Add @extra_modes_file@.
	* configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
	exists, substitute its pathname as @extra_modes_file@, define
	EXTRA_MODES_FILE to be an appropriate string to #include it
	with, and define EXTRA_CC_MODES to 1.

	* machmode.def: Update comments.  Include EXTRA_MODES_FILE if
	it's defined.  Get rid of redundancy in calling sequence for
	CC; don't use it to define CCmode, to avoid a warning.
	* libgcc2.c: Include symcat.h for the sake of machmode.def.

	* arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
	i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
	pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
	New files.
	* arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
	pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.

	* doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
	defining extra CC modes.

From-SVN: r54478
2002-06-10 22:35:56 +00:00
Kazu Hirata
e11e816ec7 langhooks.c: Fix formatting.
* langhooks.c: Fix formatting.
	* langhooks.h: Likewise.
	* lcm.c: Likewise.
	* libgcc2.c: Likewise.
	* lists.c: Likewise.
	* local-alloc.c: Likewise.
	* loop.c: Likewise.
	* loop.h: Likewise.

From-SVN: r54070
2002-05-30 20:55:11 +00:00
Richard Henderson
fc8813382e system.h (BLOCK_PROFILER, [...]): Poison.
* system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
	FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
	MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.

	* toplev.c (display_help): Kill -a -ax help.

	* config/1750a/1750a.h, config/alpha/alpha.h,
	config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
	config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
	config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.

	* libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
	* config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.

	* config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
	(ix86_output_function_block_profiler): Kill.
	* config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
	(m68hc11_function_block_profiler): Kill.
	* config/m68hc11/m68hc11-protos.h: Update.
	* config/m88k/m88k.c (output_block_profiler): Kill.
	(output_function_block_profiler): Kill.
	* config/m88k/m88k-protos.h: Update.

From-SVN: r53617
2002-05-19 01:31:53 -07:00
Richard Henderson
2292e8fc45 final.c (end_final): Tidy whitespace.
* final.c (end_final): Tidy whitespace.  Don't honor flag_pack_struct.
        Convert integers constants as needed.  Replace "nwords" field with
        "sizeof_bb".
        (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
        * function.h: Fix typo in comment.
        * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".

From-SVN: r53374
2002-05-10 17:32:01 -07:00
Jan Hubicka
b7c9bf289f final.c (end_final): Use C trees to output data structures for profiling.
* final.c (end_final): Use C trees to output data structures for profiling.

	* Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
        (profile.o): New dependency profile.h
        (final.o): New dependency profile.h
        * profile.h: New file. New global structure profile_info.
        * final.h (count_edges_instrumented_now): Declare.
        (current_function_cfg_checksum): Declare.
        (function_list): New structure.
        (functions_head, functions_tail): New static variables.
        (end_final): Emits more data, removed some -ax stuff.
        (final): Stores function names and chcksums.
        * gcov-io.h (__write_gcov_string): New function.
        (__read_gcov_string): New function.
        * gcov.c (read_profile): New function.
        (create_program_flow_graph): Uses read_profile instead of reading
	da_file.
        (read_files): Removed da_file checking, it's done by read_profile now.
        * libgcc2.c (bb_function_info): New structure.
        (bb): New field in structure, removed some -ax stuff.
        (__bb_exit_func): Changed structure of da_file.
        * profile.c (count_edges_instrumented_now): New global variable.
        (current_function_cfg_checksum): New global variable.
        (max_counter_in_program): New global variable.
        (get_exec_counts): New function.
        (compute_checksum): New function.
        (instrument_edges): Sets count_edges_instrumented_now.
        (compute_branch_probabilities): Uses get_exec_counts instead of
	reading da_file.
        (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
        (init_branch_prob): Removed da_file checking, done in get_exec_counts
	now.
        (end_branch_prob): Removed da_file checking, done in get_exec_counts
	now.
        * gcov.texi: Updated information about gcov file format.

Co-Authored-By: Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>

From-SVN: r53326
2002-05-09 12:54:19 +00:00
Richard Henderson
543828cab1 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
From-SVN: r51792
2002-04-02 20:19:56 -08:00
Richard Henderson
adc186efab * libgcc2.c (__bb_exit_func): Make static.
From-SVN: r51647
2002-03-31 02:58:55 -08:00
Zack Weinberg
15e5ad7698 toplev.c: Don't include setjmp.h.
* toplev.c: Don't include setjmp.h.  Kill float_handler_set,
	float_handled, float_handler, float_signal, set_float_handler,
	and do_float_handler.  Set handler for SIGFPE to crash_signal.
	* toplev.h: Don't prototype do_float_handler.

	* c-lex.c: Fold parse_float into lex_number.  Make warning
	about portability of hex float constants more informative, and
	don't issue it on top of a syntax error.
	* fold-const.c: Fold const_binop_1 and fold_convert_1 into
	their callers.
	* real.h: Define REAL_VALUE_ABS here...
	* simplify-rtx.c: ... not here.  Fold check_fold_consts,
	simplify_unary_real, simplify_binary_real, and
	simplify_binary_is2orm1 into their callers.
	* tree.c: Fold build_real_from_int_cst_1 into caller.

	* doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.

	* tsystem.h: Include float.h here...
	* libgcc2.c: ... not here.

java:
	* lex.c: Change java_perform_atof to take normal parameters
	instead of a pointer to a parameter block.  Call it directly
	from java_lex.

testsuite:
	* gcc.dg/c90-hexfloat-1.c: Adjust error regexps.

From-SVN: r51336
2002-03-25 20:52:28 +00:00
Zack Weinberg
b216cd4ae3 real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
* real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
	Always make REAL_VALUE_TYPE a struct containing an array of
	HOST_WIDE_INT, not a double.  Tidy up the code deciding how
	big it is.  Don't declare or use union real_extract.

	* emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
	decode_rtx_const, output_constant_pool), config/a29k/a29k.c
	(print_operand), config/arm/arm.c (output_move_double),
	config/arm/arm.md (consttable_4, consttable_8),
	config/romp/romp.c (output_fpops), config/s390/s390.h
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
	(xtensa_output_literal): Don't use union real_extract.

	* config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
	(sfmode_constant_to_ulong), config/ns32k/merlin.h
	(PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
	config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
	(PRINT_OPERAND): Don't use local version of union
	real_extract.

	* config/convex/convex.c (check_float_value), config/vax/vax.c
	(vax_float_literal), config/m88k/m88k.md (divdf3),
	config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
	config/pdp11/pdp11.c (output_move_quad): Don't do host
	arithmetic on target floating point quantities.

	* config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
	(output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.

	* fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
	Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.

	* real.c (earith): Test INFINITY rather than REAL_INFINITY;
	NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
	INFINITY.
	* print-rtl.c (print_rtx): Disable code which needs
	floating-point emulator.
	* libgcc2.c: Include float.h and use DBL_MANT_DIG,
	FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
	depending on HOST_FLOAT_FORMAT to be defined properly.

	* ch/grant.c, cp/error.c: Always use REAL_VALUE_TO_DECIMAL;
	don't test REAL_IS_NOT_DOUBLE.

	* config/1750a/1750a.c (get_double, float_label): Delete.
	(print_operand): Delete huge commented-out chunk.  Use
	REAL_VALUE_TO_DECIMAL.
	* config/1750a/1750a-protos.h: Delete prototypes of deleted
	functions.
	* config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
	IEEE_FLOAT_FORMAT.
	* config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
	Use REAL_VALUE_TO_DECIMAL as ELF version does.
	* config/m88k/m88k.c (real_power_of_2_operand,
	legitimize_operand): Take the REAL_VALUE_TYPE and/or union
	real_extract out of the union; run the input through
	REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
	from that into the union.
	* config/pdp11/pdp11.c (output_move_double): Rearrange
	parentheses to make automatic indenter happy.

	* doc/tm.texi (Cross-compilation): Rename node to "Floating
	Point" and rewrite to describe current situation.  Also adjust
	documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
	match code.
	* doc/rtl.texi: Adjust cross reference.

From-SVN: r51210
2002-03-23 01:10:56 +00:00
Andreas Jaeger
d68c98e1d2 libgcc2.c (__bb_exit_func): Remove unused variable.
* libgcc2.c (__bb_exit_func): Remove unused variable.
	(num_digits): Remove unused function.

From-SVN: r48215
2001-12-20 21:02:43 +01:00
Jan Hubicka
114e78f8f0 * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
From-SVN: r48159
2001-12-18 15:38:40 +00:00
Douglas B Rupp
32065bf250 * libgcc2.c (_bb): Remove ctime declaration.
From-SVN: r47872
2001-12-11 08:18:18 -05:00
Jan Hubicka
8456b95a5a final.c (count_basic_block, [...]): Kill.
* final.c (count_basic_block, add_bb, add_bb_string):
	Kill.
	(end_final, final_start_function, final, final_scan_insn,
	leaf_function_p): Kill BB profiler related code.
	* flags.h (profile_block_flag): Kill.
	* libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
	BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
	__bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
	bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
	reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
	__bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
	__bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
	__bb_init_trace_func): Kill.
	* toplev.c (profile_block_flag): Kill.
	(indepdendent_decode_option, process_options): Kill -a related code.
	* alpha.c (direct_call_operand): Likewise.
	* arm.c (arm_expand_prologue, thumb_expand_prologue,
	thumb_expand_epilogue): Likewise.
	* c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
	* c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
	* i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
	ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
	code.
	(ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
	* i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
	* i960.c (i960_output_function_prologue): Kill BB profiler related
	code.
	* ia64.c (ia64_compute_frame_size): Likewise.
	* ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
	* m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
	* m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
	Kill BB profiler related code.
	* m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* mips.c (mips_expand_prologue): Kill BB profiler related code.
	* mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* rs6000.c (rs6000_override_options): Kill BB profiler related code.
	* s960.c (s390_function_prologue): Kill BB profiler related code.
	* s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
	* linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
	* linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
	* sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
	* sparc.c (sparc_override_options, eligible_for_sibcall_delay,
	sparc_nonflat_function_epilogue): Kill BB profiler related code.
	(sparc_function_block_profiler, sparc_block_profiler,
	sparc_function_block_profiler_exit): Kill.
	* sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
	* sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
	* stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.
	* doc/invoke.texi: Kill documentation of -a and -ax.
	* tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
	MACHINE_STATE_RESTORE): Kill.

From-SVN: r47712
2001-12-06 11:49:46 +00:00
Richard Kenner
a1f04b2e51 * libgcc2.c (__bb_exit_func): Fix line wrap problems.
From-SVN: r47527
2001-12-02 07:19:01 -05:00
Jason Merrill
aa6ad1a68b cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing cur_token, not after.
* cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
        cur_token, not after.

        * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
        Lose ASM_OUTPUT_CONSTRUCTOR.
        * system.h: Poison it and INT_ASM_OP.
        * c-lang.c (finish_file): Don't check for it.
        * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.

From-SVN: r47169
2001-11-19 06:28:52 -05:00
Joseph Myers
ff7cc30768 ChangeLog.0, [...]: Fix spelling errors.
* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
	ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
	c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
	configure, configure.in, except.c, except.h, flow.c, function.c,
	gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
	predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
	sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
	unroll.c: Fix spelling errors.

From-SVN: r46595
2001-10-28 20:09:17 +00:00