summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* (skip_to_end_of_comment): Catch unterminated comments.dje1994-06-211-1/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7525 138bc75d-0d04-0410-961f-82ee72b054a4
* include stdio.h and stdlib.h into assert.h as necessarymerrill1994-06-181-0/+31
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7524 138bc75d-0d04-0410-961f-82ee72b054a4
* Lose assert.h hackingmerrill1994-06-181-24/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7523 138bc75d-0d04-0410-961f-82ee72b054a4
* (sdbout_symbol): Use DECL_ASSEMBLER_NAME ifwilson1994-06-181-1/+4
| | | | | | | DECL_LANG_SPECIFIC is set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7522 138bc75d-0d04-0410-961f-82ee72b054a4
* (process_init_element): For fieldtype, don't accesswilson1994-06-181-2/+6
| | | | | | | TYPE_MAIN_VARIANT field if the type is error_mark_node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7521 138bc75d-0d04-0410-961f-82ee72b054a4
* (truncdisi2): Change from define_insn to define_expand.wilson1994-06-181-40/+66
| | | | | | | | (truncdihi2, truncdiqi2, extendsidi2): Likewise. (extendsidi2_internal): New pattern. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7520 138bc75d-0d04-0410-961f-82ee72b054a4
* (duplicate_loop_exit_test): Initialize copy to zero.wilson1994-06-181-3/+3
| | | | | | | Emit jump to end lable if copy is still zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7519 138bc75d-0d04-0410-961f-82ee72b054a4
* (sdbout_one_type): Use DECL_ASSEMBLER_NAME notwilson1994-06-181-1/+6
| | | | | | | DECL_NAME for child_type that is a template type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7518 138bc75d-0d04-0410-961f-82ee72b054a4
* (move_movables): Copy CALL_INSN_FUNCTION_USAGE field.wilson1994-06-181-2/+16
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7517 138bc75d-0d04-0410-961f-82ee72b054a4
* (sdbout_one_type): Use DECL_ASSEMBLER_NAME ifwilson1994-06-181-1/+7
| | | | | | | DECL_LANG_SPECIFIC is set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7516 138bc75d-0d04-0410-961f-82ee72b054a4
* (dbxout_symbol): Replace DECL_IGNORED_P withwilson1994-06-181-1/+1
| | | | | | | TYPE_DECL_SUPPRESS_DEBUG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7515 138bc75d-0d04-0410-961f-82ee72b054a4
* (expand_shift): Don't try extzv for lshr.kenner1994-06-181-93/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7514 138bc75d-0d04-0410-961f-82ee72b054a4
* (lshrsi3): New define_expand.kenner1994-06-181-0/+20
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7513 138bc75d-0d04-0410-961f-82ee72b054a4
* Pass NULL_RTX for TARGET in calls to expand_{un,bin}op.kenner1994-06-181-30/+33
| | | | | | | (expand_float): Use expand_shift instead of expand_binop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7512 138bc75d-0d04-0410-961f-82ee72b054a4
* Correct math.h handling on Lynx again.ian1994-06-171-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7511 138bc75d-0d04-0410-961f-82ee72b054a4
* (simplify_binary_operation, case MINUS): Check mode of op0,erich1994-06-171-1/+1
| | | | | | | instead of op1, before calling plus_constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7510 138bc75d-0d04-0410-961f-82ee72b054a4
* * pa.h (DEBUGGER_AUTO_OFFSET): Define. If no frame pointerlaw1994-06-171-0/+17
| | | | | | | | is available, then adjust the offset by the size of the current frame. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7509 138bc75d-0d04-0410-961f-82ee72b054a4
* (output_inline_function): Unset DECL_DEFER_OUTPUT onmerrill1994-06-161-0/+3
| | | | | | | fndecl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7508 138bc75d-0d04-0410-961f-82ee72b054a4
* (compile_file): Unset DECL_DEFER_OUTPUT on declsmerrill1994-06-161-0/+9
| | | | | | | | | | | considered at end of file. (rest_of_compilation): Also postpone compilation of inlines with DECL_DEFER_OUTPUT set. (compile_file): Always emit postponed inlines if -fkeep-inline-functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7507 138bc75d-0d04-0410-961f-82ee72b054a4
* (DECL_DEFER_OUTPUT): New macro.merrill1994-06-161-1/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7506 138bc75d-0d04-0410-961f-82ee72b054a4
* (reload_reg_free_p, case RELOAD_OTHER): Allowed to conflict withkenner1994-06-161-3/+15
| | | | | | | RELOAD_FOR_OTHER_ADDRESS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7505 138bc75d-0d04-0410-961f-82ee72b054a4
* Correct argument type for ffs in string.h on Alpha OSF/1 V2.0ian1994-06-161-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7504 138bc75d-0d04-0410-961f-82ee72b054a4
* (set_nonvarying_address_components): Rework and also handle an ANDkenner1994-06-161-13/+51
| | | | | | | used for non-aligned accesses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7503 138bc75d-0d04-0410-961f-82ee72b054a4
* Change REG_ALLOC_ORDER so the 386 bootstraps.meissner1994-06-161-8/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7502 138bc75d-0d04-0410-961f-82ee72b054a4
* (TARGET_ENV32): Mark as deprecated.dje1994-06-161-7/+7
| | | | | | | | | (-mv9/-mno-v9): Not useable yet. (-m{int,long}{32,64}): Clean up. (-mptr{32,64}): Comment out for now. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7501 138bc75d-0d04-0410-961f-82ee72b054a4
* (warn_if_unused_value): Handle TREE_NO_UNUSED_WARNING formerrill1994-06-161-0/+2
| | | | | | | COMPOUND_EXPRs, too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7500 138bc75d-0d04-0410-961f-82ee72b054a4
* (TREE_NO_UNUSED_WARNING): Note that this can be appliedmerrill1994-06-161-2/+2
| | | | | | | to COMPOUND_EXPRs, too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7499 138bc75d-0d04-0410-961f-82ee72b054a4
* (divsi3): Fix divide by 2^N with compare RTL.kenner1994-06-161-4/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7498 138bc75d-0d04-0410-961f-82ee72b054a4
* (maxsf3, minsf3, maxdf3, mindf3): Fix predicate of define_split.kenner1994-06-161-6/+7
| | | | | | | | (muldi3): Fix predicate. (movdf matcher): Allow update and indexed for lfd instruction. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7497 138bc75d-0d04-0410-961f-82ee72b054a4
* (dbxout_type): Fix call to bzero.dje1994-06-151-4/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7496 138bc75d-0d04-0410-961f-82ee72b054a4
* (simplify_unary_operation): Fix typo in last change.kenner1994-06-151-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7495 138bc75d-0d04-0410-961f-82ee72b054a4
* (dbxout_range_type): Handle an array range that is neither int nor subrange.bothner1994-06-151-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7494 138bc75d-0d04-0410-961f-82ee72b054a4
* 40th Cygnus<->FSF mergemrs1994-06-1515-119/+397
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7493 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove erroneously-installed change.kenner1994-06-151-21/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7492 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.c: Include multilib.h.dje1994-06-151-0/+306
| | | | | | | | | | | | | | | | | (print_multi_lib, print_multi_directory, multilib_select, multilib_dir): New static variables. (option_map): Added --print-multi-lib and --print-multi-directory. (set_spec): Get multilib_select from specs file. (process_command): Dump multilib_select into specs file. Handle -print-multi-lib and -print-multi-directory. (do_spec_1): Try multilib_dir for %D case. (find_file): Try multilib_dir. (main): Call set_multilib_dir. Handle print_multi_lib and print_multi_directory. (used_arg, set_multilib_dir, print_multilib_info): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7491 138bc75d-0d04-0410-961f-82ee72b054a4
* (multilib.h, stmp-multilib, install-multilib): New targets.dje1994-06-151-1/+58
| | | | | | | | (gcc.o): Depend on multilib.h. (clean): Remove multilib.h and tmpmultilib*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7490 138bc75d-0d04-0410-961f-82ee72b054a4
* Initial revisiondje1994-06-151-0/+241
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7489 138bc75d-0d04-0410-961f-82ee72b054a4
* Initial revisiondje1994-06-153-0/+199
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7488 138bc75d-0d04-0410-961f-82ee72b054a4
* * sparc/sparc.md (cpu): New attribute.dje1994-06-151-312/+2239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (type attribute): New value cmove (conditional moves). (cmpdi): New pattern for v9. (seq*, sne*): Add v9 support. (sgt,slt,sge,sle): Explicitly restrict operand 0 to the integer registers. Try emitting a conditional move for v9. (sgtu,sltu,sgeu,sleu): Likewise. (comparison insns): Add v9 versions. (scc insns): Add DImode versions for v9. (beq, bne, bgt, blt, bge, ble): If comparing DImode with 0 on v9, use brxx insns. Use emit_jump_insn, not emit_insn, as the latter mishandles brxx insns. (branch insns): Update calls to output_cbranch. Add v9 versions to support multiple floating point condition code regs. Add v9 versions to support brxx insns. (lo_sum, high, pic): Add v9 support. (symbolic move patterns): Disable for v9. (DImode, DFmode, TFmode moves): Add v9 support. (conditional move insns): Define for v9. (zero_extendqidi2, extendqidi2, zero_extendhidi2, extendhidi2, zero_extendsidi2, extendsidi2, floatdisf2, floatdidf2, floatditf2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2, muldi3, divdi3, udivdi3, ashldi3, ashrdi3, lshrdi3, ffsdi2): New patterns for v9. (bitfield compare insn): Add DImode version for v9. (adddi3, subdi3, negdi2, anddi3, iordi3, xordi3, one_cmpldi2, mixed mode fp mult insns, negdf2, negtf2, absdf2, abstf2, tablejump, call, call_value, untyped_call, untyped_return, indirect_jump, flush_register_windows, flush): Add v9 support. (ldd peep holes): Disable for v9. (set/compare peep hole): Define DImode version for v9. (sign extend/compare peep hole): Likewise. (return peep holes): Add v9 support. (call/jump peep holes): Add v9 support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7487 138bc75d-0d04-0410-961f-82ee72b054a4
* * sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Define.dje1994-06-151-190/+1357
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (sparc_cpu_type, sparc_arg_count, sparc_n_named_args, frame_base_offset, fpconv_stack_temp): New globals. (leaf_reg_remap): Add additional registers for v9. (sparc_override_options, sparc64_init_expanders, sparc64_fpconv_stack_temp, intreg_operand, ccfp_reg_operand, data_segment_operand, text_segment_operand, v9_regcmp_op, arith11_operand, arith10_operand, arith11_double_operand, arith10_double_operand, gen_v9_scc, emit_v9_brxx_insn, sparc_init_modes, build_big_number, output_v9branch, sparc_initialize_trampoline, sparc64_initialize_trampoline): New functions. (arith_double_operand, gen_compare_reg, finalize_pic, emit_move_sequence, mem_aligned_8, output_move_double, output_move_quad, output_fp_move_double, output_fp_move_quad, output_block_move, save_regs, restore_regs): Add v9 support. (sparc_mode_class): New enum. (*_MODES): Redefine to use it. (hard_32bit_mode_classes): Renamed from hard_regno_mode_ok. (hard_regno_mode_classes, hard_64bit_mode_classes, sparc_mode_class): New globals. (num_gfregs): Renamed from num_fregs. (compute_frame_size): Add v9 support. Simplify calculations. (output_function_prologue): Call build_big_number to compute stack size in %g1, then adjust %sp. Fix saving of call saved registers. Handle new v9 registers. (output_function_epilogue): Fix restoration of call saved registers. Handle new v9 registers. Use SKIP_CALLERS_UNIMP_P to see if unimp insn is at return address. (sparc_builtin_saveregs): Define v9 version. (output_cbranch): New argument fp_cond_reg. All callers changed. Add v9 support. (output_return): Use SKIP_CALLERS_UNIMP_P. (print_operand): New codes '_', '@', 'C', 'D'. (output_double_int): Handle LABEL_REF and MINUS for v9. Use ASM_LONGLONG if assembler can handle it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7486 138bc75d-0d04-0410-961f-82ee72b054a4
* * sparc/sparc.h (cpu_type): New enum.dje1994-06-151-244/+809
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (CPP_PREDEFINES,CPP_SPEC): Add v9 support. (NO_BUILTIN_PTRDIFF_TYPE, NO_BUILTIN_SIZE_TYPE, MAX_WCHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_LONG_TYPE_SIZE): Define. (PTRDIFF_TYPE, SIZE_TYPE, BITS_PER_WORD, MAX_BITS_PER_WORD, UNITS_PER_WORD, MAX_UNITS_PER_WORD, LONG_DOUBLE_TYPE_SIZE, POINTER_SIZE, PARM_BOUNDARY, STACK_BOUNDARY, SPARC_STACK_ALIGN, EMPTY_FIELD_BOUNDARY, BIGGEST_ALIGNMENT, FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS, CONDITIONAL_REGISTER_USAGE): Add v9 support. (sparc_override_options, sparc_code_model): Declare. (OVERRIDE_OPTIONS): Call it. (MASK_*): Define bits set by target flags. (TARGET_*): Use them. ({MASK,TARGET}_{V9,INT64,LONG64,PTR64,ENV32,STACK_BIAS, MEDLOW,MEDANY,FULLANY}): Define. (MEDANY_BASE_REG): Define. (V9_SWITCHES, TARGET_OPTIONS): Define. (TARGET_SWITCHES, TARGET_DEFAULT): Use MASK_*. (SPARC_STACK_BIAS, SECONDARY_MEMORY_NEEDED_MODE): Define. (SECONDARY_MEMORY_NEEDED): Simplify. (hard_regno_mode_class, sparc_mode_class, sparc_cpu_type): Declare. (REG_PARM_STACK_SPACE): Do not define if v9. (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, MODES_TIEABLE_P, RETURN_IN_MEMORY, STRUCT_VALUE, STRUCT_VALUE_INCOMING, reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS, REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER, LEAF_REGISTERS, REG_CLASS_FROM_LETTER, CLASS_MAX_NREGS, STARTING_FRAME_OFFSET, FIRST_PARM_OFFSET, BASE_RETURN_VALUE_REG, BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG, BASE_INCOMING_ARG_REG, FUNCTION_ARG_REGNO_P): Add v9 support. (sparc_arg_class): New enum (v9 only). (sparc_args): New struct to record v9 arguments. (CUMULATIVE_ARGS): Use it (v9 only). (GET_SPARC_ARG_CLASS): Define. (sparc_arg_count, sparc_n_named_args): Declare. (PASS_IN_REG_P): Define. (ROUND_REG, ROUND_ADVANCE, INIT_CUMULATIVE_ARGS, FUNCTION_ARG_ADVANCE, FUNCTION_ARG, FUNCTION_INCOMING_ARG, FUNCTION_ARG_PARTIAL_NREGS, FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES): Add v9 support. (sparc64_init_expanders, sparc64_fpconv_stack_temp): Declare. (INIT_EXPANDERS): Define (v9 only). (gen_v9_scc, output_v9branch): Declare. (HAVE_conditional_move): Define. (FUNCTION_PROFILER, FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, DYNAMIC_CHAIN_ADDRESS, RETURN_ADDR_RTX, REGNO_OK_FOR_FP_P, REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P, EXTRA_CONSTRAINT, CASE_VECTOR_MODE, Pmode, EXTRA_CC_MODES, EXTRA_CC_NAMES, SELECT_CC_MODE, REGISTER_NAMES): Add v9 support. (REGNO_OK_FOR_CCFP_P): Define. (sparc_initialize_trampoline, sparc64_initialize_trampoline): Declare. (INITIALIZE_TRAMPOLINE): Call them. (ENCODE_SECTION_INFO): Mark functions in v9. (RTX_COSTS): Assume MULT costs the same for v9 as v8. (ASM_LONGLONG, ASM_FLOAT): Define. (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Add v9 support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7485 138bc75d-0d04-0410-961f-82ee72b054a4
* * sparc/sysv4.h (ASM_OUTPUT_CASE_LABEL): Handle 64 bit pointers.dje1994-06-151-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7484 138bc75d-0d04-0410-961f-82ee72b054a4
* Add v9 support.dje1994-06-151-5/+118
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7483 138bc75d-0d04-0410-961f-82ee72b054a4
* * genconfig.c (main): Allow targets to override HAVE_conditional_move.dje1994-06-152-3/+11
| | | | | | | * jump.c (jump_optimize): Use it at run-time. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7482 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.sub (sparc64): New cpu.dje1994-06-151-3/+3
| | | | | | | (aout, elf): New os's. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7481 138bc75d-0d04-0410-961f-82ee72b054a4
* Support 32x32->64 bit multiplymeissner1994-06-152-5/+28
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7480 138bc75d-0d04-0410-961f-82ee72b054a4
* Trivial simplification of many patterns.tege1994-06-151-134/+75
| | | | | | | | | (subsi3): Don't handle CONST_INT for operand 2. (ashiftrt, op2 > 8): New pattern. (lshiftrt, op2 > 8): New pattern. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7479 138bc75d-0d04-0410-961f-82ee72b054a4
* (PREDICATE_CODES): Add cmplsrcb_operand.tege1994-06-151-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7478 138bc75d-0d04-0410-961f-82ee72b054a4
* (cmplsrcb_operand): New predicate.tege1994-06-151-0/+16
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7477 138bc75d-0d04-0410-961f-82ee72b054a4
* (logical patterns): Tune to give better code for immediate values.tege1994-06-151-21/+28
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7476 138bc75d-0d04-0410-961f-82ee72b054a4