Richard Kenner [Wed, 27 Dec 1995 20:24:29 +0000 (15:24 -0500)]
(expand_decl): Set alignment of register for pointer variable.
From-SVN: r10871
Richard Kenner [Wed, 27 Dec 1995 20:23:44 +0000 (15:23 -0500)]
(set_nonzero_bits_and_sign_copies): Handle reg even if only set once and in one basic block.
(set_nonzero_bits_and_sign_copies): Handle reg even
if only set once and in one basic block.
(nonzero_bits, case REG): Use REGNO_POINTER_ALIGN instead of
explicit alignment of registers pointing into frame.
From-SVN: r10870
Richard Kenner [Wed, 27 Dec 1995 20:23:01 +0000 (15:23 -0500)]
(expand_expr, case VAR_DECL): Set REGNO_POINTER_ALIGN when copying address into memory.
(expand_expr, case VAR_DECL): Set REGNO_POINTER_ALIGN
when copying address into memory.
(expand_expr, case COMPONENT_REF, case ADDR_EXPR): Set alignment
of register when result or result's address.
(expand_expr, case CONVERT_EXPR): Don't handle -fforce-mem here.
From-SVN: r10869
Richard Kenner [Wed, 27 Dec 1995 20:22:26 +0000 (15:22 -0500)]
(assign_parms): Set REGNO_POINTER_ALIGN for parms that are pointers.
From-SVN: r10868
Richard Kenner [Wed, 27 Dec 1995 20:22:03 +0000 (15:22 -0500)]
(struct function): New field regno_pointer_align.
From-SVN: r10867
Richard Kenner [Wed, 27 Dec 1995 20:21:34 +0000 (15:21 -0500)]
(reg_rtx_no, regno_pointer_{flag_length,align): New decls.
(REGNO_POINTER_ALIGN): New macro.
From-SVN: r10866
Richard Kenner [Wed, 27 Dec 1995 20:21:02 +0000 (15:21 -0500)]
(regno_pointer_align): New variable.
(gen_reg_rtx): Extend regno_pointer_align table.
Allocate tables in saveable obstack.
(mark_reg_pointer): New arg, ALIGN.
(gen_inline_header): New args for reg info.
(set_new_first_and_last_insn): Set cur_insn_uid.
({save,restore}_emit_status): Save and restore regno_pointer_align.
(restore_reg_data{,_1}): Deleted.
(init_emit): Allocate register tables in saveable obstack.
Set REGNO_POINTER_ALIGN for regs pointing into frame.
From-SVN: r10865
Michael Meissner [Wed, 27 Dec 1995 17:35:39 +0000 (17:35 +0000)]
Reorganize common mode; optimize SI*SI->DI on common/powerpc; Do not build power2/601 libraries
From-SVN: r10864
Richard Kenner [Wed, 27 Dec 1995 02:52:06 +0000 (21:52 -0500)]
(fold_convert): When converting a NaN to another type, change the type
of the node before returning it.
From-SVN: r10863
Richard Kenner [Mon, 25 Dec 1995 22:11:54 +0000 (17:11 -0500)]
(mark_addressable): Fix error in last change.
From-SVN: r10862
Jeff Law [Mon, 25 Dec 1995 05:46:32 +0000 (22:46 -0700)]
pa.c (output_function_epilogue): Use assemble_integer rather than calling ASM_OUTPUT_INT directly.
* pa.c (output_function_epilogue): Use assemble_integer rather
than calling ASM_OUTPUT_INT directly.
* pa.h (ASM_OUTPUT_INT): Use plabels for everything in the
exception table section.
* pa.c (print_operand): Don't call fprintf to output a register
name. Use fputs instead.
From-SVN: r10861
Jeff Law [Mon, 25 Dec 1995 03:22:10 +0000 (20:22 -0700)]
pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Strip any name encoding on the section name.
* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Strip any name encoding
on the section name.
From-SVN: r10860
Richard Kenner [Sun, 24 Dec 1995 23:44:10 +0000 (18:44 -0500)]
(movdf): Don't copy a word at a time; nearly always loses.
From-SVN: r10859
Richard Kenner [Sun, 24 Dec 1995 23:15:12 +0000 (18:15 -0500)]
(mark_addressable, case COMPONENT_REF): Give error if taking address
of a bit field.
From-SVN: r10858
Richard Kenner [Sun, 24 Dec 1995 23:14:33 +0000 (18:14 -0500)]
(finish_struct): Set DECL_C_BIT_FIELD when set DECL_BIT_FIELD.
From-SVN: r10857
Richard Kenner [Sun, 24 Dec 1995 23:14:00 +0000 (18:14 -0500)]
(DECL_C_BIT_FIELD): New macro.
From-SVN: r10856
Richard Kenner [Sun, 24 Dec 1995 22:45:58 +0000 (17:45 -0500)]
Define HAVE_POPEN.
From-SVN: r10855
Richard Kenner [Sun, 24 Dec 1995 22:45:30 +0000 (17:45 -0500)]
(output_function_epilogue): Use FUNCTION_BLOCK_PROFILER_EXIT.
From-SVN: r10854
Richard Kenner [Sun, 24 Dec 1995 22:44:54 +0000 (17:44 -0500)]
(function_epilogue): Use FUNCTION_BLOCK_PROFILER_EXIT.
From-SVN: r10853
Richard Kenner [Sun, 24 Dec 1995 22:43:46 +0000 (17:43 -0500)]
(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
Extension for -ax option (profile_block_flag == 2).
(MACHINE_STATE_SAVE,MACHINE_STATE_RESTORE): New macros.
(FUNCTION_BLOCK_PROFILER_EXIT): New macro.
From-SVN: r10852
Richard Kenner [Sun, 24 Dec 1995 22:43:00 +0000 (17:43 -0500)]
(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Extension for -ax option (profile_block_flag == 2).
(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Extension for -ax
option (profile_block_flag == 2).
(MACHINE_STATE_SAVE,MACHINE_STATE_RESTORE): New macros.
(FUNCTION_BLOCK_PROFILER_EXIT): New macro.
From-SVN: r10851
Richard Kenner [Sun, 24 Dec 1995 22:42:24 +0000 (17:42 -0500)]
(struct bb): Add flags field.
(HAVE_POPEN): Test new define.
(struct __bb, struct bb_{edge,func}): New structs.
(__bb_init_{prg,file},__bb_{init,exit}_trace_func,__bb_trace_ret,
(__bb_trace_func{,_ret},gopen,gclose): New functions.
From-SVN: r10850
Richard Kenner [Sun, 24 Dec 1995 22:41:43 +0000 (17:41 -0500)]
(end_final): Extended header increased to 11 words.
(profile_after_prologue): FUNCTION_BLOCK_PROFILER uses count_basic_blocks
instead profile_label_no.
From-SVN: r10849
Richard Kenner [Sun, 24 Dec 1995 22:41:11 +0000 (17:41 -0500)]
(main): Add -ax option.
From-SVN: r10848
Richard Kenner [Sun, 24 Dec 1995 22:40:40 +0000 (17:40 -0500)]
(struct compilers): Add -ax option.
From-SVN: r10847
Richard Kenner [Sun, 24 Dec 1995 13:43:10 +0000 (08:43 -0500)]
(unused_prefix_warning): Include machine_suffix if require_machine_suffix.
(warn_B, warn_std, warn_std_ptr): New variables.
(process_commands): Use them and NULL_PTR as WARN arg to add_prefix.
From-SVN: r10846
Richard Kenner [Sun, 24 Dec 1995 13:08:29 +0000 (08:08 -0500)]
(process_command): Give error for -c with -o and multiple compilations.
(handle_braces): Rename variable "pipe" to "pipe_p".
From-SVN: r10845
Richard Kenner [Sun, 24 Dec 1995 12:35:16 +0000 (07:35 -0500)]
Update comments to clarify typing rules.
From-SVN: r10844
Richard Kenner [Sun, 24 Dec 1995 11:38:01 +0000 (06:38 -0500)]
(clrstrsi): New pattern and associate anonymous pattern.
From-SVN: r10843
Richard Kenner [Sun, 24 Dec 1995 11:37:15 +0000 (06:37 -0500)]
(struct clear_by_pieces): New structure.
(clear_by_pieces{,_1}, {is,mostly}_zeros_p): New functions.
(clrstr_optab): New optab.
(clear_storage): Rework to try to use clear_by_pieces, then
new clrstr insn, then library call.
(store_constructor): Track if target is already cleared.
Clear target first if CONSTRUCTOR is mostly zeros.
Don't write zeros if target has been cleared.
Add new arg to clear_storage call.
(expand_expr, case CONSTRUCTOR): Don't put static constructor
in memory if mostly zero.
From-SVN: r10842
Richard Kenner [Sun, 24 Dec 1995 11:36:32 +0000 (06:36 -0500)]
(init_optabs): Initialize clrstr_optab.
From-SVN: r10841
Richard Kenner [Sun, 24 Dec 1995 11:36:10 +0000 (06:36 -0500)]
(optabs): Add "clrstr%a%".
From-SVN: r10840
Richard Kenner [Sun, 24 Dec 1995 11:35:29 +0000 (06:35 -0500)]
(CONSTRUCTTOR_TARGET_CLEARED_P): New macro.
From-SVN: r10839
Richard Kenner [Sun, 24 Dec 1995 11:35:03 +0000 (06:35 -0500)]
(clrstr_optab): New declaration.
(clear_storage): New parm, ALIGN.
From-SVN: r10838
Jeff Law [Sat, 23 Dec 1995 17:25:00 +0000 (10:25 -0700)]
pa.c (output_move_double): Correctly identify and handle overlapping moves.
* pa.c (output_move_double): Correctly identify and handle
overlapping moves.
* pa.md (movdi patterns): Eliminate earlyclobbers in mem<->gr
cases.
(movdf patterns): Likewise.
From-SVN: r10837
Richard Kenner [Fri, 22 Dec 1995 22:55:49 +0000 (17:55 -0500)]
(store_constructor): Don't call change_address on REG.
(expand_expr, case CONSTRUCTOR): Likewise.
From-SVN: r10836
Richard Kenner [Fri, 22 Dec 1995 22:45:39 +0000 (17:45 -0500)]
(expand_block_move): Preserve MEM flags in call to movstrsi_internal.
From-SVN: r10835
Richard Kenner [Fri, 22 Dec 1995 22:40:00 +0000 (17:40 -0500)]
(emit_move_sequence): Don't try to set REGNO_POINTER_FLAG for a SUBREG.
From-SVN: r10834
Richard Kenner [Fri, 22 Dec 1995 22:36:25 +0000 (17:36 -0500)]
(find_valid_class): New function.
(push_reload): Use it in cases where a SUBREG and its contents
both need to be reloaded.
From-SVN: r10833
Michael Meissner [Fri, 22 Dec 1995 21:03:01 +0000 (21:03 +0000)]
Readd 403 support; Move compares well ahead of branch for PowerPC
From-SVN: r10832
Stan Cox [Fri, 22 Dec 1995 20:24:34 +0000 (20:24 +0000)]
(strlensi): New pattern.
From-SVN: r10831
Stan Cox [Fri, 22 Dec 1995 20:24:09 +0000 (20:24 +0000)]
(output_strlen_unroll): New function.
From-SVN: r10830
Stan Cox [Fri, 22 Dec 1995 20:23:25 +0000 (20:23 +0000)]
(TARGET_UNROLL_STRLEN): New macro.
From-SVN: r10829
Stan Cox [Fri, 22 Dec 1995 20:10:44 +0000 (20:10 +0000)]
Initial revision
From-SVN: r10828
Roland McGrath [Thu, 21 Dec 1995 23:53:25 +0000 (23:53 +0000)]
(GNU_CPP_PREDEFINES): Add missing space after -Amachine(CPU).
From-SVN: r10827
Michael Meissner [Thu, 21 Dec 1995 19:39:34 +0000 (19:39 +0000)]
If -shared, do not export libg.exp
From-SVN: r10826
Michael Meissner [Thu, 21 Dec 1995 17:40:39 +0000 (17:40 +0000)]
Change --enable-cpu to --with-cpu.
From-SVN: r10825
Michael Meissner [Thu, 21 Dec 1995 17:39:09 +0000 (17:39 +0000)]
Change --enable-cpu -> --with-cpu.
From-SVN: r10824
Michael Meissner [Wed, 20 Dec 1995 21:46:20 +0000 (21:46 +0000)]
Fix typo.
From-SVN: r10823
Michael Meissner [Wed, 20 Dec 1995 19:09:16 +0000 (19:09 +0000)]
remove -mcpu=rs6000
From-SVN: r10822
Michael Meissner [Wed, 20 Dec 1995 17:13:18 +0000 (17:13 +0000)]
Make --enable-cpu=xxx act like -mcpu=xxx, not -mtune=xxx.
From-SVN: r10821
Michael Meissner [Wed, 20 Dec 1995 17:05:26 +0000 (17:05 +0000)]
Make AIX4 use -mcpu=common by default; add -mtune=
From-SVN: r10820
Jim Wilson [Tue, 19 Dec 1995 23:30:21 +0000 (15:30 -0800)]
(FIRST_PSEUDO_REGISTER): Increment.
(FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES,
DEBUG_REGISTER_NAMES): Add entry for new RAP reg.
(RAP_REG_NUM, RETURN_ADDRESS_POINTER_REGNUM): New macros.
(RETURN_ADDR_RTX): Define.
(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
Add RETURN_ADDRESS_POINTER_REGNUM support.
From-SVN: r10819
Jim Wilson [Tue, 19 Dec 1995 23:28:28 +0000 (15:28 -0800)]
(mips_reg_names, mips_sw_reg_names, mips_regno_to_class):
Add entry for new RAP reg.
From-SVN: r10818
Jim Wilson [Tue, 19 Dec 1995 23:25:43 +0000 (15:25 -0800)]
(return_address_pointer_rtx): New global variable.
(gen_rtx, init_emit_once): Add support for it.
From-SVN: r10817
Michael Meissner [Tue, 19 Dec 1995 15:56:45 +0000 (15:56 +0000)]
Do not define register names under Windows NT
From-SVN: r10816
Mike Stump [Tue, 19 Dec 1995 06:51:14 +0000 (06:51 +0000)]
76th Cygnus<->FSF merge
From-SVN: r10815
Jim Wilson [Tue, 19 Dec 1995 02:45:11 +0000 (18:45 -0800)]
(simplify_rtx, case SUBREG): For SUBREG of a constant,
use <= instead of < when comparing mode sizes.
(force_to_mode, case NOT): Use full mask inside the NOT operation.
From-SVN: r10814
Jim Wilson [Tue, 19 Dec 1995 02:15:51 +0000 (18:15 -0800)]
(block_move_call): Likewise for memcpy and bcopy.
From-SVN: r10813
Jim Wilson [Tue, 19 Dec 1995 02:14:50 +0000 (18:14 -0800)]
(INITIALIZE_TRAMPOLINE): Likewise for cacheflush.
From-SVN: r10812
Jim Wilson [Tue, 19 Dec 1995 02:13:05 +0000 (18:13 -0800)]
(expand_block_move): Likewise for memcpy and bcopy.
From-SVN: r10811
Jim Wilson [Tue, 19 Dec 1995 02:09:53 +0000 (18:09 -0800)]
(expand_movstr_call): Likewise for memcpy.
From-SVN: r10810
Jim Wilson [Tue, 19 Dec 1995 02:07:48 +0000 (18:07 -0800)]
(emit_cmp_insn): Likewise for memcmp and bcmp.
From-SVN: r10809
Jim Wilson [Tue, 19 Dec 1995 02:01:45 +0000 (18:01 -0800)]
(emit_block_move): When call emit_libary_call for bcopy,
pass arguments using correct types and modes.
(emit_push_insn, expand_assignment): Likewise.
(clear_storage, store_expr): Likewise for memset and bzero.
(store_constructor): Likewise for memset.
From-SVN: r10808
Richard Kenner [Tue, 19 Dec 1995 00:31:18 +0000 (19:31 -0500)]
(objc_alignof_type): Handle _C_PTR case.
From-SVN: r10807
Jim Wilson [Tue, 19 Dec 1995 00:13:24 +0000 (16:13 -0800)]
(WCHAR_TYPE_SIZE): Add a default definition.
From-SVN: r10806
Jim Wilson [Tue, 19 Dec 1995 00:08:11 +0000 (16:08 -0800)]
(sdbout_symbol, case FUNCTION_DECL): Use DECL_INITIAL
instead of DECL_EXTERNAL to identify declarations.
From-SVN: r10805
Jim Wilson [Tue, 19 Dec 1995 00:02:00 +0000 (16:02 -0800)]
(ASM_IDENTIFY_GCC): Don't output stab here.
(ASM_IDENTIFY_GCC_AFTER_SOURCE): Output stab here instead of
above.
From-SVN: r10804
Jim Wilson [Mon, 18 Dec 1995 23:39:23 +0000 (15:39 -0800)]
(expand_asm_operands): Handle numeric constraints in
with the default case.
From-SVN: r10803
Richard Kenner [Mon, 18 Dec 1995 21:49:37 +0000 (16:49 -0500)]
(expand_mult_highpart_adjust): Declare.
From-SVN: r10802
Richard Kenner [Mon, 18 Dec 1995 21:39:20 +0000 (16:39 -0500)]
(store_constructor): Fix error in last change: just copy MEM, but be sure to share address.
(store_constructor): Fix error in last change: just
copy MEM, but be sure to share address.
(expand_expr, case CONSTRUCTOR): Likewise.
From-SVN: r10801
Michael Meissner [Mon, 18 Dec 1995 21:30:53 +0000 (21:30 +0000)]
Fix stabs under NT
From-SVN: r10800
Mike Stump [Mon, 18 Dec 1995 17:42:56 +0000 (17:42 +0000)]
libgcc2.c (__empty): An empty function used by the C++ frontend for defaulting cleanup actions.
* libgcc2.c (__empty): An empty function used by the C++ frontend for
defaulting cleanup actions.
* tree.c (save_tree_status, restore_tree_status): Save and restore
temporary_firstobj, so that in progress objects that live on the
temporary obstack are not reallocated, if we save and restore the
tree status in their lifetime.
From-SVN: r10799
Stan Cox [Mon, 18 Dec 1995 17:22:25 +0000 (17:22 +0000)]
(GCC_FOR_TARGET, X_CFLAGS): Removed.
From-SVN: r10798
Stan Cox [Mon, 18 Dec 1995 17:21:19 +0000 (17:21 +0000)]
(GCC_FOR_TARGET, T_CFLAGS): New macros.
From-SVN: r10797
Richard Kenner [Mon, 18 Dec 1995 13:00:03 +0000 (08:00 -0500)]
(main): Remove last change.
From-SVN: r10796
Richard Kenner [Mon, 18 Dec 1995 12:49:21 +0000 (07:49 -0500)]
(fixup_var_refs_1): Fix error in last change (when mode of VAR is not
the same as PROMOTED_MODE).
From-SVN: r10795
Jeff Law [Mon, 18 Dec 1995 06:13:50 +0000 (23:13 -0700)]
pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Don't surround section names with '$'.
* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Don't surround section names
with '$'. That confuses collect2.
(ASM_OUTPUT_SECTION_NAME): Likewise.
From-SVN: r10794
Jeff Law [Mon, 18 Dec 1995 01:31:12 +0000 (18:31 -0700)]
sched.c (canon_rtx): Recursively look for equivalences; look for expressions equivalent to MEMs.
* sched.c (canon_rtx): Recursively look for equivalences;
look for expressions equivalent to MEMs.
(true_dependence): Canonicalize inputs before operating
on their values.
(anti_dependence, output_dependence): Likewise.
* jump.c (follow_jumps): Don't follow an unconditional jump
that is not a simple_jump.
From-SVN: r10793
Jeff Law [Sun, 17 Dec 1995 19:38:24 +0000 (12:38 -0700)]
* pa.c (override_options): Make 7100 scheduling the default.
From-SVN: r10792
Jeff Law [Sun, 17 Dec 1995 19:32:56 +0000 (12:32 -0700)]
* pa.md: Add 2nd reload peephole somehow omitted from Nov27 changes.
From-SVN: r10791
Jeff Law [Sun, 17 Dec 1995 17:17:23 +0000 (10:17 -0700)]
regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it's defined to avoid useless work.
* regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it's
defined to avoid useless work.
* combine.c (find_split_point): Try to split SET_DEST
just like we do for SET_SRC.
From-SVN: r10790
Torbjorn Granlund [Sun, 17 Dec 1995 16:41:09 +0000 (16:41 +0000)]
(expand_mult_highpart): When doing widening multiply,
put constant in a register.
(expand_mult_highpart): When mode is word_mode use gen_highpart
instead of right shift by size.
From-SVN: r10789
Torbjorn Granlund [Sun, 17 Dec 1995 16:39:58 +0000 (16:39 +0000)]
(expand_expr...
(expand_expr, case MULT_EXPR): Generalize code for widening
multiply to handle signed widening multiply when only unsigned optab
is defined, and vice versa.
From-SVN: r10788
Richard Kenner [Sun, 17 Dec 1995 12:35:46 +0000 (07:35 -0500)]
(WCHAR_TYPE_SIZE): Define.
From-SVN: r10787
Richard Kenner [Sun, 17 Dec 1995 12:08:31 +0000 (07:08 -0500)]
Initial revision
From-SVN: r10786
Richard Kenner [Sun, 17 Dec 1995 12:05:54 +0000 (07:05 -0500)]
(cmpqi): Fix generation of literal operand of CLM instruction to avoid
double literals (=X'=F'...).
From-SVN: r10785
Richard Kenner [Sun, 17 Dec 1995 11:56:42 +0000 (06:56 -0500)]
Try harder not to open or stat the same include file twice.
Simplify include file names so that they are more likely to match.
E.g. simplify "./a//b" to "a/b". Represent directories with simplified
prefixes, e.g. replace "./a//b" with "a/b/", and "." with "".
(absolute_filename): New function.
(do_include): Use it.
(read_name_map): Likewise; this makes things more consistent for DOS.
(main, do_include, open_include_file): -M output now contains operands
of -imacros and -include.
(skip_to_end_of_comment): When copying a // comment, don't try to
change it to a /* comment.
(rescan, skip_if_group, skip_to_end_of_comment, macarg1): Tune.
(rescan, skip_if_group, skip_to_end_of_comment, macarg1):
If warn_comments is nonzero, warn if backslash-newline appears
in a // comment. Simplify method for finding /* /* */ comment.
(skip_if_group): Optionally warn if /* /* */ appears between # and
a directive inside a skipped if group.
(macarg): Optionally warn if /* /* */ appears in a macro argument.
(strncat, VMS_strncat, vms_ino_t, ino_t): Remove.
(INCLUDE_LEN_FUDGE): Add 2 if VMS, for trailing ".h".
(INO_T_EQ, INO_T_HASH): New macros.
(struct file_buf): New member `inc'.
(expand_to_temp_buffer): Initialize it.
(struct file_name_list): New member `inc'.
(struct file_name_list): New member `st'.
c_system_include_path is now 1 if not 0.
fname is now an array, not a pointer.
(struct include_file): New members `next_ino', `deps_output', `st'.
Remove members `inode' and `dev'; they are now in `st'.
(INCLUDE_HASHSIZE): Rename from INCLUDE_HASH_SIZE.
(include_hashtab): Rename from include_hash_table.
(include_ino_hashtab): New variable.
(main): Store file status in struct stat, not in long and int pieces.
Use base_name to strip prefixes from file names.
When printing directory prefixes, omit trailing / and print "" as ".".
Fatal error if the input file is a directory.
(main, path_include): Regularize operands of -include, -imacros,
-isystem, -iwithprefix, and -iwithprefixbefore.
Regularize default include directories.
(do_include):
Allocate dsp with alloca, since fname is now dynamically allocated.
Use -3 to represent a never-opened file descriptor.
Make copy of file name, and simplify the copy.
Use base_name to identify the end of fname's directory.
Do not prepend dir for "..." if it matches the search list's first dir.
open_include_file now subsumes redundant_include_p and lookup_import.
Use bypass_slot to remember when to skip directories when including
a file that has already been seen.
Instead of using 0 to represent the working directory, and ""
to represent a directory to be ignored, use "" for the former,
and assume the latter has been removed before we get here.
Assume the directory prefixes have already been simplified.
Report as errors all open failures other than ENOENT.
Fatal error if fstat fails.
Use new deps_output member to avoid printing dependencies twice.
(bypass_hashtab): New variable.
(do_include, open_control_file, record_control_macro): New convention:
control_macro is "" if the file was imported or had #pragma once.
(pragma_once_marker): Remove.
(redundant_include_p, include_hash, lookup_include, lookup_import,
add_import, file_size_and_mode): Remove; subsumed by open_include_file.
(skip_redundant_dir_prefix): Remove; subsumed by simplify_filename.
(is_system_include, read_name_map, remap_include_file):
Assume arg is a directory prefix.
(base_name, simplify_filename, remap_include_file,
lookup_ino_include, new_include_prefix): New functions.
(open_include_file): New arguments `importing' and `pinc'.
Move filename mapping into new remap_include_file function.
First try to find file by name in include_hashtab;
if that doesn't work, open and fstat it and try to find it
by inode and dev in include_ino_hashtab.
(finclude): Get file status from inc->st instead of invoking fstat.
Store inc into fp->inc so that record_control_macro doesn't
need to do a table lookup.
(finclude, record_control_macro): Accept struct include_file *
instead of char * to identify include file. All callers changed.
(check_precompiled): Get file status from new argument `st'.
(do_pragma): Output at most one warning about #pragma implementation.
Always return 0 instead of returning garbage sometimes.
(do_pragma, hack_vms_include_specification):
Use base_name for consistency, and remove redundant code.
From Per Bothner:
Unify the 3 separate mechanisms for avoiding processing
of redundant include files: #import, #pragma once, and
redundant_include_p to use a single more efficient data structure.
(struct file_name_list): Remove no-longer needed field control_macro.
(dont_repeat_files, all_include_files): Remove, no longer used.
(struct import_file): Renmed to struct include_file, moved earlier
in file, renamed field name to fname, and added control_macro field.
(pragma_once_marker): New constant.
(import_hash_table): Renamed to include_hash_table.
(import_hash): Renamed to include_hash.
(IMPORT_HASH_SIZE): Renamed to INCLUDE_HASH_SIZE.
(main, path_include): Don't clear removed control_macro field.
(lookup_include): New function - look up fname in include_hash_table.
(redundant_include_p): Re-write to use lookup_include.
(lookup_import, record_control_macro): Likewise.
(add_import): Defer fstat to caller. Combine two xmallocs into one.
(do_once): Use pragma_once_marker in include_hash_table.
(do_pragma): Re-implement to scan include_hash_table.
(do_include): Use new lookup_include and add_import.
From-SVN: r10784
Richard Kenner [Sun, 17 Dec 1995 11:45:16 +0000 (06:45 -0500)]
(try_combine): When checking for two sets of the same register in a split insn...
(try_combine): When checking for two sets of the same register in a
split insn, also test for setting a ZERO_EXTRACT, STRICT_LOW_PART, or
SUBREG.
From-SVN: r10783
Richard Kenner [Sun, 17 Dec 1995 11:36:47 +0000 (06:36 -0500)]
(push_secondary_reload): Don't strip paradoxical SUBREG if
reload_class is CLASS_CANNOT_CHANGE_SIZE.
From-SVN: r10782
Richard Kenner [Sat, 16 Dec 1995 23:24:02 +0000 (18:24 -0500)]
(expand_assignment): Fix alignment parm in emit_block_move.
From-SVN: r10781
Richard Kenner [Sat, 16 Dec 1995 23:16:01 +0000 (18:16 -0500)]
(optimize_reg_copy_2): Don't attempt optimization if destination
register dies.
From-SVN: r10780
Richard Kenner [Sat, 16 Dec 1995 13:30:58 +0000 (08:30 -0500)]
(fold): Don't record overflow when negating unsigned constants.
From-SVN: r10779
Richard Kenner [Sat, 16 Dec 1995 12:35:45 +0000 (07:35 -0500)]
(layout_record): When PCC_BITFIELD_TYPE_MATTERS, compute bitpos using
field_size % type_align instead of field_size.
From-SVN: r10778
Richard Kenner [Sat, 16 Dec 1995 12:03:25 +0000 (07:03 -0500)]
(stdio.h): Fix return type of fread and fwrite on sysV68.
From-SVN: r10777
Richard Kenner [Sat, 16 Dec 1995 11:57:01 +0000 (06:57 -0500)]
(fixup_var_refs_1): Fix two incorrect calls to single_set.
From-SVN: r10776
Stan Cox [Sat, 16 Dec 1995 03:32:35 +0000 (03:32 +0000)]
(AViiON): Add ix86-dg-dgux
From-SVN: r10744
Stan Cox [Sat, 16 Dec 1995 03:10:56 +0000 (03:10 +0000)]
Initial revision
From-SVN: r10743
Stan Cox [Sat, 16 Dec 1995 03:06:44 +0000 (03:06 +0000)]
Use TARGET* macros.
From-SVN: r10742
Stan Cox [Sat, 16 Dec 1995 03:06:03 +0000 (03:06 +0000)]
(override_options): Add -mcpu and -misa support
From-SVN: r10741