summaryrefslogtreecommitdiffstats
path: root/gcc/expr.c
Commit message (Collapse)AuthorAgeFilesLines
* * loop.c (regs_patch_p): Add prototype.law1998-04-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | (add_label_notes, count_nonfixed_reads): Likewise. (find_single_use_in_loop): Likewise. (express_from): Surround prototype with #ifdef. (giv_sort): Similarly. * jump.c (mark_modified_reg): Add prototype. * haifa-sched.c (is_prisky): Add prototype. (queue_to_ready): Likewise. * genextract.c (gen_insn): Add prototype. * genemit.c (max_operand_1): Add prototype. (max_operand_vec, print_code, gen_exp, gen_insn): Likewise. (gen_expand, gen_explit, output_add_clobbers): Likewise. (output_init_mov_optab): Likewise. * genattrtab.c (attr_hash_add_rtx): Add prototype. (attr_hash_add_string, write_length_unit_log): Likewise. * genattr.c (init_range): Add prototype. * combine.c (sets_function_arg_p): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19251 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (store_constructor_field): Add prototype.law1998-04-161-0/+3
| | | | | | | | | (memory_use_mode): Likewise. * expmed.c (synth_mult): Add prototype. (choose_multiplier, invert_mod2n): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19250 138bc75d-0d04-0410-961f-82ee72b054a4
* If -Os, set MOVE_RATIO to 3, not 15meissner1998-04-141-3/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19209 138bc75d-0d04-0410-961f-82ee72b054a4
* dbothner1998-04-081-0/+5
| | | | | | | | | | | | | | | | | Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition. * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO, COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros. (build_expr_wfl): New prototype declaration. * tree.c (build_expr_wfl): New function, to build EXPR_WITH_FILE_LOCATION nodes. (copy_node): Don't zero TREE_CHAIN if copying a EXPR_WITH_FILE_LOCATION node. * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION. * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19049 138bc75d-0d04-0410-961f-82ee72b054a4
* * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12law1998-04-041-145/+182
| | | | | | | | | for details. * haifa-sched.c: Mirror recent changes from gcc2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18984 138bc75d-0d04-0410-961f-82ee72b054a4
* Major cutover to using system.h:ghazi1998-03-201-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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18726 138bc75d-0d04-0410-961f-82ee72b054a4
* Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>rth1998-03-181-0/+5
| | | | | | | | * expr.c (expand_expr, case COND_EXPR): If have conditional move, don't use ORIGINAL_TARGET unless REG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18671 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix more warnings...ghazi1998-03-181-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-lang.c (finish_file): Wrap variable `void_list_node' with macro test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR. * calls.c (emit_call_1): Wrap variable `already_popped' with macro test !ACCUMULATE_OUTGOING_ARGS. * collect2.c (write_c_file_glob): Wrap function definition in macro test !LD_INIT_SWITCH. * combine.c (try_combine): Wrap variables `cc_use' and `compare_mode' in macro test EXTRA_CC_MODES. * cpplib.c (do_ident): Remove unused variable `len'. (skip_if_group): Remove unused variables `at_beg_of_line' and `after_ident'. (cpp_get_token): Remove unused variable `dummy'. * dbxout.c (scope_labelno): Move static variable definition inside the one function scope where it is used. (dbxout_function_end): Wrap prototype and definition in macro test !NO_DBX_FUNCTION_END. * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number' in macro test !MIPS_DEBUGGING_INFO. * expr.c (expand_builtin_setjmp): Move declaration of variable `i' into the scope where it is used. Wrap empty else-statement body in braces. * fix-header.c: Fix typo in comment. (inf_skip_spaces): Cast results of INF_UNGET to (void). (check_protection, main): Likewise. * flow.c (find_basic_blocks_1): Remove dangling comment text. * function.c (contains): Wrap prototype and definition in macro test HAVE_prologue || HAVE_epilogue. (fixup_var_refs_1): Remove unused variable `width'. * gen-protos.c (main): Remove unused variable `optr'. * haifa-sched.c (debug_control_flow): Remove unused variable `j'. * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0. (__sjpopnthrow): Remove unused variable `jmpbuf'. (__throw): Remove unused variable `val'. * protoize.c: Check for a previously existing definition before defining *_OK macros. * scan-decls.c (scan_decls): Remove unused variable `old_written'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18654 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix warious warnings:ghazi1998-02-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-aux-info.c: Include string.h/strings.h. * pa.c: Include stdlib.h. (pa_combine_instructions): Prototype the function. (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise. (reloc_needed): Add default case for enumeration switch. (remove_useless_addtr_insns): Remove unused variable `all'. (hppa_expand_prologue): Add explicit braces to avoid ambiguous `else'. (output_function_epilogue): Remove unused variable `i'. (output_millicode_call): Remove unused variable `link'. (shadd_constant_p, forward_branch_p): Make the function static. (following_call): Explicitly declare to return int. (pa_reorg): Declare as void. (pa_combine_instructions): Declare as static void. Add parentheses around && within ||. * pa.h: Add prototypes for pa_reorg, symbolic_operand, following_call, function_label_operand, lhs_lshift_cint_operand and zdepi_cint_p. * pa.md: Add parentheses around && within ||. * cppalloc.c: Include stdlib.h. * cpperror.c (cpp_print_containing_files): Remove unused variable `i'. Fix format specifier in fprintf. * cse.c (cse_around_loop): Add explicit braces to avoid ambiguous `else'. (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0. * expr.c (expand_expr): Add parentheses around && within ||. * final.c (app_enable): Replace fprintf with fputs where there are no format specifiers and no trailing argument after the string. Eg, when printing ASM_APP_ON/ASM_APP_OFF. (app_disable): Likewise. (final_end_function): Likewise. (final_scan_insn): Likewise. Remove unused variable `set'. (profile_function): Wrap empty if-statement body in {} brackets. * function.c: Include stdlib.h. (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD. (reposition_prologue_and_epilogue_notes): Add parentheses around assignment used as truth value. * integrate.c (expand_inline_function): Wrap variable `cc0_insn' in macro HAVE_cc0. * jump.c (jump_optimize): Wrap variable `q' in macro HAVE_cc0. Remove unused variable `prev1'. * libgcc2.c (__bb_exit_trace_func): Add parentheses around && within ||. Fix format specifier in fprintf. (__bb_init_prg): Add parentheses around assignment used as truth value. * local-alloc.c: Include stdlib.h. (requires_inout): Add parentheses around assignment used as truth value. * loop.c (analyze_loop_iterations): Wrap prototype and definition in macro HAVE_decrement_and_branch_on_count. (insert_bct, instrument_loop_bct): Likewise. (move_movables): Add parentheses around assignment used as truth value. (consec_sets_invariant_p): Likewise. (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0. * objc/objc-act.c: Include stdlib.h. (lookup_method_in_protocol_list): Wrap empty else-statement body in braces. (lookup_protocol_in_reflist): Likewise. (objc_add_static_instance): Remove unused variables `decl_expr' and `decl_spec'. (get_objc_string_decl): Remove unused variable `decl'. (generate_static_references): Remove unused variables `idecl' and `instance'. (check_protocols): Wrap empty else-statement body in braces. * protoize.c: Include stdlib.h. (substr): Add parentheses around assignment used as truth value. (abspath): Likewise. (shortpath): Likewise. * regmove.c (fixup_match_1): Add parentheses around assignment used as truth value. * reload.c (push_secondary_reload): Remove unused variable `i'. (find_reloads): Add parentheses around assignment used as truth value. * reload1.c: Include stdlib.h. * rtl.h: Correct typo in prototype of offsettable_memref_p. * stmt.c (add_case_node): Add parentheses around assignment used as truth value. (case_tree2list): Likewise. * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list' in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE. (merge_attributes): Add explicit braces to avoid ambiguous `else'. * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in macro HAVE_cc0. * varasm.c: Include stdlib.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18290 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_assignment): Correct typo exposed by -Wall.robertl1998-02-121-1/+1
| | | | | | | offset should have been a truth value, not an assignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17876 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.law1998-02-111-14/+16
| | | | | | | | | | | | | | | | | | | | | | | (expand_eh_region_start_tree): Remove unused variable 'note'. (exception_optimize): Remove unused variable 'regions'. (expand_builtin_eh_stub): Remove unused variable 'temp'. (copy_eh_entry): Deleted. Dead function. * expr.c (move_block_to_reg) Bracket declaration of 'pat' and 'last' with same #if HAVE_load_multiple as use of it. (move_block_from_reg): Likewise. (emit_move_insn_1): Remove unused variable 'insns'. (store_constructor): Bracket declaration of startb, endb with #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size' 'target', and 'xtarget'. (expand_builtin_setjmp): Remove unused variables 'op0', 'next_arg_reg', 'old_inhibit_defer_pop'. (expand_builtin): Remove unused variable 'offset'. (do_store_flag): Remove unused variables 'pattern', 'jump_pat'. (emit_queue): Add parens for assignment used as conditional. (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17843 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (clear_pending_stack_adjust): Handle case where a functionlaw1998-02-071-2/+6
| | | | | | | calls alloca, but the user has specified -fomit-fframe-pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17770 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_builtin_setjmp): Accept two new arguments forrth1998-02-021-124/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the labels to branch to on first and subsequent executions. Don't play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup', and provide it with the jmp_buf. Use only one of `builtin_setjmp_receiver' or `nonlocal_goto_receiver', and provide the former with the target label. (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp. (expand_builtin) [BUILTIN_LONGJMP]: Split out to ... (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp' insn to replace all of the normal nonlocal_goto code. Don't play with __dummy. Correct arguments to nonlocal_goto. * expr.h (expand_builtin_setjmp): Update prototype. * except.c (start_dynamic_handler): When using builtin_setjmp, generate more accurate flow information. * alpha.md (nonlocal_goto_receiver_osf): Delete. (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver. (builtin_longjmp, builtin_setjmp_receiver): New. * sparc.md (update_return): Disambiguate unspec number. (nonlocal_goto): Rearrange arguments to match caller in except.c. (builtin_setjmp_setup): Rename from setjmp. Match and ignore the jmp_buf operand. * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove. (builtin_setjmp_setup*, builtin_longjmp): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17602 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (emit_push_insn): Add code to use movstrti if present.law1998-02-021-0/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17589 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (emit_push_insn): Use same max-move-amount for movstrhilaw1998-02-021-4/+4
| | | | | | | and movstrqi as in emit_block_move (). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17588 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (get_inner_reference): Use sbitsizetype for type sizes.law1998-02-011-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | * fold-const.c (size_int): Replace with (size_int_wide). (make_bit_field_ref): Use bitsize_int for bit position. * stor-layout.c (sizetype): Delete. (sizetype_tab, sbitsizetype, ubitsizetype): Declare. (layout_record, layout_union, layout_type): Use bitsize_int for bit size. (set_sizetype): New function. (make_signed_type, make_unsigned_type): Use it. * c-decl.c (init_decl_processing): Likewise. * tree.h (size_int): Don't delcare, #define. (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare. (set_sizetype): Declare. (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype): Define. * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes): Convert result to sizetype. (really_start_incremental_init, push_init_level): Set type of constructor_bit_index to sbitsizetype. (push_init_level): Use unsigned arithmetic to determine padding. (output_init_element): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17577 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove rest of bytecode stuff, except for the VMS *.com files.wilson1998-01-231-4/+2
| | | | | | | | * Makefile.in: Remove remaining bytecode stuff. * emit-rtl.c, expr.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17459 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove more bytecode stuff.law1998-01-201-4/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17436 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in: Remove all bytecode support.law1998-01-201-1323/+0
| | | | | | | | | | | | | (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 :-) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17432 138bc75d-0d04-0410-961f-82ee72b054a4
* * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;rth1998-01-141-147/+151
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17357 138bc75d-0d04-0410-961f-82ee72b054a4
* Bring in final gcc-2.8.0 changes.law1998-01-141-32/+24
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17355 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-decl.c (init_decl_processing): Provide proper fallback symbolrth1998-01-021-4/+8
| | | | | | | | | | | | | | | | | | | | | | | for __builtin_memset. * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE not INTEGER_CST. Assert arg 3 is a constant. * alpha.c (mode_width_operand): Accept 64-bit modes. (mode_mask_operand): Likewise. (print_operand): Likewise for 'M' and 'U' codes. (alpha_expand_unaligned_load): New function. (alpha_expand_unaligned_store): Likewise. (alpha_expand_unaligned_load_words): Likewise. (alpha_expand_unaligned_store_words): Likewise. (alpha_expand_block_move): Likewise. (alpha_expand_block_clear): Likewise. * alpha.h (MOVE_RATIO): New define. * alpha.md (extxl, ext*h, ins*l, mskxl): Name them. (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New. * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3. (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17278 138bc75d-0d04-0410-961f-82ee72b054a4
* dlaw1997-12-291-0/+8
| | | | | | | | * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the offset's mode is not ptr_mode, convert it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17260 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be anlaw1997-12-191-3/+6
| | | | | | | | | | | expression. * stmt.c (expand_end_case): Likewise. * alpha.h (CASE_VECTOR_PC_RELATIVE): Update. * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise. * rs6000.h, sh.h, tahoe.h, v850.h vax.h z8k.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17155 138bc75d-0d04-0410-961f-82ee72b054a4
* Bring over changes from latest gcc-2.8 pre-release.law1997-12-151-7/+4
| | | | | | | Mirror sched.c change into haifa-sched.c git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17097 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.bothner1997-12-131-0/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17090 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from gcc-2.8law1997-12-071-38/+85
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16987 138bc75d-0d04-0410-961f-82ee72b054a4
* O Bring in changes from release branch (egcs_ss_971127).law1997-12-011-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16866 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_builtin_setjmp): Setlaw1997-11-141-6/+1
| | | | | | | | | | | | | | current_function_has_nonlocal_label. * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill call-saved registers across calls. * alpha.md (exception_receiver): Remove. (nonlocal_goto_receiver_osf): New (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver. (nonlocal_goto_receiver): New, select _osf or _vms. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16492 138bc75d-0d04-0410-961f-82ee72b054a4
* patch from paul eggert to fix -0.0/0.0 confusion that breaks glibcwilson1997-11-141-1/+1
| | | | | | | | | | | | | | * real.h (REAL_VALUES_IDENTICAL): New macro. * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros. * fold-const.c (operand_equal_p): Don't consider -0.0 to be identical to 0.0. * tree.c (simple_cst_equal): Don't consider -0.0 to have the same tree structure as 0.0. * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL macro instead of doing it by hand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16472 138bc75d-0d04-0410-961f-82ee72b054a4
* Update mainline egcs to gcc2 snapshot 971021.law1997-11-021-99/+244
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16278 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_builtin_setjmp): Don't emit a SETJMP notelaw1997-11-021-3/+0
| | | | | | | or set current_function_calls_setjmp anymore. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16267 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_increment): When enqueing a postincrement for a MEM,amylaar1997-10-311-1/+3
| | | | | | | use copy_to_reg if address is not a general_operand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16247 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_expr, case INDIRECT_REF): Optimize a referencelaw1997-10-261-0/+12
| | | | | | | to an element in a constant string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16195 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (get_inner_reference): Remove the array bias afterlaw1997-10-261-3/+3
| | | | | | | converting the index to Pmode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16178 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (use_group_regs): Don't call use_reg for MEMs.devans1997-10-181-8/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16046 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.jason1997-09-271-0/+2
| | | | | | | | | | | | * tree.h (built_in_function): Likewise. * expr.c (expand_builtin): Likewise. * except.h: Likewise. * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn. * libgcc2.c (copy_reg): New fn. (__throw): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15750 138bc75d-0d04-0410-961f-82ee72b054a4
* * combine.c (try_combine): Use NULL_RTX instead of '0' wherelaw1997-09-221-1/+1
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15630 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix H.J. Lu's alpha-linux bug with TImode constructors.wilson1997-09-161-7/+11
| | | | | | | | | * expr.c (expand_expr): Remove previous incorrect change. If target and slot has no DECL_RTL, then call mark_addressable again for the slot after we give it RTL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15496 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressablejason1997-09-161-0/+5
| | | | | | | again for the slot after we give it RTL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15482 138bc75d-0d04-0410-961f-82ee72b054a4
* dwarf2 EH supportjason1997-09-161-1/+29
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15464 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove last change. Not needed for egcs yet.law1997-09-111-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15397 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (emit_block_move): Always return a value.law1997-09-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15252 138bc75d-0d04-0410-961f-82ee72b054a4
* Add port done awhile ago for the ARC cpu.law1997-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * arc/arc.h: New file. * arc/arc.c: New file. * arc/arc.md: New file. * arc/initfini.c: New file. * arc/lib1funcs.asm: New file. * arc/t-arc: New file. * arc/xm-arc.h: New file. * ginclude/va-arc.h: New file. * ginclude/stdarg.h: Include va-arc.h ifdef __arc__. * ginclude/varargs.h: Likewise. * Makefile.in (USER_H): Add va-arc.h. * configure.in (arc-*-elf*): Recognize. * longlong.h: Add ARC support. Mostly so I can test changes in snapshot scripts. * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx. when clearing non-BLKmode data. Fixes sparc problem. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15198 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (convert_move): Handle truncation from TQFmode to QFmode.law1997-09-031-0/+7
| | | | | | | From Christian Iseli. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15054 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.h (insn_gen_function): Reenable prototype.law1997-08-291-4/+4
| | | | | | | | * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of first parameter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14994 138bc75d-0d04-0410-961f-82ee72b054a4
* (expand_builtin, case BUILT_IN_AGGREGATE_INCOMING_ADDRESS): New case.kenner1997-08-021-40/+283
| | | | | | | | | | (expand_assignment, expand_expr, emit_push_insn, store_expr): Insert calls to chkr_check_addr, chkr_set_right, and chkr_copy_bitmap when -fcheck-memory-usage. (get_push_address, get_memory_usage_from_modifier): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14611 138bc75d-0d04-0410-961f-82ee72b054a4
* (expand_expr, case PLACEHOLDER_EXPR): Find innermost matching andkenner1997-08-021-27/+19
| | | | | | | don't check contains_placeholder_p. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14605 138bc75d-0d04-0410-961f-82ee72b054a4
* (expand_expr, case LABEL_DECL): Treat inline_function_decl likekenner1997-07-271-2/+13
| | | | | | | | | current_function_decl. (expand_expr, case SAVE_EXPR): Handle top-level SVAE_EXPR by moving into current function; abort if in incorrect context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14540 138bc75d-0d04-0410-961f-82ee72b054a4
* (get_inner_unaligned_p): Deleted.kenner1997-07-271-111/+11
| | | | | | | | (expand_assignment): Remove special-case of constant array. (expand_expr, case ARRAY_REF): Likewise, and clean up remaining code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14536 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud