summaryrefslogtreecommitdiff
path: root/gcc/integrate.c
Commit message (Collapse)AuthorAgeFilesLines
* c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.Robert Lipe1998-02-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>. * calls.c (expand_call): Remove unused variables funtree, n_regs, and tmpmode. * dbxout.c, except.c: Include <string.h>/<strings.h>. * explow.c: (plus_constant_for_output_wide) Removed unused variable all_constant. * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c, genrecog.c, global.c, integrate.c , stupid.c : Include <stdlib.h>. * genextract.c: (walk_rtx) Remove unused variable link. * genrecog.c: (concat) Remove unreferenced static function. * prefix.c: Include <string.h>/<strings.h>, <stdlib.h> * stmt.c: Include <stdlib.h>. (expand_asm_operands): Remove unused variable val1. (expand_return): Remove unused variable block. (pushcase): Remove unused variables l and n. (pushcaserange): Likewise. * unroll.c (unroll_loop): Remove unused variable temp. From-SVN: r17766
* integrate.c (INTEGRATE_THRESHOLD): Inline only small functions when -Os is ↵Marc Lehmann1998-02-051-1/+5
| | | | | | | | | | | specified. * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions when -Os is specified. * toplev.c (main): Don't disable flag_inline_functions anymore when -Os is in effect. From-SVN: r17671
* Makefile.in: Remove all bytecode support.Jeffrey A Law1998-01-201-7/+0
| | | | | | | | | | | | | * 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
* alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO...Richard Henderson1998-01-141-31/+32
| | | | | | | | | | | | | | | * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO; change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...). * caller-save.c, calls.c, combine.c, cse.c: Likewise. * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise. * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise. * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise. * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise. * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise. * unroll.c, varasm.c: Likewise. * config/alpha/alpha.c, config/alpha/alpha.md: Likewise. From-SVN: r17357
* integrate.c (get_label_from_map): New function.Jeff Law1997-12-181-6/+29
| | | | | | | | | | | | | * integrate.c (get_label_from_map): New function. (expand_inline_function): Use it. Initialize the label_map to NULL_RTX instead of gen_label_rtx. (copy_rtx_and_substitute): Use get_label_from_map. * integrate.h (get_label_from_map): New function. (set_label_from_map): New macro. * unroll.c (unroll_loop): Use them. (copy_loop_body): Ditto. From-SVN: r17139
* integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL, look inside ↵Richard Kenner1997-12-121-0/+7
| | | | | | | | | a (mem (addressof (mem ...))). * integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL, look inside a (mem (addressof (mem ...))). From-SVN: r17075
* except.c (call_get_eh_context): Don't take a parm.Jason Merrill1997-12-121-1/+1
| | | | | | | | | | | | | | | | * except.c (call_get_eh_context): Don't take a parm. Put the call at the top of the function. (emit_eh_context): Adjust. (get_eh_context): Replace with former use_eh_context. (get_eh_context_once, get_saved_pc_ref): Remove. (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove. * except.h: Adjust. * integrate.c (expand_inline_function): Adjust. * toplev.c (rest_of_compilation): Don't call emit_unwinder. tidy tidy tidy From-SVN: r17065
* [multiple changes]Teemu Torma1997-12-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.Richard Kenner1997-12-091-0/+8
| | | | | | | * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc. From Kenner, fixes more ADDRESSOF problems. From-SVN: r17027
* Merge from gcc-2.8Jeff Law1997-12-061-1/+1
| | | | From-SVN: r16987
* integrate.c (output_inline_function): Just unset DECL_INLINE.Jason Merrill1997-11-261-7/+2
| | | | | | | | | | | | | * integrate.c (output_inline_function): Just unset DECL_INLINE. Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov> * dwarf2out.c (outout_call_frame_info): Ensure that the info has proper alignment. * libgcc2.c (__throw): Initialize HANDLER. From-SVN: r16724
* integrate.c (save_for_inline_copying): Add return value from savealloc.Jeffrey A Law1997-11-131-1/+1
| | | | | | | * integrate.c (save_for_inline_copying): Add return value from savealloc. From-SVN: r16481
* Fix c++ problem resulting from ADDRESSOF support.Jim Wilson1997-11-041-0/+11
| | | | | | * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc. From-SVN: r16330
* Update mainline egcs to gcc2 snapshot 971021.Jeff Law1997-11-021-15/+67
| | | | From-SVN: r16278
* Reverse this, bad call on my part:Brendan Kehoe1997-10-251-11/+0
| | | | | | | | | | 1,4d0 < Fri Oct 24 17:49:10 1997 Jim Wilson <wilson@cygnus.com> < < * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc. < From-SVN: r16172
* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.Jim Wilson1997-10-241-0/+11
| | | | | | | | | * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc. fixes many of the inlining problems causing various suite++ and perennial test failures, among others From-SVN: r16171
* One more thinko.Jeff Law1997-10-071-2/+2
| | | | From-SVN: r15875
* Fix thinko in last change.Jeff Law1997-10-071-2/+7
| | | | From-SVN: r15874
* integrate.c (save_for_inline_copying): Avoid undefined pointer operations.Jeffrey A Law1997-10-071-18/+7
| | | | | | | | * integrate.c (save_for_inline_copying): Avoid undefined pointer operations. (expand_inline_function): Likewise. From-SVN: r15866
* integrate.c (expand_inline_function): Make sure there is at least one insn ↵Andreas Schwab1997-09-261-1/+4
| | | | | | | | | that can be used as an insertion point. * integrate.c (expand_inline_function): Make sure there is at least one insn that can be used as an insertion point. From-SVN: r15738
* integrate.c (expand_inline_function): Move expand_start_bindings after ↵Jason Merrill1997-09-161-4/+5
| | | | | | | | | expanding the arguments. * integrate.c (expand_inline_function): Move expand_start_bindings after expanding the arguments. From-SVN: r15499
* integrate.c (save_for_inline_copying): Use 0, not NULL_PTR, as initial value ↵Philippe De Muyter1997-09-051-2/+2
| | | | | | | | | | | for real_label_map. * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR, as initial value for real_label_map. (copy_for_inline): Likewise. Brought over from the FSF. From-SVN: r15116
* integrate.c (expand_inline_function): Use xmalloc instead of alloca for the ↵Brendan Kehoe1997-07-281-2/+13
| | | | | | | | | | LABEL_MAP. * integrate.c (expand_inline_function): Use xmalloc instead of alloca for the LABEL_MAP. (save_for_inline_copying): Likewise. From-SVN: r14546
* integrate.c (expand_inline_function): Use xmalloc instead of alloca for the ↵Brendan Kehoe1997-07-281-2/+15
| | | | | | | | | LABEL_MAP. * integrate.c (expand_inline_function): Use xmalloc instead of alloca for the LABEL_MAP. From-SVN: r14545
* integrate.c (expand_inline_function): Use the mode of FNDECL's result rtl...Brendan Kehoe1997-06-091-2/+4
| | | | | | | * integrate.c (expand_inline_function): Use the mode of FNDECL's result rtl, not the result type itself, in setting ARRIVING_MODE. From-SVN: r14198
* reformat a little to match GNU coding standards.Mike Stump1997-05-061-7/+7
| | | | From-SVN: r14024
* (subst_constants, case SUBREG): Cancel changes once done with result.Richard Kenner1997-05-011-0/+1
| | | | From-SVN: r14002
* integrate.c (copy_rtx_and_substitute): If FRAME_GROWS_DOWNWARD and regno == ↵Doug Evans1997-04-131-5/+9
| | | | | | | | | | VIRTUAL_STACK_VARS_REGNUM... * integrate.c (copy_rtx_and_substitute): If FRAME_GROWS_DOWNWARD and regno == VIRTUAL_STACK_VARS_REGNUM, round size of stack slot up before calling assign_stack_temp. From-SVN: r13895
* integrate.c (expand_inline_function): Output NOTE_REPEATED_LINE_NUMBER after ↵Doug Evans1997-03-281-0/+10
| | | | | | | | | inlined call. * integrate.c (expand_inline_function): Output NOTE_REPEATED_LINE_NUMBER after inlined call. From-SVN: r13816
* (expand_inline_function): Handle a PARALLEL containing a RETURN theRichard Kenner1997-01-191-1/+3
| | | | | | same as a RETURN. From-SVN: r13533
* (save_constants): Make (address (const ..)) to record both modes.Richard Kenner1997-01-191-15/+42
| | | | | | | (copy_for_inline, copy_rtx_and_substitute, restore_constants): Use both modes when restoring constant pool entry for ADDRESS. From-SVN: r13512
* (function_cannot_inline_p): Reject function with PARALLEL result.Jim Wilson1996-12-231-0/+8
| | | | | | | | (function_cannot_inline_p): Reject function with PARALLEL result. (expand_inline_function): Abort if function result not handled. From-SVN: r13340
* (copy_for_inline): Call gen_rtvec_vv.Richard Kenner1996-11-151-1/+1
| | | | From-SVN: r13169
* (expand_inline_function): Avoid creating paradoxical subreg wider thanRichard Kenner1996-09-241-1/+15
| | | | | | BITS_PER_WORD as inlined function result. From-SVN: r12832
* install EH codeMike Stump1996-07-231-2/+37
| | | | From-SVN: r12549
* formatting tweaksMike Stump1996-07-031-6/+6
| | | | From-SVN: r12390
* (expand_inline_function): Add missing call to force_operand whenRichard Kenner1996-06-181-1/+2
| | | | | | getting structure_value_addr into reg. From-SVN: r12303
* (expand_inline_function): When comparing types of formal and actual,Richard Kenner1996-04-111-1/+3
| | | | | | use TYPE_MAIN_VARIANT. From-SVN: r11697
* (save_for_inline_copying): Allocate reg_map with sizeJim Wilson1996-02-151-1/+1
| | | | | | based on regno_pointer_flag_length instead of max_reg+1. From-SVN: r11279
* (save_constants_in_decl_trees): New function.Jim Wilson1996-02-131-0/+26
| | | | | | (save_for_inline_copying, save_for_inline_nocopy): Call it. From-SVN: r11263
* (save_for_inline_copying): Put virtual regs into new regno_reg_rtx copy.Richard Kenner1996-02-121-0/+6
| | | | From-SVN: r11208
* (save_for_inline_copying): Put reg_map in function's maybepermanent obstack ↵Richard Kenner1996-02-101-10/+3
| | | | | | | | | | instead of using alloca... (save_for_inline_copying): Put reg_map in function's maybepermanent obstack instead of using alloca; set regno_reg_rtx to it; delete recently-added copying of this later. From-SVN: r11193
* (save_for_inline_copying, case NOTE): Copy RTX_INTEGRATED_P bit.Jim Wilson1996-01-141-0/+1
| | | | From-SVN: r10976
* Include regs.h.Richard Kenner1995-12-271-41/+71
| | | | | | | | | | | | | | | | (initialize_for_inline): Pass additional args to gen_inline_header. (save_for_inline_copying): Make new regno_reg_rtx, regno_pointer_flag, and regno_pointer_align arrays. (expand_inline_function): Set alignment of reg for parm if passed by hidden pointer. Set regno_pointer_{flag,align} into remap table. (copy_rtx_and_substitute): Set alignment of pointers into stack frame. Copy pointer flag and alignment to regs that are copies of pointer registers from the original regs. (output_inline_function): Don't call restore_reg_data. Restore reg_rtx_no, regno_{reg_rtx,pointer_flag,pointer_align}. From-SVN: r10877
* (integrate_decl_tree): Delete variable newd.Jim Wilson1995-11-291-19/+3
| | | | | | Always set DECL_ABSTRACT_ORIGIN before calling pushdecl. From-SVN: r10621
* (output_inline_function): Turn on flag_no_inline to avoid function ↵Richard Kenner1995-10-201-4/+12
| | | | | | | | | integration... (output_inline_function): Turn on flag_no_inline to avoid function integration once we begin writing deferred output functions. From-SVN: r10488
* (expand_inline_function): Do copy something setting the result register if...Richard Kenner1995-09-201-0/+5
| | | | | | | (expand_inline_function): Do copy something setting the result register if it is setting it to itself and has a REG_NOTE. From-SVN: r10383
* (set_decl_{origin_self,abstract_flags}): Treat a DECL_INITIAL ofRichard Kenner1995-09-201-2/+4
| | | | | | error_mark_node the same as one of NULL_TREE. From-SVN: r10382
* Fix spelling errors.Richard Kenner1995-08-281-1/+1
| | | | From-SVN: r10289
* (output_inline_function): Switch to function obstack.Richard Kenner1995-08-251-0/+4
| | | | From-SVN: r10270