aboutsummaryrefslogtreecommitdiff
path: root/gcc/gencodes.c
AgeCommit message (Collapse)AuthorFilesLines
2003-06-01genrecog.c: Use ISO C90 prototypes.Andreas Jaeger1-13/+4
* genrecog.c: Use ISO C90 prototypes. (nodes_identical): Correct declaration to match prototype. (maybe_both_true): Likewise. (merge_trees): Likewise. * genpeep.c (gen_peephole): Remove #if 0 code. Use ISO C90 prototypes. * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code. Remove #if 0'ed function simplify_by_alternatives. (optimize_attrs): Remove #if 0'ed code. Remove ^L. Use ISO C90 prototypes. (make_canonical): Remove #if 0'ed code. (convert_const_symbol_ref): Remove #if 0'ed function. * gen-protos.c (main): Check for argument. * rtl.h: Use ISO C90 prototypes for functions from lists.c. * params.h: Use ISO C90 prototypes. * params.c: Likewise. * intl.c: Likewise. * intl.h: Likewise. * lists.c: Likewise. * errors.c: Likewise. * errors.h: Likewise. * gencodes.c: Likewise. * genpreds.c: Likewise. * genattr.c: Likewise. * gen-protos.c: Likewise. * genflags.c: Likewise * genconditions.c: Likewise. * genautomata.c: Likewise. * gencheck.c: Likewise. * genconfig.c: Likewise. * genconstants.c: Likewise. * genemit.c: Likewise. * genextract.c: Likewise. * gengenrtl.c: Likewise. * gengtype.c: Likewise. * gengtype.h: Likewise. * genopinit.c: Likewise. * genoutput.c: Likewise. * gensupport.c: Likewise. * gensupport.h: Likewise. From-SVN: r67296
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-1/+3
From-SVN: r60174
2002-07-29gensupport.c: Include hashtab.h.Zack Weinberg1-6/+18
* gensupport.c: Include hashtab.h. (insn_elision, condition_table, hash_c_test, cmp_c_test, maybe_eval_c_test): New routines and data structures to support insn elision. (init_md_reader): Read and initialize the condition_table. (read_md_rtx): Discard insn patterns whose C test is provably always false. * gensupport.h: Declare new functions and data structures. * genconditions.c, dummy-conditions.c: New files. * Makefile.in: Build genconditions; run it to construct insn-conditions.c; build that and link it into most gen* programs. (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables. (GEN): Delete, unused. (STAGESTUFF): Update. * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to CODE_FOR_nothing for all elided patterns. (main): Tweaked to support this. * genflags.c (gen_proto): Emit a static inline generator function here for all elided patterns, which simply returns NULL_RTX. (gen_insn): Do not define HAVE_xxx for elided patterns. (main): Tweaked to support this. No need to forward-declare struct rtx_def. * genrecog.c: Do not bother emitting the C test if it's known to be true at compile time. From-SVN: r55839
2001-12-02c-decl.c (duplicate_decls, [...]): Remove leading capital from diagnostics.Neil Booth1-1/+1
* c-decl.c (duplicate_decls, push_parm_decl): Remove leading capital from diagnostics. * c-lex.c (cb_file_change): Similarly. * c-parse.in : Similarly. * cfgrtl.c (verify_flow_info): Similarly. * collect2.c: Similarly. * cppfiles.c (find_include_file): Similarly. * cppinit.c (cpp_handle_option): Similarly. * cpplex.c (cpp_spell_token): Similarly. * cppmain.c (do_preprocessing): Similarly. * gcc.c (translate_options, process_command, do_spec1, main, pfatal_execute): Similarly. * genattr.c (main): Similarly. * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp, write_test_expr, main): Similarly. * gencodes.c (main): Similarly. * genconfig.c (main): Similarly. * genconstants.c (main): Similarly. * genemit.c (main): Similarly. * genextract.c (main): Similarly. * genflags.c (main): Similarly. * genopinit.c (main): Similarly. * genoutput.c (process_template, main): Similarly. * genpeep.c (main): Similarly. * genrecog.c (main): Similarly. * gensupport.c (is_predicable, identify_predicable_attribute, alter_predicate_for_insn, init_md_reader_args, main): Similarly. * ggc-page.c (alloc_anon): Similarly. * mips-tfile.c (add_string, add_procedure, add_file, read_line, parse_begin, parse_bend, parse_def, parse_end, parse_file, parse_stabs_common, parse_stabs, write_varray, write_object, read_seek, copy_object, main, error): Similarly. * profile.c (compute_branch_probabilities): Similarly. * reg-stack.c (check_asm_stack_operands): Similarly. * reload.c (find_reloads): Similarly. * reload1.c (spill_failure, failed_reload): Similarly. * rtl-error.c (_fatal_insn_not_found): Similarly. * toplev.c (read_integral_parameter, crash_signal, decode_f_option, set_target_switch, parse_options_and_default_flags) : Similarly. * tradcif.y (parse_number, yylex): Similarly. * tradcpp.c (main, fancy_abort): Similarly. * tree.c (tree_check_failed): Similarly. * varray.c (varray_check_failed): Similarly. * xcoffout.c (xcoff_output_standard_types): Similarly. cp: * call.c (build_java_interface_fn_ref): Similarly. * except.c (is_admissible_throw_operand): Similarly. * init.c (build_java_class_ref): Similarly. * xref.c (open_xref_file): Similarly. objc: * objc-act.c (get_object_ref, lookup_and_install_protocols, build_objc_string_object, objc_declare_alias, build_ivar_chain, finish_message_expr, build_protocol_expr, is_public, start_class): Similarly. testsuite: * objc.dg/alias.m: Update. * objc.dg/class-1.m: Update. * objc.dg/const-str-1.m: Update. * objc.dg/fwd-proto-1.m: Update. * objc.dg/id-1.m: Update. * objc.dg/super-class-1.m: Update. From-SVN: r47518
2001-12-01c-decl.c (duplicate_decls, [...]): Remove trailing period from diagnostics.Neil Booth1-1/+1
* c-decl.c (duplicate_decls, parmlist_tags_warning): Remove trailing period from diagnostics. * c-lex.c (cb_file_change): Similarly. * cppmacro.c (check_trad_stringification): Similarly. * gcc.c (do_spec_1): Similarly. * genattr.c (main): Similarly. * genattrtab.c (main, operate_exp, make_length_attrs): Similarly. * gencodes.c (main): Similarly. * genconfig.c (main): Similarly. * genconstants.c (main): Similarly. * genemit.c (main): Similarly. * genextract.c (main): Similarly. * genopinit.c (main): Similarly. * genoutput.c (main): Similarly. * genpeep.c (main): Similarly. * genrecog.c (main): Similarly. * mips-tfile.c (add_file, error): Similarly. * profile.c (init_branch_prob): Similarly. * reload1.c (spill_failure): Similarly. * stmt.c (parse_output_constraint): Similarly. * varasm.c (assemble_variable): Similarly. cp: * class.c (finish_struct): Similarly. * decl.c (check_tag_decl): Similarly. * lex.c (cxx_set_yydebug): Similarly. * typeck2.c (friendly_abort): Similarly. java: * expr.c (expand_byte_code): Similarly. * jcf-parse.c (load_class, jcf_parse): Similarly. * jcf-write.c (generate_classfile): Similarly. * lex.c (java_lex): Similarly. From-SVN: r47517
2001-11-14rtl.def (INCLUDE): Define.Alan Matsuoka1-1/+1
2001-11-05 Alan Matsuoka <alanm@redhat.com> * rtl.def (INCLUDE) : Define. * gensupport.c (init_include_reader, process_include, save_string) : New functions to implement an include facility in .md files. * gensupport.h : Add prototype for init_md_reader_args. * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c genextract.c genflags.c genopinit.c genoutput.c genpeep.c genrecog.c: Change call to init_md_reader to init_md_reader_args. * md.texi: Document (include "path") and -I directives for RTL generation tools. From-SVN: r47020
2001-08-22Makefile.in, [...]: replace "GNU CC" with "GCC".Lars Brinkhoff1-12/+12
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c, bitmap.h, builtin-types.def, builtins.c, builtins.def, c-aux-info.c, c-common.c, c-common.def, c-common.h, c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c, c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in, c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c, caller-save.c, calls.c, collect2.c, collect2.h, combine.c, conditions.h, config.gcc, configure.frag, configure.in, conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c, cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h, dependence.c, df.c, df.h, diagnostic.c, diagnostic.h, doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c, dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c, emit-rtl.c, errors.c, errors.h, except.c, except.h, exgettext, explow.c, expmed.c, expr.c, expr.h, final.c, fixproto, flags.h, flow.c, fold-const.c, fp-test.c, function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp, gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c, gencheck.c, gencodes.c, genconfig.c, genemit.c, genextract.c, genflags.c, gengenrtl.c, genmultilib, genopinit.c, genoutput.c, genpeep.c, genrecog.c, gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c, ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c, graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h, gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h, hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h, integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c, libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h, machmode.def, machmode.h, main.c, mbchar.c, mbchar.h, mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk, mkmap-symver.awk, optabs.c, output.h, params.c, params.def, params.h, predict.c, predict.def, predict.h, prefix.c, prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c, read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c, regclass.c, regmove.c, regrename.c, regs.h, reload.c, reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c, rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h, sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c, sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c, stringpool.c, system.h, timevar.c, timevar.def, timevar.h, tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h, tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h, unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h, unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c, xcoffout.h: replace "GNU CC" with "GCC". From-SVN: r45105
2001-08-13expr.h: Split out optab- and libfunc-related code to...Zack Weinberg1-21/+20
* expr.h: Split out optab- and libfunc-related code to... * optabs.h, libfuncs.h: ... these new headers. * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h. (OPTABS_H): New. (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to dependencies. * mkconfig.sh: Don't include insn-codes.h from config.h. * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether enum insn_code is available. Move reload_in_optab and reload_out_optab array declarations to optabs.h. * regmove.c (gen_add3_insn): Move to optabs.c, export from there, prototype in expr.h. * gencodes.c: Cleanup: zap global variables, don't use printf where puts will do, don't bother defining MAX_INSN_CODE which nothing uses, let CODE_FOR_nothing get its value implicitly. * genemit.c, genopinit.c: Include optabs.h in generated file. * genoutput.c: Include insn-codes.h in generated file. * builtins.c, caller-save.c, combine.c, doloop.c, explow.c, expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c, reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c, config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c, config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c: Include optabs.h. * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c, optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c, config/m88k/m88k.c, config/sparc/sparc.c: Include libfuncs.h. * reload.c: Include expr.h and optabs.h before reload.h. * config/alpha/alpha.c: Include tree.h before reload.h. * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h, and reload.h in that order. * config/sparc/sparc.c: Include debug.h. * recog.c: Include insn-codes.h. cp: * Make-lang.in (cp/except.o): Add libfuncs.h to dependencies. * except.c: Include libfuncs.h. java: * Make-lang.in (java/decl.o): Update dependencies. * decl.c: Include libfuncs.h, don't include toplev.h. From-SVN: r44858
2001-08-09Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.Zack Weinberg1-46/+0
* Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE. (CONFIG_H, TCONFIG_H, TM_P_H): Update. (GEN, STAGESTUFF): Add new files. (insn-constants.h, s-constants, tm-preds.h, s-preds, genconstants, genpreds, genconstants.o, genpreds.o): New rules. (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE. * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h as well as insn-codes.h and insn-flags.h in config.h; and no extra headers in tconfig.h and hconfig.h. * gencodes.c: Eliminate code to generate predicate declarations or #defines for md-file constants. * genconstants.c, genpreds.c: New files. * i386.md: Re-order guard expressions such that TARGET_64BIT comes first, when this permits better optimization. Add TARGET_64BIT to more x86-64 patterns. Add comment explaining why this is desirable. From-SVN: r44743
2001-04-02genattr.c, [...]: Wrap generated header in multiple-include guard.Zack Weinberg1-7/+9
* genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c, gengenrtl.c: Wrap generated header in multiple-include guard. Improve error checking. From-SVN: r41006
2001-01-15i386.c (ix86_init_builtins): Make i size_t to remove warnings.Andreas Jaeger1-1/+1
2001-01-15 Andreas Jaeger <aj@suse.de> * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove warnings. (ix86_expand_builtin): Likewise. * gencodes.c (output_predicate_decls): Make i size_t to avoid warning about comparison between signed and unsigned. From-SVN: r39036
2001-01-04* gencodes.c (output_predicate_decls): Remove empty initializer.Alexandre Oliva1-5/+5
From-SVN: r38689
2001-01-04gencodes.c (output_predicate_decls): Fill empty initializer braces.Kaveh R. Ghazi1-1/+1
* gencodes.c (output_predicate_decls): Fill empty initializer braces. From-SVN: r38684
2001-01-03gencodes.c (output_predicate_decls): New function.Alexandre Oliva1-1/+28
* gencodes.c (output_predicate_decls): New function. (main): Call it. * machmode.h (GET_MODE_MASK): Arrange for it to be defined even if it is not the first time machmode.h is #included. * config/sh/sh.c (fpul_operand): Declare MODE argument. * tm.texi (PREDICATE_CODES): Document predicate declarations. * gcc.texi (Copyright): Added 2001. From-SVN: r38673
2000-11-22Add blank lines between function comment and function return type.Joern Rennecke1-0/+2
From-SVN: r37665
2000-11-22rtl.h (traverse_md_constants): Declare.J"orn Rennecke1-2/+19
* rtl.h (traverse_md_constants): Declare. (struct md_constant): Define. * Makefile.in (HOST_RTL): Add hashtab.o . (OBJS): Add hashtab.o . (hashtab.o): New rule. (rtl.o): Depends on HASHTAB_H. * rtl.c (hashtab.h): #include. (md_constants): New static variable. (def_hash, def_name_eq_p, read_constants): New static functions. (traverse_md_constants): New function. (read_name): Do constant expansion. (read_rtx): Recognize define_constants. * gencodes.c (print_md_constant): New function. (main): Emit #defines for all constant definitions encountered. * md.texi (Constant Definitions): New node. * gensupport.c (xcalloc): New function. From-SVN: r37635
2000-08-04gencodes.c (main): Define CODE_FOR_nothing as the last possible ↵Herman A.J. ten Brugge1-1/+1
insn_code_number + 1. * gencodes.c (main): Define CODE_FOR_nothing as the last possible insn_code_number + 1. From-SVN: r35473
2000-05-18genopinit.c: Use $ for escape sequences in optab patterns.Zack Weinberg1-26/+0
* genopinit.c: Use $ for escape sequences in optab patterns. Remove backslashes from optab patterns. Change $A, $B, $C to expand to (int) whatever instead of just whatever; remove explicit (int) from all optab patterns. * gensupport.c (xmalloc, xrealloc, xstrdup): Provide. * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c: Remove private copies of xmalloc, xrealloc, and From-SVN: r34000
2000-05-06Makefile.in (gensupport.o): Compile for the host.Richard Henderson1-7/+0
* Makefile.in (gensupport.o): Compile for the host. (host-prefix gensuuprt.o): Remove. (genflags.o): Depend on gensupport.h and OBSTACK_H. (genattrtab.o): Likewise. (gencodes.o): Depend on gensupport.h. (genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise. (genpeep.o, genattr.o, genoutput.o): Likewise. * gensupport.c (obstack, rtl_obstack): New. (init_md_reader): Initialize rtl_obstack. * gensupport.h (rtl_obstack): Declare. (message_with_line): Declare. * genattr.c: Remove all traces of obstack manipulation. * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise. * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise. * genattrtab.c (obstack, rtl_obstack): Remove. (main): Don't init rtl_obstack. * genflags.c: Likewise. * genrecog.c (message_with_line): Move ... * gensupport.c: ... here. From-SVN: r33742
2000-05-03gensupport.c: New file.Clinton Popetz1-23/+8
* gensupport.c: New file. * gensupport.h: New file. * Makefile.in (HOST_RTL): Depend on gensupport. (gensupport.o) New rule. * genattr.c: Use gensupport for reading .md files. * genattrtab.c: Ditto. * gencodes.c: Ditto. * genconfig.c: Ditto. * genemit.c: Ditto. * genextract.c: Ditto. * genflags.c: Ditto. * genopinit.c: Ditto. * genoutput.c: Ditto. * genpeep.c: Ditto. * genrecog.c: Ditto. * rtl.def (define_insn_and_split): New DEF_RTL_EXPR. * md.texi (Insn Splitting): Document define_insn_and_split. From-SVN: r33633
2000-02-26Fix copyrights.Jeff Law1-1/+2
From-SVN: r32178
2000-01-17Update copyrightsKaveh Ghazi1-1/+1
From-SVN: r31465
2000-01-17genattr.c: PROTO -> PARAMS.Kaveh R. Ghazi1-2/+2
* genattr.c: PROTO -> PARAMS. * genattrtab.c: Likewise. * gencheck.c: Likewise. * gencodes.c: Likewise. * genconfig.c: Likewise. * genemit.c: Likewise. * genextract.c: Likewise. * genflags.c: Likewise. * gengenrtl.c: Likewise. * genopinit.c: Likewise. * genoutput.c: Likewise. * genpeep.c: Likewise. * genrecog.c: Likewise. From-SVN: r31457
1999-10-13rtl.c (dump_and_abort): Remove.Richard Henderson1-0/+1
* rtl.c (dump_and_abort): Remove. (fatal_with_file_and_line): New. (fatal_expected_char): New. (read_rtx_lineno, read_rtx_filename): New. (read_skip_spaces): Track line number. (read_name): Use fatal_with_file_and_line. (read_rtx): Use fatal_expected_char. Track line number. * rtl.h (read_rtx_filename, read_rtx_lineno): Declare. * print-rtl.c (print_rtx): Don't special case LABEL_REF argument if it isn't a CODE_LABEL. * genattr.c (main): Set read_rtx_filename. * genattrtab.c (main): Likewise. * gencodes.c (main): Likewise. * genconfig.c (main): Likewise. * genemit.c (main): Likewise. * genextract.c (main): Likewise. * genflags.c (main): Likewise. * genopinit.c (main): Likewise. * genoutput.c (main): Likewise. * genpeep.c (main): Likewise. * genrecog.c (decision_test.u.insn): Add `lineno'. (pattern_lineno, error_count): New variables. (message_with_line): New. (add_to_sequence): Break out checking code to ... (validate_pattern): ... here. Detect SET_DEST matching CONST_INT. (merge_insn): Use message_with_line. (make_insn_sequence): Use validate_pattern. Record insn lineno. (main): Set read_rtx_filename, pattern_lineno. Exit early on error. From-SVN: r29957
1999-09-15genattr.c (main): Add extern prototype.Kaveh R. Ghazi1-5/+5
* genattr.c (main): Add extern prototype. Call return, not exit. * genattrtab.c (main): Likewise. * gencheck.c (main): Likewise. * gencodes.c (main): Likewise. * genconfig.c (main): Likewise. * genemit.c (main): Likewise. * genextract.c (main): Likewise. * genflags.c (main): Likewise. * gengenrtl.c (main): Likewise. * genopinit.c (main): Likewise. * genoutput.c (main): Likewise. * genpeep.c (main): Likewise. * genrecog.c (main): Likewise. * genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED. * genattrtab.c (get_insn_name): Likewise. * gencodes.c (get_insn_name): Likewise. * genconfig.c (get_insn_name): Likewise. * genemit.c (get_insn_name): Likewise. * genextract.c (get_insn_name): Likewise. * genflags.c (get_insn_name): Likewise. * genopinit.c (get_insn_name): Likewise. * genpeep.c (get_insn_name): Likewise. * gencheck.c (usage): Add static prototype. * genextract.c (print_path): Constify a char*. * genopinit.c (optabs): Likewise. * genoutput.c (operand_data, data, output_predicate_decls, compare_operands): Likewise. * genrecog.c (write_tree): Add default case in switch. From-SVN: r29434
1999-09-12Replace insn_foo with insn_data.foo.Richard Henderson1-3/+8
From-SVN: r29358
1999-09-06Merge in gcc2-ss-010999Jeff Law1-1/+0
From-SVN: r29150
1999-08-31backport: Makefile.in (STAGESTUFF): Add *.peephole2.Richard Henderson1-0/+1
Merge peephole2 from new_ia32_branch: * Makefile.in (STAGESTUFF): Add *.peephole2. (mostlyclean): Likewise. (recog.o): Depend on resource.h. * final.c (peephole): Conditionalize decl on HAVE_peephole. (final_scan_insn): Likewise for the invocation of peephole. * genconfig.c (main): Look for peephole and peephole2 patterns. Emit HAVE_peephole* accordingly. * genpeep.c (main): Conditionalize entire output on HAVE_peephole. * flags.h (flag_peephole2): Declare. * toplev.c: New pass peephole2. New flag -fpeephole2. * genattrtab.c (main): Count DEFINE_PEEPHOLE2. * gencodes.c (main): Likewise. * genextract.c (main): Likewise. * genoutput.c (main): Likewise. * genemit.c (max_operand_1): Look for the max scratch operand. (gen_rtx_scratch): New. (gen_exp): Use it, and pass on new arg subroutine_type. (gen_expand): Take max scratch into account. (gen_split): Emit peephole2 functions. (output_peephole2_scratch): New. (main): Include hard-reg-set.h and resource.h. Handle peephole2. * genrecog.c (routine_type): Add PEEPHOLE2. (IS_SPLIT): New. (make_insn_sequence): Match outer parallel for peep2. Discard top level scratches and dups. (add_to_sequence): New args insn_type and top. Update all callers. Handle toplevel peep2 matching insns. (write_subroutine): Handle peep2. (write_tree_1): Likewise. (write_tree): Likewise. (main): Likewise. (change_state): New arg afterward. Update all callers. Handle matching separate insns. * recog.c (recog_next_insn): New. (peephole2_optimize): New. * rtl.def (DEFINE_PEEPHOLE2): New. * resource.c (find_free_register): New argument last_insn. Use it to find a register available through the entire span. * resource.h (find_free_register): Update prototype. From-SVN: r29015
1999-08-27rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format for a ↵Zack Weinberg1-2/+0
CONST_DOUBLE... 1999-08-27 13:27 -0700 Zack Weinberg <zack@bitmover.com> * rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format for a CONST_DOUBLE, at compile time. Initialize rtx_length and class_narrowest_mode at compile time. Kill init_rtl. Mark rtx_length, mode_class, mode_size, mode_unit_size, mode_wider_mode, mode_mask_array, class_narrowest_mode, and rtx_format as const. Kill all references to EXTRA_CC_MODES or EXTRA_CC_NAMES. * rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for format. * rtl.h: Declare rtx_length and rtx_format as const. * machmode.def: Define CC(). Use CC() to define CCmode. If EXTRA_CC_MODES is defined, expand it here. * machmode.h: Declare mode_class, mode_size, mode_unit_size, mode_wider_mode, mode_mask_array, and class_narrowest_mode as const. Kill all references to EXTRA_CC_MODES. * toplev.c: Don't prototype or call init_rtl. * optabs.c: Don't call init_mov_optab. * genemit.c: Don't generate init_mov_optab. Don't call init_rtl. * gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT here. * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c: Don't call init_rtl. * arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES. Use CC() in definition of EXTRA_CC_MODES. * md.texi: Kill ref to EXTRA_CC_NAMES. * tm.texi: Document new way to define EXTRA_CC_MODES. * genrecog.c: Do not look up the name of a define_split. (Unrelated bugfix.) From-SVN: r28937
1999-08-27errors.c: New file...Zack Weinberg1-24/+2
1999-08-27 00:27 -0700 Zack Weinberg <zack@bitmover.com> * errors.c: New file; defines functions error, warning, and fatal, variables have_error and progname. * errors.h: New file; prototypes and decls for stuff in errors.c. * Makefile: Add rules to build errors.o and $(HOST_PREFIX)errors.o. Link genconfig, gencodes, genemit, genopinit, genrecog, genextract, genpeep, genattr, and genoutput with errors.o. Add errors.h to deps of genconfig.o, gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o, and genoutput.o. * genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c, genextract.c, genpeep.c, genattr.c: Include errors.h. Don't define or prototype fatal. Set progname at beginning of main. * genoutput.c: Likewise, and don't define or prototype error either. From-SVN: r28925
1999-08-26system.h: Don't redefine abort or trim_filename.Zack Weinberg1-10/+0
1999-08-25 22:10 -0700 Zack Weinberg <zack@bitmover.com> * system.h: Don't redefine abort or trim_filename. * rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0) or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on whether or not __FUNCTION__ is available. * tree.h: Duplicate rtl.h's definition of abort, for files that don't include rtl.h. Delete all code to perform type checking with a compiler other than GCC. * varray.h: Delete all code to perform type checking with a compiler other than GCC. Make VARRAY_CHECK() always evaluate its arguments exactly once, using a statement expression. Adjust the VARRAY_<type> accessor macros to match. * toplev.h (fatal_insn, fatal_insn_not_found): Kill. (_fatal_insn, _fatal_insn_not_found): New fns, take info on caller's location. Define fatal_insn and fatal_insn_not_found as macros that use _fatal_insn and _fatal_insn_not_found. (fancy_abort, trim_filename): Kill prototypes. * rtl.c (trim_filename): Move here from toplev.c. (fancy_abort): New function. (DIR_SEPARATOR): Provide default definition. * tree.c (tree_check_failed, tree_class_check_failed): Go through fancy_abort. (tree_check, tree_class_check, cst_or_constructor_check, expr_check): Delete. * varray.c (varray_check_failed): New function. * toplev.c (fatal_insn, fatal_insn_not_found): Replace with _fatal_insn and _fatal_insn_not_found. Go through fancy_abort. (trim_filename, fancy_abort): Delete. * builtins.c (expand_builtin_args_info): Report ICE with abort. * except.c (start_catch_handler): Report ICE with error/abort combo. * final.c (output_operand_lossage): Likewise. * flow.c (verify_flow_info): Likewise. * gcc.c: Prototype fatal. * gengenrtl.c: Undef abort after including rtl.h not system.h. * genattr.c, genattrtab.c, genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c: Don't define fancy_abort. From-SVN: r28889
1999-04-16system.h: Always prototype abort.Zack Weinberg1-2/+2
1999-04-16 22:44 -0400 Zack Weinberg <zack@rabi.columbia.edu> * system.h: Always prototype abort. Prototype fatal. Define abort to call fatal, not fprintf/exit. Define a stub macro for trim_filename. * toplev.c: Define DIR_SEPARATOR. (trim_filename): New function. * toplev.h: Prototype trim_filename, and #undef system.h's stub. * gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c: Make fatal non-static. * gcov.c, gengenrtl.c, protoize.c: #undef abort after including system.h. * config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code relating to abort. From-SVN: r26511
1999-01-22cppp.c (xrealloc): Fix typo last change.Richard Henderson1-1/+1
* cppp.c (xrealloc): Fix typo last change. * cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise. * genconfig.c, genemit.c, genextract.c, genflags.c: Likewise. * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise. From-SVN: r24823
1999-01-21Update copyright.Richard Henderson1-1/+1
From-SVN: r24816
1999-01-21cccp.c (xrealloc): Call malloc given a NULL old pointer.Richard Henderson1-5/+9
* cccp.c (xrealloc): Call malloc given a NULL old pointer. * collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise. * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise. * genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise. * genrecog.c, mips-tfile.c, protoize.c: Likewise. From-SVN: r24806
1999-01-06Copyright fixes.Jeff Law1-1/+1
From-SVN: r24535
1998-12-19genattr.c (fatal): Qualify a char* with the `const' keyword.Kaveh R. Ghazi1-4/+4
* genattr.c (fatal): Qualify a char* with the `const' keyword. * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set, write_unit_name, write_eligible_delay, expand_units, make_length_attrs, write_attr_case, find_attr, make_internal_attr): Likewise. * gencheck.c (tree_codes): Likewise. * gencodes.c (fatal): Likewise. * genconfig.c (fatal): Likewise. * genemit.c (fatal): Likewise. * genextract.c (fatal, walk_rtx, copystr): Likewise. * genflags.c (fatal): Likewise. * genopinit.c (fatal, optabs, gen_insn): Likewise. * genoutput.c (fatal, error, predicates): Likewise. * genpeep.c (fatal): Likewise. * genrecog.c (fatal, decision, pred_table, add_to_sequence, write_tree_1, write_tree, change_state, copystr, indents): Likewise. From-SVN: r24377
1998-11-27system.h: Include libiberty.h.Kaveh R. Ghazi1-8/+7
* system.h: Include libiberty.h. * c-aux-info.c: Remove prototypes for concat/concat3. Change function `concat' from fixed parameters to variable parameters, as is done in libiberty. All callers of concat/concat3 changed to use the new `concat' with variable args. * cccp.c: Remove things made redundant by libiberty.h and/or conform to libiberty standards. * cexp.y: Likewise. * collect2.c: Likewise. * config/1750a/1750a.h: Likewise. * cppalloc.c: Likewise. * cppexp.c: Likewise. * cppfiles.c: Likewise. * cpphash.c: Likewise. * cpplib.c: Likewise. * dyn-string.c: Likewise. * fix-header.c: Likewise. * gcc.c: Likewise. * gcov.c: Likewise. * genattr.c: Likewise. * genattrtab.c: Likewise. * gencheck.c: Likewise. * gencodes.c: Likewise. * genconfig.c: Likewise. * genemit.c: Likewise. * genextract.c: Likewise. * genflags.c: Likewise. * gengenrtl.c: Likewise. * genopinit.c: Likewise. * genoutput.c: Likewise. * genpeep.c: Likewise. * genrecog.c: Likewise. * getpwd.c: Likewise. * halfpic.c: Likewise. * hash.c: Likewise. * mips-tdump.c: Likewise. Wrap malloc/realloc/calloc prototypes in NEED_DECLARATION_* macros. * mips-tfile.c: Remove things made redundant by libiberty.h and/or conform to libiberty standards. (fatal): Fix const-ification of variable `format' in !ANSI_PROTOTYPES case. * prefix.c: Remove things made redundant by libiberty.h and/or conform to libiberty standards. * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid conflicting with function `spaces' from libiberty. * profile.c: Remove things made redundant by libiberty.h and/or conform to libiberty standards. * protoize.c: Likewise. * rtl.h: Likewise. * scan.h: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. * toplev.h: Likewise. * tree.h: Likewise. From-SVN: r23931
1998-11-08gansidecl.h: Prepend a "G" to the macro wrapping this file (to distinguish ↵Kaveh R. Ghazi1-2/+2
it from the macro... * gansidecl.h: Prepend a "G" to the macro wrapping this file (to distinguish it from the macro wrapping ansidecl.h.) Include libiberty's ansidecl.h. Remove all redundant definitions. Define the PROTO() style macros in terms of the PARAMS() ones. * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to use ANSI variable args. (emit_library_call_value): Likewise. * cccp.c (error): Likewise. (warning): Likewise. (error_with_line): Likewise. (warning_with_line): Likewise. (pedwarn): Likewise. (pedwarn_with_line): Likewise. (pedwarn_with_file_and_line): Likewise. (fatal): Likewise. * cexp.y (error): Likewise. (pedwarn): Likewise. (warning): Likewise. * collect2.c (fatal_perror): Likewise. (fatal): Likewise. (error): Likewise. * combine.c (gen_rtx_combine): Likewise. * cpperror.c (cpp_message): Likewise. (cpp_fatal): Likewise. * cpplib.c (cpp_error): Likewise. (cpp_warning): Likewise. (cpp_pedwarn): Likewise. (cpp_error_with_line): Likewise. (cpp_warning_with_line): Likewise. (cpp_pedwarn_with_line): Likewise. (cpp_pedwarn_with_file_and_line): Likewise. * cpplib.h: Don't define PARAMS() macro. * demangle.h: Likewise. * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to use ANSI variable args. * emit-rtl.c (gen_rtx): Likewise. (gen_rtvec): Likewise. * final.c (asm_fprintf): Likewise. * fix-header.c (cpp_message): Likewise. (fatal): Likewise. (cpp_fatal): Likewise. * gcc.c (concat): Likewise. (fatal): Likewise. (error): Likewise. * genattr.c (fatal): Likewise. * genattrtab.c (attr_rtx): Likewise. (attr_printf): Likewise. (fatal): Likewise. * gencodes.c (fatal): Likewise. * genconfig.c (fatal): Likewise. * genemit.c (fatal): Likewise. * genextract.c (fatal): Likewise. * genflags.c (fatal): Likewise. * genopinit.c (fatal): Likewise. * genoutput.c (fatal): Likewise. (error): Likewise. * genpeep.c (fatal): Likewise. * genrecog.c (fatal): Likewise. * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to declare `tree_node' and `rtx_def'. * hash.h: Don't define stuff we get from gansidecl.h. * mips-tfile.c: Likewise. Define __proto() in terms of PARAMS(). (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to use ANSI variable args. (error): Likewise. * prefix.c (concat): Likewise. * scan.h: Likewise. * system.h: Likewise. * toplev.c (error_with_file_and_line): Likewise. (error_with_decl): Likewise. (error_for_asm): Likewise. (error): Likewise. (fatal): Likewise. (warning_with_file_and_line): Likewise. (warning_with_decl): Likewise. (warning_for_asm): Likewise. (warning): Likewise. (pedwarn): Likewise. (pedwarn_with_decl): Likewise. (pedwarn_with_file_and_line): Likewise. (sorry): Likewise. (really_sorry): Likewise. * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to declare `tree_node' and `rtx_def'. * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding whether to use ANSI variable args. (build_nt): Likewise. (build_parse_node): Likewise. From-SVN: r23577
1998-10-14Add ATTRIBUTE_NORETURN in a bunch of places:Kaveh R. Ghazi1-2/+3
* cppalloc.c (memory_full): Mark function prototype with ATTRIBUTE_NORETURN. * demangle.h (collect_exit): Likewise. * fix-header.c (v_fatal, fatal): Likewise. * gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort): Likewise. * gcov.c (print_usage): Likewise. * genattr.c (fatal, fancy_abort): Likewise. * genattrtab.c (fatal, fancy_abort): Likewise. * gencodes.c (fatal, fancy_abort): Likewise. * genconfig.c (fatal, fancy_abort): Likewise. * genemit.c (fatal, fancy_abort): Likewise. * genextract.c (fatal, fancy_abort): Likewise. * genflags.c (fatal, fancy_abort): Likewise. * genopinit.c (fatal, fancy_abort): Likewise. * genoutput.c (fatal, fancy_abort): Likewise. * genpeep.c (fatal, fancy_abort): Likewise. * genrecog.c (fatal, fancy_abort): Likewise. * libgcc2.c (__eprintf, __default_terminate, __sjthrow, __sjpopnthrow, __throw): Likewise. * objc/objc-act.c (objc_fatal): Likewise. * protoize.c (usage, aux_info_corrupted, declare_source_confusing): Likewise. * rtl.c (dump_and_abort): Likewise. * rtl.h (sets_cc0_p): Likewise. * toplev.c (float_signal, pipe_closed): Likewise. From-SVN: r23084
1998-08-26system.h: Include stdarg.h/varargs.h...Kaveh R. Ghazi1-5/+0
* system.h: Include stdarg.h/varargs.h, make sure they are ordered correctly with regards to stdio.h. * calls.c: Remove stdarg.h/varargs.h. * cccp.c: Likewise. * cexp.y: Likewise. * combine.c: Likewise. * cpperror.c: Likewise. * cpplib.c: Likewise. * cpplib.h: Likewise. * doprint.c: Likewise. * emit-rtl.c: Likewise. * final.c: Likewise. * fix-header.c: Likewise. * gcc.c: Likewise. * genattr.c: Likewise. * genattrtab.c: Likewise. * gencodes.c: Likewise. * genconfig.c: Likewise. * genemit.c: Likewise. * genextract.c: Likewise. * genflags.c: Likewise. * genopinit.c: Likewise. * genoutput.c: Likewise. * genpeep.c: Likewise. * genrecog.c: Likewise. * mips-tfile.c: Likewise. * prefix.c: Likewise. * protoize.c: Likewise. * regmove.c: Likewise. * toplev.c: Likewise. * tree.c: Likewise. * cp/errfn.c: Remove stdarg.h/varargs.h. * cp/tree.c: Likewise. From-SVN: r21997
1998-05-11genattr.c: Include stdarg.h/varargs.h.Kaveh R. Ghazi1-4/+20
* genattr.c: Include stdarg.h/varargs.h. Change function `fatal' to use variable arguments instead of faking it with integer parameters. Provide a prototype which also checks the format specifiers using ATTRIBUTE_PRINTF_1. * genattrtab.c: Likewise. * gencodes.c: Likewise. * genconfig.c: Likewise. * genemit.c: Likewise. * genextract.c: Likewise. * genflags.c: Likewise. * genopinit.c: Likewise. * genpeep.c: Likewise. * genrecog.c: Likewise. * genoutput.c: Likewise. Similarly for function `error'. From-SVN: r19661
1998-04-15Link in print-rtl.o to all gen* programs except gengenrtlMichael Meissner1-0/+3
From-SVN: r19222
1998-04-07c-lex.c (is_class_name): Delete declaration.Bernd Schmidt1-0/+2
* c-lex.c (is_class_name): Delete declaration. (whitespace_cr): Make static and add prototype. * c-lex.h (make_pointer_declarator, reinit_parse_for_function, yylex, get_directive_line): Turn declarations into prototypes. (position_after_whitespace, check_newline, yyerror,, is_class_name, forget_protocol_qualifiers, remember_protocol_qualifiers): Add prototypes. * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add prototypes. * gencodes.c (gen_insn): Add prototype. * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split, gen_peephole): Add prototypes. * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add prototypes. * gengenrtl.c (type_from_format, accessor_from_format, special_rtx, special_format, find_formats, gendecl, genmacro, gendef, genlegend, genheader, gencode): Add prototypes. * genopinit.c (gen_insn): Add prototype. * genoutput.c (output_prologue, output_epilogue, scan_operands, process_template, validate_insn_alternatives, gen_insn, gen_peephole, gen_expand, gen_split, n_occurrences): Add prototypes. * genpeep.c (gen_peephole): Add prototype. * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop, reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg, labels_in_range_p, count_loop_regs_set, note_addr_stored, loop_reg_used_before_p, scan_loop, replace_call_address, skip_consec_insns, libcall_benefit, ignore_some_movables, force_movables, combine_movables, rtx_equal_for_loop_p, move_movables, strength_reduce, valid_initial_value_p, find_mem_givs, record_biv, check_final_value, record_giv, update_giv_derive, basic_induction_var, simplify_giv_expr, general_induction_var, consec_sets_giv, check_dbra_loop, express_from, combine_givs_p, combine_givs, product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1, last_use_this_basic_block, record_initial, update_reg_last_use, iteration_info, analyze_loop_iterations, insert_bct, instrument_loop_bct, indirect_jump_in_function_p): Turn declarations into prototypes. From-SVN: r19038
1998-03-24Cutover various gen*.c files to using system.h:Kaveh R. Ghazi1-6/+3
* Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o, genattrtab.o, genoutput.o): Depend on system.h. * genattr.c: Include system.h. Add arguments to various function prototypes. Remove redundant prototype of read_rtx(). * genattrtab.c: Likewise. * gencodes.c: Likewise. * genconfig.c: Likewise. * genemit.c: Likewise. * genextract.c: Likewise. * genflags.c: Likewise. * genopinit.c: Likewise. * genoutput.c: Likewise. * genpeep.c: Likewise. * genrecog.c: Likewise. From-SVN: r18794
1995-06-15Update FSF address.Richard Kenner1-1/+2
From-SVN: r9961
1995-01-13(gen_insn): Ignore insns whose names begin with '*'.Richard Kenner1-4/+5
From-SVN: r8742
1992-10-13Include hconfig.h, not config.h.Richard Stallman1-1/+1
From-SVN: r2419
1992-04-27entered into RCSRichard Stallman1-1/+1
From-SVN: r842
1992-01-17*** empty log message ***Richard Stallman1-1/+1
From-SVN: r202