aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.c
AgeCommit message (Collapse)AuthorFilesLines
1998-01-30Forgot to commit these...Jeff Law1-0/+6
From-SVN: r17555
1998-01-28rtl.c (read_rtx): Use atol/atoq based upon disposition of HOST_WIDE_INT.Jeff Law1-0/+4
* rtl.c (read_rtx): Use atol/atoq based upon disposition of HOST_WIDE_INT. * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC as needed. * genemit.c (gen_exp): Likewise. * genpeep.c (match_rtx): Likewise. * genrecog.c (write_tree_1): Likewise. * c-lex.c (yyprint): Use proper format string based upon disposition of HOST_BITS_PER_WIDE_INT. (yylex): Put casts in right place for args to build_int_2. * combine.c: Fix typos in Jan27 changes. From-SVN: r17544
1998-01-17acconifg.h (NEED_DECLARATION_ATOL): New declaration to check for.Jeffrey A Law1-1/+1
* acconifg.h (NEED_DECLARATION_ATOL): New declaration to check for. * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL. From-SVN: r17404
1998-01-17* rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.Jeffrey A Law1-1/+1
From-SVN: r17400
1997-12-20bitmap.c (bitmap_clear): Ensure `inline' is at the beginning of the declaration.Kaveh R. Ghazi1-3/+6
* 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-11[multiple changes]Teemu Torma1-1/+1
Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com> Thread-safe EH support for pthreads, DCE threads and Solaris threads. * integrate.c (expand_inline_function): If the inline fn uses eh context, make sure that the current fn has one. * toplev.c (rest_of_compilation): Call emit_eh_context. * except.c (use_eh_context): New fn. (get_eh_context_once): New fn. (call_get_eh_context): New fn. (emit_eh_context): New fn. (get_eh_context): Call either get_eh_context_once or call_get_eh_context, depending on what we have. (get_dynamic_handler_chain): Call get_eh_context_once. * except.h: Prototypes for fns above. * optabs.c (get_eh_context_libfunc): Removed. (init_optabs): Don't initialize it. * expr.h (get_eh_context_libfunc): Removed. * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT. * config/pa/pa.h (CPP_SPEC): Support for -threads. * config/pa/pa-hpux10.h (LIB_SPEC): Ditto. * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): New multilib for -threads. * config/sparc/t-sol2: Added multilibs for -threads and made -pthreads alias to it. * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC): Added -threads and -pthreads options. * libgcc-thr.h: New file. * libgcc2.c: (__get_cpp_eh_context): Removed. (struct cpp_eh_context): Removed. (struct eh_context): Replaced cpp_eh_context with generic language specific pointer. (__get_eh_info): New function. (__throw): Check eh_context::info. (__sjthrow): Ditto. * libgcc2.c: Include libgcc-thr.h. (new_eh_context, __get_eh_context, eh_pthread_initialize, eh_context_initialize, eh_context_static, eh_context_specific, eh_context_free): New functions. (get_eh_context, eh_context_key): New variables. (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use get_eh_context to get the context. (longjmp): Move the declaration inside #ifdef DONT_USE_BUILTIN_SETJMP. * frame.c: Include libgcc-thr.h. (object_mutex): Mutex to protect the object list. (find_fde, __register_frame, __register_frame_table, __deregister_frame): Hold the lock while accessing objects. * except.h (get_eh_context): Declare. * except.c (current_function_ehc): Define. (current_function_dhc, current_function_dcc): Removed. (get_eh_context): New function. (get_dynamic_handler_chain): Use get_eh_context. (get_saved_pc_ref): Ditto. (get_dynamic_cleanup_chain): Removed references to current_function_dcc. (save_eh_status, restore_eh_status): Save and restore current_function_ehc instead. * optabs.c (get_eh_context_libfunc): New variable. (init_optabs): Initialize it. * expr.h: Declare get_eh_context_libfunc. * function.h (struct function): Replaced dhc and dcc with ehc. * except.c (get_saved_pc_ref): New functions. (eh_saved_pc_rtx, eh_saved_pc): Deleted. (expand_internal_throw_indirect): Use get_saved_pc_ref() instead of eh_saved_pc. (end_eh_unwinder): Likewise. (init_eh): Remove initialization of eh_saved_pc. * optabs.c (get_saved_pc_libfunc): New variable. (init_optabs): Initialize it. * expr.h: Declare get_saved_pc_libfunc. * except.h (eh_saved_pc_rtx): Deleted. (get_saved_pc_ref): Declared. From Scott Snyder <snyder@d0sgif.fnal.gov>: * libgcc2.c (__get_saved_pc): New. (__eh_type, __eh_pc): Deleted. (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc. (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside this fcn. cp/: Thu Dec 11 20:43:33 1997 Teemu Torma <tot@trema.com> * decl.c (ptr_ptr_type_node): Define. (init_decl_processing): Initialize it. * cp-tree.h: Declare it. * exception.cc (__cp_exception_info): Use __get_eh_info. (__cp_push_exception): Ditto. (__cp_pop_exception): Ditto. From Scott Snyder <snyder@d0sgif.fnal.gov>: * except.c (expand_builtin_throw): Use get_saved_pc_ref instead of saved_pc. (init_exception_processing): Removed saved_pc initialization. From-SVN: r17052
1997-12-06Merge from gcc-2.8Jeff Law1-11/+3
From-SVN: r16987
1997-11-02Update mainline egcs to gcc2 snapshot 971021.Jeff Law1-0/+6
From-SVN: r16278
1997-09-23reorg.c (dbr_schedule): At end of this pass...David S. Miller1-1/+2
* reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED note holding get_jump_flags() calculation to all JUMP_INSNs. * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA. * rtl.c (reg_note_name): Add new note types. From-SVN: r15670
1997-08-11* Integrate alias analysis changes from jfc@mit.eduJeffrey A Law1-1/+1
* Makefile.in (OBJS): Add alias.o (alias.o): Add dependencies. * alias.c: New file. * sched.c: Remove alias analysis code. It lives in alias.c now. (reg_last_uses_size): Declare. (sched_analyze_2): Add new arguments to true_dependence. (sched_analyze_insn): Use reg_last_uses_size instead of max_reg. (schedule_block): Initialize reg_last_uses_size. (schedule_insns): Always call init_alias_analysis. * calls.c (expand_call): Note calls to malloc, calloc, and realloc; mark return value from such functions as a pointer and keep track of them for alias analysis. If a return value from a function is a pointer, mark it as such. * combine.c (distribute_notes): Handle REG_NOALIAS. * cse.c (struct write_data): Delete. No longer needed. (invalidate): Don't call set_nonvarying_address_components anymore. Use true_dependence to decide if an entry should be removed from the hash table. (invalidate_memory): Remove WRITES argument, simplify appropriately. Fix all callers. (note_mem_written): Similarly for WRITE_PTR argument. (invalidate_from_clobbers): Similarly for W argument. (invalidate_for_call): Remove memory elements from the hash table. (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted. (cse_rtx_varies_p): New function. Derived from old cse_rtx_addr_varies_p. (cse_insn): Remove WRITES_MEMORY and INIT variables and all references. Don't call note_mem_written anymore. Stack pushes invalidate the stack pointer if PUSH_ROUNDING is defined. No longer need to call cse_rtx_addr_varies_p to decide if a MEM should be invalidated. (skipped_writes_memory): Remove variable. (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory. (invalidate_skipped_block): Simplify for new alias analysis code. (cse_set_around_loop): Likewise. (cse_main): Call init_alias_analysis. * flags.h (flag_alias_check, flag_argument_noalias): Declare. * toplev.c (flag_alias_check, flag_argument_noalias): Define. (f_options): Add new alias checking arguments. (main): Set flag_alias_check when optimizing. * local_alloc (validate_equiv_mem_from_store): Add new arguments to true_dependence. (memref_referenced_p): Likewise. * loop.c (NUM_STORES): Increase to 30. (prescan_loop): Only non-constant calls set unknown_address_altered. (invariant_p): Add new arguments to true_dependence. (record_giv): Initialize unrolled and shared fields. (emit_iv_add_mult): Call record_base_value as needed. * loop.h (struct induction): Add unrolled and shared fields. * unroll.c (unroll_loop): Call record_base_value as needed. (copy_loop_body): Likewise. (final_biv_value): Likewise. (final_giv_value): Likewise. (find_splittable_regs): Likewise. Only create one new pseudo if we have multiple address GIVs that were combined with the same dst_reg GIV. Note when a new register is created due to unrolling. * rtl.c (reg_note_name): Add REG_NOALIAS. * rtl.h (enum reg_note): Similarly. (rtx_varies_p, may_trap_p, side_effects_p): Declare. (volatile_refs_p, volatile_insn_p, remove_note): Likewise. (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise. (true_dependence, read_dependence, anti_dependence): Likewise. (output_dependence, init_alias_analysis, end_alias_analysis): Likewise. (mark_user_reg, mark_reg_pointer): Likewise. jfc's alias analysis code. From-SVN: r14768
1997-03-28rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER.Doug Evans1-3/+5
* rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER. (reg_note_name): Add REG_BR_PROB and REG_EXEC_COUNT. From-SVN: r13821
1996-11-15(rtvec_alloc): Clear rtwint instead of rtvec.Richard Kenner1-3/+4
From-SVN: r13172
1996-07-23install EH codeMike Stump1-1/+2
From-SVN: r12548
1996-07-03formatting tweaksMike Stump1-1/+1
From-SVN: r12390
1995-06-15Update FSF address.Richard Kenner1-1/+2
From-SVN: r9964
1994-03-25(read_rtx): Remove decl of unused variable STRINGBUFSIZE.Richard Kenner1-2/+1
From-SVN: r6891
1993-10-07Move initialization of byte_mode and word_mode to emit-rtl.cIan Lance Taylor1-19/+1
From-SVN: r5661
1993-09-19(rtx_free): New function.Richard Stallman1-0/+9
From-SVN: r5366
1993-05-17(init_rtl): Correct number of 'w's in CONST_DOUBLE format.Richard Stallman1-2/+3
From-SVN: r4490
1993-04-26(NOTE_INSN_FUNCTION_BEG): Make non-zero.Doug Evans1-2/+2
From-SVN: r4226
1993-03-31Include real.h to get the definition of REAL_VALUE_TYPE.Richard Stallman1-0/+1
From-SVN: r3940
1993-01-14(copy_rtx): A MEM with constant address is not sharable.Jim Wilson1-4/+4
Undo Dec 27 change. From-SVN: r3231
1993-01-03(rtx_alloc): Clear common area of rtx in a portable manner.Richard Kenner1-1/+8
From-SVN: r3074
1992-12-27(copy_rtx): A CONST can be shared if it contains a SYMBOL_REF.Richard Kenner1-0/+16
A SCRATCH must be shared. A MEM may be shared if it is at a constant address. From-SVN: r2924
1992-09-19(note_insn_name): Fix typo: had NOT_INSN_DELETED_LABEL.Richard Kenner1-1/+1
From-SVN: r2183
1992-09-15(ftell): Declaration deleted.Richard Stallman1-2/+0
From-SVN: r2122
1992-07-06entered into RCSCharles Hannum1-5/+48
From-SVN: r1476
1992-07-05*** empty log message ***Richard Stallman1-1/+2
From-SVN: r1438
1992-06-29*** empty log message ***Tom Wood1-1/+2
From-SVN: r1336
1992-06-28*** empty log message ***Richard Kenner1-2/+0
From-SVN: r1318
1992-06-27*** empty log message ***Richard Kenner1-0/+8
From-SVN: r1310
1992-05-13*** empty log message ***Richard Stallman1-2/+7
From-SVN: r971
1992-05-09*** empty log message ***Richard Stallman1-3/+4
From-SVN: r946
1992-05-09*** empty log message ***Richard Stallman1-20/+12
From-SVN: r945
1992-05-07*** empty log message ***Richard Stallman1-1/+1
From-SVN: r930
1992-04-20*** empty log message ***Richard Stallman1-95/+0
From-SVN: r800
1992-04-15*** empty log message ***Tom Wood1-0/+11
From-SVN: r744
1992-04-14*** empty log message ***Jim Wilson1-7/+25
From-SVN: r742
1992-01-15*** empty log message ***Richard Kenner1-1/+1
From-SVN: r192
1992-01-04*** empty log message ***Richard Kenner1-1/+36
From-SVN: r163
1991-12-28*** empty log message ***Jim Wilson1-1/+1
From-SVN: r146
1991-12-06Initial revisionJim Wilson1-0/+819
From-SVN: r104