aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
AgeCommit message (Collapse)AuthorFilesLines
1998-10-13Warning fixes:Kaveh R. Ghazi1-11/+19
* Makefile.in (gencheck.o): Depend on gansidecl.h. * c-common.c (print_char_table): Add missing initializers. (scan_char_table): Likewise. (time_char_table): Likewise. * c-decl.c (c_decode_option): Mark parameter `argc' with ATTRIBUTE_UNUSED. (declare_parm_level): Mark parameter `definition_flag' with ATTRIBUTE_UNUSED. * c-lex.c (readescape): Use `(unsigned)1' in shift. (yylex): Likewise. Cast `sizeof' to an (int) when comparing against one. * calls.c (store_one_arg): Remove unused parameter `fndecl'. All callers changed. (emit_call_1): Mark parameters `fndecl' and `funtype' with ATTRIBUTE_UNUSED. (expand_call): Cast result of MIN() to (unsigned int) when comparing against an unsigned value. * cccp.c (pcfinclude): Remove unused parameter `limit'. All callers changed. (make_definition): Remove unused parameter `op'. All callers changed. (create_definition): Cast REST_EXTENSION_LENGTH to (long) when comparing against the result of pointer arithmetic. * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned) when comparing against one. * dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against one. (output_die): Move variable `i' into the scope in which it is used. Change its type to `unsigned'. (output_die): Cast the result of `strlen' to (int) when passing it to ASM_OUTPUT_ASCII(). (output_pubnames): Likewise. (output_line_info): Likewise. * emit-rtl.c (global_rtl): Add missing initializers. * explow.c (promote_mode): Mark parameter `for_call' with ATTRIBUTE_UNUSED. * expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to `unsigned HOST_WIDE_INT' when comparing against one. (synth_mult): Change type of variable `cost' to int. (emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift. * expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned) when comparing against one. (get_inner_reference): Change variable `alignment' to unsigned. (expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned int) when comparing against one. (expand_builtin_setjmp): Change type of variable `i' to size_t. * fold-const.c (div_and_round_double): Cast BASE to (HOST_WIDE_INT) when comparing against one. * gencheck.c: Include gansidecl.h. (main): Mark parameter `argv' with ATTRIBUTE_UNUSED. * optabs.c (gen_cond_trap): Mark parameters `code', `op2' and `tcode' with ATTRIBUTE_UNUSED. * real.c (edivm): Cast constant value to (unsigned long) in expression compared against an unsigned value. * stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when comparing against one. (expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int) when comparing against one. * stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to (unsigned int) when comparing against one. Likewise for GET_MODE_BITSIZE. (smallest_mode_for_size): Likewise. (save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED. (restore_storage_status): Likewise. * toplev.c (debug_args): Add missing initializer. (f_options): Spelling correction. Add missing initializers. (documented_lang_options): Likewise. (debug_end_source_file): Mark parameter `lineno' with ATTRIBUTE_UNUSED. * tree.c (valid_machine_attribute): Mark parameters `attr_args', `decl' and `type' with ATTRIBUTE_UNUSED. * varasm.c (decode_reg_name): Cast `sizeof' expression to (int) when comparing against one. (assemble_variable): Mark parameter `top_level' with ATTRIBUTE_UNUSED. (assemble_external_libcall): Mark parameter `fun' with ATTRIBUTE_UNUSED. (output_constant_pool): Mark parameters `fnname' and `fndecl' with ATTRIBUTE_UNUSED. From-SVN: r23054
1998-10-08emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.Jeff Law1-0/+8
* emit-rtl.c (init_emit_once): Call INIT_EXPANDERS. * cpplib.h: Protect from multiple inclusions. * cpplib.c: Fix minor formatting problems. From-SVN: r22937
1998-09-23rtl.h (init_virtual_regs): New function.Mark Mitchell1-5/+13
* rtl.h (init_virtual_regs): New function. * emit-rtl.c (init_virtual_regs): Define. (insn_emit): Use it. * integrate.c (save_for_inline_copying): Likewise. From-SVN: r22563
1998-09-15tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.Richard Henderson1-0/+6
* tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill. (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill. (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill. (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New. * c-decl.c (init_decl_processing): Update accordingly. * expr.c (expand_builtin): Likewise. * cp/decl.c (init_decl_processing): Likewise. * rtl.h (global_rtl): Add cfa entry. (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New. (LAST_VIRTUAL_REGISTER): Update. * emit-rtl.c (global_rtl): Add cfa entry. (init_emit): Initialize it. * function.c (cfa_offset): New. (instantiate_virtual_regs): Initialize it. (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx. (expand_function_end): Call expand_eh_return. * tm.texi (ARG_POINTER_CFA_OFFSET): New. * except.c (current_function_eh_stub_label): Kill. (current_function_eh_old_stub_label): Likwise; update all references. (expand_builtin_set_return_addr_reg): Kill. (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill. (expand_builtin_set_eh_regs): Kill. (eh_regs): Produce a third reg for the actual handler address. (eh_return_context, eh_return_stack_adjust): New. (eh_return_handler, eh_return_stub_label): New. (init_eh_for_function): Initialize them. (expand_builtin_eh_return, expand_eh_return): New. * except.h: Update prototypes. * flow.c (find_basic_blocks_1): Update references to the stub label. * function.h (struct function): Kill stub label elements. * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the register number is one that would be in the previous window. Provide a dummy definition for non-windowed targets. (get_reg_addr): New function. (get_reg, put_reg, copy_reg): Use it. (__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa. * alpha.c (alpha_eh_epilogue_sp_ofs): New. (alpha_init_expanders): Initialize it. (alpha_expand_epilogue): Use it. * alpha.h: Declare it. * alpha.md (eh_epilogue): New. * m68h.h (ARG_POINTER_CFA_OFFSET): New. * sparc.h (ARG_POINTER_CFA_OFFSET): New. From-SVN: r22436
1998-09-09emit-rtl.c (gen_lowpart_common): Disable optimization of initialized ↵Stephen L Moshier1-0/+5
float-int union if the value is a NaN. * emit-rtl.c (gen_lowpart_common): Disable optimization of initialized float-int union if the value is a NaN. From-SVN: r22371
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-06-29* Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 forJeff Law1-4/+19
details. From-SVN: r20808
1998-06-29rtl.h: Update comment about special gen_rtx variants.Mark Mitchell1-0/+2
* rtl.h: Update comment about special gen_rtx variants. * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM. From-SVN: r20789
1998-06-25invoke.texi (-fstrict-aliasing): Document.Mark Mitchell1-0/+14
* invoke.texi (-fstrict-aliasing): Document. * rtl.texi (MEM_ALIAS_SET): Document. * flags.h (flag_strict_aliasing): Declare. * toplev.c (flag_strict_aliasing): Define. (f_options): Add -strict-aliasing. (main): Set flag_strict_aliasing if -O2 or higher. * tree.h (tree_type): Add alias_set field. (TYPE_ALIAS_SET): New macro. (TYPE_ALIAS_SET_KNOWN_P): Likewise. (get_alias_set): Declare. * tree.c (lang_get_alias_set): Define. (make_node): Initialize TYPE_ALIAS_SET. (get_alias_set): New function. * print-tree.c (print_node): Dump the alias set for a type. * c-tree.h (c_get_alias_set): Declare. * c-common.c (c_get_alias_set): New function. * c-decl.c (init_decl_processing): Set lang_get_alias_set. * expr.c (protect_from_queue): Propogage alias sets. (expand_assignment): Calculate alias set for new MEMs. (expand_expr): Likewise. * function.c (put_var_into_stack): Likewise. (put_reg_into_stack): Likewise. (gen_mem_addressof): Likewise. (assign_parms): Likewise. * stmt.c (expand_decl): Likewise. * varasm.c (make_decl_rtl): Eliminate redundant clearing of DECL_RTL. Calculate alias set for new MEMs. * rtl.def (REG): Add dummy operand. (MEM): Add extra operand to store the MEM_ALIAS_SET. * rtl.h (MEM_ALIAS_SET): New macro. (gen_rtx_MEM): Declare. * emit-rtl.c (gen_rtx_MEM): New function. * gengenrtl.c (sepcial_rtx): Make MEMs special. * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro. (DIFFERENT_ALIAS_SETS_P): Likewise. (canon_rtx): Propogate the alias set to the new MEM. (true_dependence): Check the alias sets. (anti_dependence): Likewise. (output_dependence): Likewise. * explow.c (stabilize): Progoate alias sets. * integrate.c (copy_rtx_and_substitute): Likewise. * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P in an unpredictable state. Propogate alias sets. * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which we have no alias information. From-SVN: r20719
1998-05-13Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.Michael Meissner1-0/+9
* Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o. (rtl.o, emit-rtl.o): Add dependency on bitmap.h. ($(HOST_PREFIX_1)rtl.o): Likewise. ($(HOST_PREFIX_1)bitmap.o): New host object. * emit-rtl.c (toplevel): Include bitmap.h. (gen_rtx): Handle 't' and 'b' nodes. * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes. Print block number for block begin/end notes. Print 't' type nodes as a pointer. Know that the 3rd argument of live range start/stop notes is really a range_info rtx. If type is 'b', print out argument as a bitmap. * rtl.c: Include bitmap.c. (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'. (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE. * rtl.def (RANGE_LIVE): New node to hold live information while we recalculate the basic blocks. (RANGE_REG, RANGE_INFO): New rtl types for live range splitting. (RANGE_VAR): New node, to hold information saved in symbol node for New communicating live range information to the debug output functions. * rtl.h (rtunion_def): Add rttree and rtbit fields. (XBITMAP, XTREE): New accessor macros. (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes. (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes. (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define. (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes. (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros. (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros. (RANGE_INFO_*): Likewise. * sched.c (sched_analyze): Keep live range start/stop notes. (unlink_other_notes): Likewise. * haifa-sched.c (sched_analyze): Keep live range start/stop notes. (unlink_other_notes): Likewise. * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros. (BLOCK_LIVE_RANGE_FLAG): Likewise. (DECL_LIVE_RANGE_RTL): Likewise. (struct tree_block): Add live_range_flag, live_range_var_flag, live_range_start and live_range_end. (struct tree_decl): Add live_range_rtl field. * gengenrtl.c (type_from_format): Handle 'b' and 't'. (accessor_from_format): Likewise. Co-Authored-By: Jeffrey A Law <law@cygnus.com> From-SVN: r19727
1998-04-22emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero if...John Carr1-5/+8
* emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD. * final.c (split_double): Sign extend both halves of a split CONST_INT. From-SVN: r19375
1998-04-17* emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.Greg McGary1-3/+9
From-SVN: r19271
1998-04-17Patch from John Carr to fix sparc v9 failure.John Carr1-1/+8
* emit-rtl.c (operand_subword_force): If a register can not be accessed by words, copy it to a pseudo register. From-SVN: r19267
1998-04-14emit-rtl.c (operand_subword): Rework slightly to avoid bogus warning from ↵Jeff Law1-5/+6
previous change. 8 * emit-rtl.c (operand_subword): Rework slightly to avoid bogus warning from previous change. From-SVN: r19219
1998-04-10emit-rtl.c (operand_subword): Properly handle CONST_INTs for 64x32 cross builds.Jeffrey A Law1-4/+23
* emit-rtl.c (operand_subword): Properly handle CONST_INTs for 64x32 cross builds. From-SVN: r19081
1998-04-01emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.Richard Henderson1-11/+21
* emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS. (gen_highpart): Likewise. From-SVN: r18945
1998-04-01c-lex.c (yylex): Initialize traditional_type, ansi_type and type.Jeffrey A Law1-2/+2
* c-lex.c (yylex): Initialize traditional_type, ansi_type and type. * caller-save.c (insert_save_restore): Initialize pat, code and numregs. * emit-rtl.c (push_to_sequence): Initialize top. (push_topmost_sequence): Likewise. * genattrtab.c (simplify_by_exploding): Initialize defval. * profile.c (branch_prob): Initialize dest. * rtl.h (note_stores): Remove duplicate prototype. (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT. Fix some warnings. * cplus-dem.c (gnu_special): Don't get confused by .<digits> strings that are not actually lengths. A change from libiberty that didn't make it into the gcc copy. From-SVN: r18942
1998-03-20Major cutover to using system.h:Kaveh R. Ghazi1-1/+1
* Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o, c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o, caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o, dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o, expr.o, final.o, flow.o, function.o, getpwd.o, global.o, integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o, prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o, reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o, rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o, tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend on system.h. * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c, c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c, caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c, dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c, expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c, integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c, prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c, reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c, rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c, stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c, xcoffout.c: Include system.h. Organize include ordering so that stdarg/varargs comes before other system headers. Remove spurious casts of functions assured of a prototype in system.h. From-SVN: r18726
1998-02-18emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.Jeffrey A Law1-0/+9
* emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__. * emit-rtl.c (hard-reg-set.h): Include. (get_lowpart_common): Don't make new REG for hard reg in a class that cannot change size. * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h. * combine.c: Revert previous patch. Co-Authored-By: Richard Kenner <kenner@vlsi1.ultra.nyu.edu> From-SVN: r18109
1998-02-17rtl.h (force_line_numbers, [...]): Declare.Joern Rennecke1-0/+22
* rtl.h (force_line_numbers, restore_line_number_status): Declare. * emit-rtl.c (force_line_numbers, restore_line_number_status): New functions. * stmt.c (struct nesting): Replace seenlabel with line_number_status. (expand_start_case): Adjust to this change. (check_seenlabel): New function. (pushcase, pushcase_range, expand_endcase): Use it. From-SVN: r18031
1998-02-13Rats. Forgot to change copyrights on the first commit.Robert Lipe1-1/+1
From-SVN: r17902
1998-02-13c-lang.c (finish_file): Bracket declaration of static_ctors, static_dtors.Robert Lipe1-1/+0
* c-lang.c (finish_file): Bracket declaration of static_ctors, static_dtors. * calls.c (expand_call): Bracket declaration of 'rtx_before_call', 'old_stack_arg_under_construction' (emit_library_call): Bracket declaration of 'upper_bound', 'lower_bound', 'i', 'reg_parm_stack_space' (emit_library_call_value): Likewise. (store_one_arg): * collect2.c: include <unistd.h> when appropriate. Bracket declaration of 'exportf' and 'full_real_ld_suffix'. * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'. * explow.c (plus_constant_for_output_wide): Remove unused variable 'code'. (memory_address): Remove unused variable 'orig_x'. * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'. (write_const_num_delay_slots): Remove unused variable 'i'. * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'. (gen_insn): Remove unused variable 'obstack_ptr'. * libgcc2.c (__bb_exit_func): Remove unused variables 'ret', 'j', 'tmp', 'i'. (__bb_exit_trace_func): Remove unused variable 'e'. * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs', 'funexp'. (expand_unop): Remove unused variable 'funexp'. (expand_complex_abs): Remove unused variable 'funexp'. (init_optabs): Bracket declaration of 'j'. (init_complex_libfuncs): Deleted. Dead static function. * profile.c (branch_prob): Remove unused variables 'insn', 'dest'. * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths' (reg_to_stack): 'initialized', 'before_function_beg' explictly type as ints instead of defaulting. (emit_swap_insn): Remove unused variable 'i2'. (compare_for_stack_reg): Remove unused variable 'src_note'. * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'. * sched.c (actual_hazard): Bracket declaration of 'this_cost'. * stmt.c (add_case_node): Add parens for assignment used as truth. (all_cases_count): Remove unused variable 'count_high'. (mark_seen_cases): Remove unused variable 'i'. (check_for_full_enumeration_handling): Remove unused variable 't'. Bracket declaration of 'all_values', 'l'. * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>. * varasm.c (assemble_string): Remove unused variable 'i'. (immed_double_const): Remove unused variable 'in_current_obstack'. (immed_real_const_1): Likewise. (output_constant_pool): Remove unreferenced label 'done'. (output_constant): Remove unused variable 'x'. * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not a string. * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used as truth. From-SVN: r17901
1998-01-26emit-rtl.c (gen_lowpart_common): Handle more case where converting a ↵Jeffrey A Law1-7/+3
CONST_INT into SFmode. * emit-rtl.c (gen_lowpart_common): Handle more case where converting a CONST_INT into SFmode. From-SVN: r17498
1998-01-23Remove rest of bytecode stuff, except for the VMS *.com files.Jim Wilson1-2/+0
* Makefile.in: Remove remaining bytecode stuff. * emit-rtl.c, expr.c: Likewise. From-SVN: r17459
1998-01-20Makefile.in: Remove all bytecode support.Jeffrey A Law1-28/+2
* Makefile.in: Remove all bytecode support. (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS. * emit-rtl.c: Remove all bytecode support. * expr.c, expr.h function.c, integrate.c: Likewise. * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise. * tree.h, varasm.c: Likewise. * bi-*, bc-*: Delete bytecode related files. Bytecode suppors disappears :-) From-SVN: r17432
1998-01-17emit_rtl.c (init_emit_once): Ensure that potential aliasing between ↵Jeff Law1-2/+6
frame_pointer_rtx... * emit_rtl.c (init_emit_once): Ensure that potential aliasing between frame_pointer_rtx, hard_frame_pointer_rtx, and arg_pointer_rtx is respected in initialization. (init_emit_once): Use gen_rtx_raw_REG() to create return_address_pointer_rtx. * rtl.h: Fix typo. From-SVN: r17409
1998-01-08Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.Richard Henderson1-102/+101
* Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits. * emit-rtl.c (gen_rtx): Move special code to ... (gen_rtx_CONST_INT): New function. (gen_rtx_REG): New function. (*): Update all calls to gen_rtx. * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO. * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators. (GEN_INT): Call gen_rtx_CONST_INT. * gengenrtl.c: New file. From-SVN: r17312
1998-01-01emit-rtl.c (operand_subword): Correctly handle extracting a word from a ↵Jeffrey A Law1-1/+8
CONST_DOUBLE for 16bit targets with... * emit-rtl.c (operand_subword): Correctly handle extracting a word from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN. From-SVN: r17276
1997-12-20bitmap.c (bitmap_clear): Ensure `inline' is at the beginning of the declaration.Kaveh R. Ghazi1-1/+1
* bitmap.c (bitmap_clear): Ensure `inline' is at the beginning of the declaration. * c-decl.c (finish_decl): Use parentheses around && within ||. * rtl.c: Include stdlib.h. (read_skip_spaces): Add parentheses around assignments used as truth values. (read_rtx): Initialize list_rtx. * cppexp.c (parse_number): Use || when operands are truth values. * alias.c (find_base_value): Add default case. (memrefs_conflict): Likewise. * combine.c (sets_function_arg_p): Likewise. * genemit.c (gen_exp): Likewise. * local-alloc.c (contains_replace_regs): Likewise. * rtlanal.c (jmp_uses_reg_or_mem): Likewise. * fold-const.c (fold_convert): Use "&&" for truth values. (fold): Add default case. * sdbout.c (sdbout_field_types): Fix typo in declaration. (sdbout_one_type): Add default case. * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS. (some_operand): Add default case. (input_operand): Likewise. (signed_comparison_operator): Likewise. (divmod_operator): Likewise. (alpha_set_memflags_1): Likewise. * reload1.c (reload_cse_simplify_operands): Ensure function always returns a value. * scan-decls.c (scan_decls): Likewise. * c-lex.c (skip_white_space): Fix typo in declaraion. * c-typeck.c (comp_target_types): Add parentheses around assignment used as truth value. (print_spelling): Likewise. (constructor_implicit, constructor_result): Remove unused variables. * collect2.c (scan_library): Protect prototype with #ifdef SCAN_LIBRARIES. * emit-rtl.c (find_line_note): Fix typo in declaration. * final.c (asm_insn_count): Protect prototype with #ifdef HAVE_ATTR_length. * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC. (try_pre_increment_1, try_pre_increment): Likewise. * regclass.c (auto_inc_dec_reg_p): Protect prototype with #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit. * gcov-io.h (__store_long, __write_long, __read_long): Fix unsigned/signed comparisons. * gcov.c (read_files): Remove unused "first_type" variable. (scan _for_source_files): Initialize s_ptr. (function_summary): Eliminate "%lf" formatting, use %ld for longs. (output_data): Initialize branch_probs and last_line_num. Eliminate "%lf" formatting, use "%ld" for longs. Co-Authored-By: Jeffrey A Law <law@cygnus.com> From-SVN: r17158
1997-12-11rtl.h (global_rtl): New variable, replacing separate variables for commonly ↵John F. Carr1-69/+53
used rtl. * rtl.h (global_rtl): New variable, replacing separate variables for commonly used rtl. (const_int_rtx): Now array of rtx_def, not rtx. * emit-rtl.c: Update for new rtl data structures. * genattrtab.c: Define global_rtl. From-SVN: r17049
1997-12-06Merge from gcc-2.8Jeff Law1-0/+4
From-SVN: r16987
1997-11-02Update mainline egcs to gcc2 snapshot 971021.Jeff Law1-4/+15
From-SVN: r16278
1997-09-22combine.c (try_combine): Use NULL_RTX instead of '0' where appropriate in ↵David S. Miller1-1/+2
calls to gen_rtx(). * combine.c (try_combine): Use NULL_RTX instead of '0' where appropriate in calls to gen_rtx(). * cse.c (cse_main): Likewise. * emit-rtl.c (gen_label_rtx): Likewise. * expr.c (init_expr_once): Likewise. * haifa-sched.c (flush_pending_lists, sched_analyze_insn, sched_analyze, init_rgn_data_dependences, compute_block_backward_dependences): Likewise. * sched.c (schedule_insns): Likewise. * varasm.c (immed_double_const): Likewise. From-SVN: r15630
1997-09-15dwarf2 EH supportJason Merrill1-0/+1
From-SVN: r15464
1997-09-10Fix problem reported by chris@lslsun.epfl.ch (Christian Iseli)Jim Wilson1-1/+1
Fix problem reported by chris@lslsun.epfl.ch (Christian Iseli) * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when create new subreg. From-SVN: r15391
1997-09-02Fix alpha-linux core dump reported by H.J. Lu.Jim Wilson1-0/+20
* alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS is passed in. * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to SFmode for 64 bit hosts. From-SVN: r15035
1997-04-20(change_address, init_emit): Delete forward references.Richard Kenner1-9/+0
(rtl_obstack, stack_depth, max_stack_depth): Delete extern decls. From-SVN: r13935
1997-03-10(subreg_lowpart_p): Return 0 if SUBREG_REG is VOIDmode.Richard Kenner1-1/+3
From-SVN: r13697
1996-11-16(operand_subword): Avoid confusion if sizeof (float) is less than aRichard Kenner1-0/+17
full word. From-SVN: r13194
1996-11-15(gen_rtvec_vv): New function.Richard Kenner1-1/+20
(copy_rtx_if_shared): Call it. From-SVN: r13167
1996-11-08(change_address): If MEMREF isn't changing, return the old one.Richard Kenner1-0/+3
From-SVN: r13115
1996-10-23(gen_lowpart_common): When converting a floating point value into anRichard Kenner1-3/+5
integer, use WORD as (first) word. From-SVN: r13011
1996-09-29(mark_user_reg): New function.Richard Kenner1-0/+17
From-SVN: r12869
1996-07-23install EH codeMike Stump1-0/+1
From-SVN: r12550
1996-07-03formatting tweaksMike Stump1-9/+10
From-SVN: r12390
1996-03-10(free_insn): New variable.Richard Kenner1-3/+21
(init_emit, restore_emit_status): Clear it. (gen_sequence): Store insn in free_insn when sequence length is 1. (make_insn_raw): Use free_insn if available and still in the rtl generation phase. From-SVN: r11508
1996-02-19(operand_subword): For 32-bit targets, returnRichard Earnshaw1-0/+14
the appropriate subword of extended precision CONST_DOUBLEs. From-SVN: r11300
1996-02-13(gen_lowpart): Could return without a value.Richard Kenner1-1/+2
From-SVN: r11252
1995-12-27(regno_pointer_align): New variable.Richard Kenner1-148/+61
(gen_reg_rtx): Extend regno_pointer_align table. Allocate tables in saveable obstack. (mark_reg_pointer): New arg, ALIGN. (gen_inline_header): New args for reg info. (set_new_first_and_last_insn): Set cur_insn_uid. ({save,restore}_emit_status): Save and restore regno_pointer_align. (restore_reg_data{,_1}): Deleted. (init_emit): Allocate register tables in saveable obstack. Set REGNO_POINTER_ALIGN for regs pointing into frame. From-SVN: r10865
1995-12-19(return_address_pointer_rtx): New global variable.Jim Wilson1-0/+14
(gen_rtx, init_emit_once): Add support for it. From-SVN: r10817