📄 fsfchangelog
字号:
* reload.c (find_reloads): If no_input_reloads, abort if
reloads were made for addresses.
* m68k.md (sxx): Operand 0 cannot be memory.
Fri Jul 17 07:31:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* m68k.c (output_move_simode_const): Use subl to move 0 into addr reg.
(output_move_[hq]imode): Likewise.
* m68k.md (extend[sd]fxf2): Accept constants and general reg as
source operand if the destination is a floating point register.
Fri Jul 17 07:23:49 1998 Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
* reorg.c (check_annul_list_true_false): New function.
(steal_delay_list_from_{target,fallthrough}): Call it and also
refine tests for when we may annul if already filled a slot.
(fill_slots_from_thread): Likewise.
(delete_from_delay_slot): Return newly-created thread.
(try_merge_delay_isns): Use its new return value.
Sat Jul 4 11:07:33 1998 Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de>
* function.c (assign_parms): Handle PARALLEL which include stack.
Sat Jul 4 09:44:29 1998 Paul Edwards <avon@matra.com.au>
* tree.c, print-tree.c, c-lang.c: Include stdio.h before tree.h.
* expr.c (bc_expand_component_address): Correct args to
bc_push_offset_and_size.
* reload1.c (reload_cse_simplify_operands): Add missing return value.
Fri Jul 3 07:17:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* alpha.c (normal_memory_operand): Handle case when REG will be
eliminated by reload.
Thu Jul 2 18:43:53 1998 James Carlson <carlson@ironbridgenetworks.com>
* floatlib.c (HIDDEND_LL, MANTD_LL, PACKD_LL): New macros.
(__addsf3): Fixed cases returning wrong type and causing unintended
conversions and data corruption.
(__mulsf3): Fixed rounding flaws caused wrong scaling.
(__float{didf,sisf,disf},__fix{,uns}dfdi): New functions.
(__{gt,ge,lt,le,eq,ne}df2): Likewise.
(__truncdfsf2): Fixed normalization problems
(__fixunsdfsi): Fixed compiler warning
(__{add,sub,mul}df3): Rewrite to do real DP math.
(__divdf3): Removed previous version by Barrett Richardson.
Thu Jul 2 17:57:20 1998 Douglas B. Rupp <rupp@gnat.com>
* cpperror.c: Include errno.h.
Thu Jul 2 16:46:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* c-decl.c (grokdeclarator): Don't warn about implicit int in
`typedef foo = bar'.
Tue Jun 30 18:32:49 1998 Geert Bosch <bosch@gnat.com>
* alpha/vxworks.h (LINK_SPEC): Add -taso -T 0.
Tue Jun 30 09:39:32 1998 David Edelsohn <edelsohn@mhpcc.edu>
* expr.c (expand_builtin_{set,long}jmp): If STACK_SAVEAREA_MODE
defined, override sa_mode using its value.
* explow.c (emit_stack_save): Likewise.
* rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
(CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
* rs6000.c (processor_target_table, 620): Don't affect MASK_POWERPC64.
(rs6000_override_options): Ignore flag_pic for AIX.
(rs6000_immed_double_const): Delete.
({reg_or_u_short,u_short_cint}_operand): Don't assume 32-bit CONST_INT.
({non_logical_cint,logical}_operand): Likewise.
(num_insns_constant): mask64_operand is 2 insns.
(easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
(mask_constant): HOST_WIDE_INT parameter.
(non_and_cint_operand): Delete.
({mask,and}64_operand): New functions.
(function_arg{,_advance}): DImode arguments don't need special
alignment when 64-bit.
(setup_incoming_varargs): Reverse reg_size assignment.
(print_operand): HOST_WIDE_INT second parameter.
(print_operand, case 'B', 'S'): New cases.
(print_operand, case 'M'): Fix typo in lossage string.
(rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
(rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
Load GOT highpart, don't add it. Add lowpart with {cal|la}.
(rs6000_allocate_stack_space): Use {cal|la}.
(output_epilog): Use {cal|la}
(output_function_profiler): Add call glue to mcount call.
Load GOT highpart, don't add it. Add lowpart with {cal|la}.
Use asm_fprintf and convert fprintf to fputs.
* rs6000.h (TARGET_SWITCHES): Add powerpc64.
(STACK_BOUNDARY): Depend on TARGET_32BIT.
(ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
(CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
(EXTRA_CONSTRAINTS): Remove 'S' and 'T'. Replace 'S' with
64-bit mask operand.
(RS6000_SAVE_TOC): Depend on TARGET_32BIT.
(STACK_SAVEAREA_MODE): New macro.
(LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
(RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
(ASM_FILE_START): Emit 64-bit ABI directive.
(ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
(PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
* rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
Restore define_split.
(floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
(floatsidf2_internal, floatunssidf2_internal2): Likewise.
Do not specify base register operand mode.
(floatsidf2_loadaddr): Don't specify base register operand mode.
(floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
register; do not specify mode. Remove !TARGET_POWERPC64 final
constraint.
(floatsidf2_load): Don't specify base register operand mode.
Remove !TARGET_POWERPC64 final constraint.
(fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Don't specify
base register operand mode.
(mulsidi3): Add !TARGET_POWERPC64 constraint.
(adddi3): Split large constants early.
(absdi3): Shift by 63, not 31.
(rotldi3): Add masking combiner patterns.
(anddi3): Add rldic{r,l} masking. Remove split of large constants.
(iordi3, xordi3): Split large constants early.
(movsi matcher): Remove S and T constraints.
(movsf const_double): create SImode constant from TARGET_DOUBLE.
(movdf_hardfloat32): Add default abort case.
(movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
(movdi): Remove 64-bit constant generator. Try to convert
CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
(movdi_32): Add default abort case.
(movdi_64): Add numerous ways to split 64-bit constants.
Make catch-all define_split more optimal and never FAIL.
(movti_ppc64): Add default abort case.
(allocate_stack): Remove operand modes; use Pmode.
(restore_stack_block): Remove operand modes. Generate Pmode
temporary. Generate MEM and specify mode.
(save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
temporary. Save area is double Pmode.
(call_indirect_aix64, call_value_indirect_aix64): New patterns.
(call, call_value): Do not specify address operand mode. Choose
appropriate AIX ABI.
(*call_local64, *ret_call_local64): New patterns.
(*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
(*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
(compare): Materialize DImode truthvalues.
Tue Jun 30 06:31:40 1998 Richard Henderson <rth@dot.cygnus.com>
* alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
* alpha.c (print_operand): Handle it.
* alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
related define_splits.
Tue Jun 30 06:02:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* calls.c (emit_library_call{,_value}): Pass null
to REG_PARM_STACK_SPACE.
* alpha.c (normal_memory_operand): New function.
* alpha.h (EXTRA_CONSTRAINT, case 'Q'): Call it.
* fold-const.c (count_cond): New function.
(fold): Don't try to build COND_EXPR from binary op when both sides
are COND_EXPR unless not nested too deeply.
Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
* arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM, noticed by
grahams@rcp.co.uk.
Mon Jun 15 17:41:33 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* reload1.c (reload): Issue guidance message on stack frame too large
for reliable stack check.
* fold-const.c (fold_range_test): Prevent falling through with no ret.
Sat Jun 13 15:49:53 1998 Carol LePage <carolo@kemah.hal.com>
* configure.in (sparc-hal-solaris2*): New target.
* sparc/hal.h, sparc/t-halos: New files.
Sat Jun 13 14:30:25 1998 David W. Schuler <schuld@btv.ibm.com>
* i386/aix386ng.h (CPP_SPEC): Remove bogus quote.
Sat Jun 13 14:16:34 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* regmove.c (try_auto_increment): Fix typo.
* c-common.c (truthvalue_conversion): Protect side effects in the
expression when splitting a complex value.
* fold-const.c (fold): Likewise.
* expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
prevent operands from being evaluated twice.
Sat Jun 13 12:53:22 1998 Richard Earnshaw (rearnsha@arm.com)
* unroll.c (verify_addresses): Use validate_replace_rtx to undo
changes; abort if undo fails.
Sat Jun 13 11:46:38 1998 Anders Blomdell <anders.blomdell@control.lth.se>
* flags.h (flag_volatile_static): Declare.
* toplev.c (flag_volatile_static): Define.
(f_options): Include -fvolatile-static.
* varasm.c (make_decl_rtl): Support -fvolatile-static.
Sat Jun 13 08:26:21 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
consider a MEM in FP mode as equal.
* varasm.c (assemble_variable): Never put decl with specified section
name into bss.
* output.h (current_function_addresses_labels): Declare.
* function.h (struct function): New field `addresses_labels'.
* function.c (current_function_addresses_labels): Define.
({push,pop}_function_context): Save/restore it.
(init_function_start): Initialize it.
* rtl.h (FUNCTION_FLAGS_ADDRESSES_LABELS): New flag.
* expr.c (expand_expr, case LABEL_DECL): Show addresses labels.
* integrate.c (function_cannot_inline_p): Can't if addresses labels.
(initialize_for_inline): Save current_function_addresses_labels.
(output_inline_function): Restore it.
* reload.c (find_reloads, case 'o'): All reloaded addresses
are offsettable.
(find_reloads_address): If replacing address, don't return 1.
* profile.c (output_func_start_profiler): Add missing steps in
defining function.
Fri Jun 12 17:10:16 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* m68k.md (extendqidi2): Operand 1 must be in data register.
Tue Jun 9 07:24:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* cccp.c (handle_directive): If -dM, also include #undef.
* cpplib.c (handle_directive): Likewise.
* calls.c (expand_call): Allow function pointer to be a REFERENCE_TYPE.
* function.c (assign_parms): Use proper mode for location of arg
on stack when promotions are occurring.
* regmove.c ({next,prev}_insn_for_regmove): Properly handle end of
function.
Mon Jun 8 15:26:49 1998 Juha Sarlin <juha@c3l.tyreso.se>
* h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
Mon Jun 8 14:40:02 1998 John Wehle (john@feith.com)
* i386.md (movsf_push, movsf_mem): Remove.
(movsf_push): Rename from movsf_push_nomove and move in front of
movsf; allow memory operands during and after reload.
(movsf_push_memory): New pattern.
(movsf): Don't bother checking for push_operand. If TARGET_MOVE and
both operands refer to memory then force operand[1] into a register.
(movsf_normal): Change to unnamed pattern.
Likewise for movdf, movxf, and friends.
Mon Jun 8 13:18:04 1998 Martin v. Loewis <loewis@informatik.hu-berlin.de>
* Makefile.in (TREE_H): Add tree-check.h.
(tree-check.h, s-check, gencheck): New targets.
(STAGESTUFF): Add s-check.
* gencheck.c: New file.
* tree.c (tree_check, tree_class_check, expr_check): New functions.
* tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
(TYPE_CHECK, DECL_CHECK): Define.
Modify all access macros to use generated checking macros.
* acconfig.h (ENABLE_CHECKING): Undefine.
* configure.in (--enable-checking): New option.
Mon Jun 8 12:13:25 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.ed>
* regmove.c: Remove include for varargs or stdarg.
Mon Jun 8 07:49:41 1998 Andris Pavenis <pavenis@lanet.lv>
* gcc.c (link_command_spec): Support LINK_COMMAND_SPEC.
Sun Jun 7 18:00:28 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
or VAR-- == CONST construct a proper mask if VAR is a bitfield.
Cope with CONST being out of range for the bitfield.
Sun Jun 7 17:19:35 1998 Tom Quiggle <quiggle@sgi.com>
* mips/iris6.h (DWARF2_FRAME_INFO): Define.
* dwarf2out.c (dwarf2out_do_frame): Do something if DWARF2_FRAME_INFO.
Sun Jun 7 15:29:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* regmove.c: New file.
* Makefile.in (OBJS): Add regmove.o.
(regmove.o): New rules.
(mostlyclean): Remove regmove dumps.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -