Commit Graph

13426 Commits

Author SHA1 Message Date
Jim Wilson 9a893315ea (get_last_value_validate): New argument insn.
Add check for memory reference clobbered by later store.
(record_value_for_reg, get_last_values): Pass in new argument.

From-SVN: r13900
1997-04-14 11:46:37 -07:00
Ian Lance Taylor ba325ebaef When clobbering a reg, check for later words of a multi word reg value
From-SVN: r13899
1997-04-14 01:03:03 +00:00
Doug Evans a22ad97227 calls.c (expand_call): When copying unaligned values into a register...
* calls.c (expand_call): When copying unaligned values into a register,
	zero out the register first rather than emitting a clobber.

From-SVN: r13898
1997-04-13 23:30:18 +00:00
Doug Evans 58a32c5c03 * expr.c (move_block_from_reg): Try using an integral mov operation first.
From-SVN: r13897
1997-04-13 23:29:50 +00:00
Ian Lance Taylor ad5780142a Get the modes right when setting reg_values for a reg to reg copy
From-SVN: r13896
1997-04-13 22:45:30 +00:00
Doug Evans 3e42d56b4b integrate.c (copy_rtx_and_substitute): If FRAME_GROWS_DOWNWARD and regno == 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
1997-04-13 21:24:37 +00:00
Richard Kenner 53c87bfd9c (ASM_SPEC): Define.
(STRUCT_VALUE_REGNUM, STATIC_CHAIN_REGNUM, INITIALIZE_TRAMPOLINE):
Remove definitions, undoing the change of Mar 20 1996.

From-SVN: r13894
1997-04-13 15:34:53 -04:00
Richard Kenner 75ef7cf8da (fake_f_rep): Add missing element name in cast.
From-SVN: r13893
1997-04-13 15:29:35 -04:00
Richard Kenner d9d08379df (layout_record, PCC_BITFIELD_TYPE_MATTERS): Fix sign bug in last change.
From-SVN: r13892
1997-04-13 15:20:03 -04:00
Richard Kenner 3879920c64 (output_move_qimode): Optimize pushing one byte if the source operand
does not use the stack pointer.

From-SVN: r13891
1997-04-13 15:15:21 -04:00
Richard Kenner 5716e64528 (movstricthi): Remove extraneous comparisons.
From-SVN: r13890
1997-04-13 15:04:36 -04:00
Richard Kenner 67cbb7a7d4 Initial revision
From-SVN: r13889
1997-04-13 15:02:08 -04:00
Richard Kenner 5887325513 (canon_reg, cse_insn): Don't examine insn_n_dups if recog_memoized
fails to find a match.

From-SVN: r13888
1997-04-13 14:51:22 -04:00
Richard Kenner cfb3ee16db (do_include): Diagnose #import and #include_next if pedantic and if not in a system header.
(do_include): Diagnose #import and #include_next if pedantic and if
not in a system header.
(do_warning): #warning now causes an error if -pedantic-errors is
given; this is needed since #warning isn't ANSI.

From-SVN: r13887
1997-04-13 14:30:13 -04:00
Ian Lance Taylor 31418d3513 Remove REG_DEAD notes when eliminating a set in the reload CSE pass
From-SVN: r13886
1997-04-13 18:20:27 +00:00
Richard Kenner c7063b9a37 (fatal_perror, fatal, collect_wait): Use FATAL_EXIT_CODE.
From-SVN: r13885
1997-04-13 14:19:48 -04:00
Richard Kenner 1f0fcca5be (print_usage, open_files): Use FATAL_EXIT_CODE.
From-SVN: r13884
1997-04-13 14:19:11 -04:00
Richard Kenner 920b13cc7e (L_bb, L_exit): Use 0 rather than NULL for null pointers.
From-SVN: r13883
1997-04-13 14:12:05 -04:00
Richard Kenner 6780a54b7d (rotl[shq]i3, rotl[hq]i3+1): Don't directly modify operand.
From-SVN: r13882
1997-04-13 13:17:56 -04:00
Richard Kenner 3ff78fe33a (tstdi): Add missing parallel around the pattern.
From-SVN: r13881
1997-04-13 12:53:00 -04:00
Richard Kenner c9666c0180 (cpp_lex) New arg skip_evaluation.
(cpp_parse_expr): Pass skip_evaluation to cpp_lex.
Abort if cpp_lex returns NAME.
(cpp_lex): Optionally warn about undefined identifiers that evaluate to 0.

From-SVN: r13880
1997-04-13 12:50:58 -04:00
Richard Kenner dfb45725c9 (cpp_handle_options): Set warn_undef from -Wundef and -Wno-undef.
From-SVN: r13879
1997-04-13 12:50:30 -04:00
Richard Kenner 6ac34fdc71 (struct cpp_options): New member warn_undef.
(CPP_WARN_UNDEF): New macro.

From-SVN: r13878
1997-04-13 12:50:11 -04:00
Richard Kenner 69375a37de cexp.y (warn_undef): New variable.
(exp): Optionally warn about undefined identifiers that evaluate to 0.

From-SVN: r13877
1997-04-13 12:49:45 -04:00
Richard Kenner 10c1b9f689 (warn_undef): New variable.
(main): Set warn_undef from -Wundef and -Wno-undef.

From-SVN: r13876
1997-04-13 12:49:07 -04:00
Richard Kenner dab9b3bf3d (c_decode_option): Ignore -Wundef, -Wno-undef.
From-SVN: r13875
1997-04-13 12:47:53 -04:00
Richard Kenner c7710c1f46 (lang_options): Add -Wundef, -Wno-undef.
From-SVN: r13874
1997-04-13 12:47:38 -04:00
Richard Kenner 977cc2e118 Formerly cpp.texi.~30~
From-SVN: r13873
1997-04-13 12:47:14 -04:00
Richard Kenner e5bad25ee5 Fix typo in comment.
From-SVN: r13872
1997-04-13 11:44:17 -04:00
Richard Kenner 9758e89fa8 Initial revision
From-SVN: r13871
1997-04-13 11:43:08 -04:00
Richard Kenner a68b98cf6d (lookup_field): Don't recurse unless FIELD is a RECORD_TYPE or
UNION_TYPE.

From-SVN: r13870
1997-04-13 10:59:54 -04:00
Richard Kenner 06140bdfa1 (validate_replace_rtx_1, case MINUS): New case.
From-SVN: r13869
1997-04-13 09:48:25 -04:00
Richard Kenner eead6b5bda (*return_addsi): Change condition to exclude both ints.
(*return_adddi): Likewise.
(*return_subsi): New pattern.

From-SVN: r13868
1997-04-13 09:47:25 -04:00
Richard Kenner 7c03e72e04 Clean up copyright notice.
From-SVN: r13867
1997-04-13 09:47:11 -04:00
Richard Kenner 4bf7135b9b (eligible_for_delay_slot): Clean up and make to agree precisely with
patterns in MD file.

From-SVN: r13866
1997-04-13 09:46:34 -04:00
Richard Kenner 0b73ca18ad (profile_function): Save the static chain register around the call to
the profiler function.

From-SVN: r13865
1997-04-13 08:44:41 -04:00
Richard Kenner 9886e013fd (TARGET_VERSION): Redefine.
From-SVN: r13864
1997-04-13 08:20:20 -04:00
Richard Kenner 8dddd002b0 (reload): If function has nonlocal label, mark all caller-saved regs
as used.

From-SVN: r13863
1997-04-13 08:15:28 -04:00
Richard Kenner 1f027d54a1 (invariant_p, case REG): Pointers into frame are not invariants if
function has nonlocal gotos.

From-SVN: r13862
1997-04-13 08:15:13 -04:00
Doug Evans 51a96571d6 Delete some FIXMEs.
From-SVN: r13861
1997-04-11 21:14:47 +00:00
Doug Evans efbbf34f32 Delete some FIXMEs.
From-SVN: r13860
1997-04-11 21:08:57 +00:00
Doug Evans 715af0cb5a Delete "FIXME".
From-SVN: r13859
1997-04-11 21:03:35 +00:00
Doug Evans 9fd54896c1 (REG_ALLOC_ORDER): Restore to original setting.
From-SVN: r13858
1997-04-11 20:52:56 +00:00
Doug Evans 4d6c607f2e m32r.h (UPPER16_P): Fix calculation.
* m32r/m32r.h (UPPER16_P): Fix calculation.
	* m32r/m32r.c (two_insn_const_operand): New function.
	(m32r_print_operand): Handle 'X'.
	* m32r/m32r.md (movsi): Tweak.
	(*movsi_insn): Output hex value of constants too.
	(movsi define_split): Add.
	(andsi3,orsi3,xorsi3): Output hex value of constants too.

From-SVN: r13857
1997-04-11 20:48:54 +00:00
Ian Lance Taylor 4e007b6eea Recognize OpenBSD systems correctly (from Niklas Hallqvist
<niklas@appli.se>)

From-SVN: r13849
1997-04-11 20:40:28 +00:00
Jim Wilson 8bca10f462 (sne): Modified to use negc instead of xor.
(sne+1): New define_split for new sne pattern.

From-SVN: r13848
1997-04-10 15:39:01 -07:00
Jim Wilson f3cd53755b (output_stack_adjust): Reorganize code for readability.
If size is negative, negate and subtract it instead of adding it.

From-SVN: r13847
1997-04-09 15:44:46 -07:00
Joern Rennecke 20ec31d305 (output_stack_adjust): When splitting an adjustment into two parts,
make sure the stack is aligned at all times.

From-SVN: r13846
1997-04-09 18:50:38 +01:00
Jeff Law 74452ac323 mn10300.h (RETURN_ADDR_RTX): Define.
* mn10300.h (RETURN_ADDR_RTX): Define.

        * mn10300.c (count_tst_insns): New function.
        (expand_prologue): Load zero into data and/or address registers
        if any are free and the function has optimizable tst insns.
        (output_tst): If a suitable register is known to have the
        value zero, use it instead of searching for a suitable register.
        * mn10300.h (zero_dreg, zero_areg): Declare.
        (FRAME_POINTER_NEEDED): Frame pointers are not needed if the
        outgoing argument size is zero.
        * mn10300.md (movXX): Optimize loading zero i        register if possible.  Optimize loading a DF/DI mode value
        into an address register from a constant memory address.
        (addsi3): Provide alternative which doesn't require a matching
        inout operand.
        (return): Optimize consecutive return instructions.

From-SVN: r13845
1997-04-08 12:41:49 -06:00
Doug Evans 90e6057ba5 Add m32r support.
From-SVN: r13844
1997-04-07 22:31:52 +00:00