summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* * sched.c (canon_rtx): Recursively look for equivalences;law1995-12-182-2/+21
| | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10793 138bc75d-0d04-0410-961f-82ee72b054a4
* * pa.c (override_options): Make 7100 scheduling the default.law1995-12-171-8/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10792 138bc75d-0d04-0410-961f-82ee72b054a4
* * pa.md: Add 2nd reload peephole somehow omitted from Nov27 changes.law1995-12-171-0/+34
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10791 138bc75d-0d04-0410-961f-82ee72b054a4
* * regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it'slaw1995-12-172-0/+10
| | | | | | | | | | defined to avoid useless work. * combine.c (find_split_point): Try to split SET_DEST just like we do for SET_SRC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10790 138bc75d-0d04-0410-961f-82ee72b054a4
* (expand_mult_highpart): When doing widening multiply,tege1995-12-171-7/+21
| | | | | | | | | put constant in a register. (expand_mult_highpart): When mode is word_mode use gen_highpart instead of right shift by size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10789 138bc75d-0d04-0410-961f-82ee72b054a4
* (expand_expr, case MULT_EXPR): Generalize code for wideningtege1995-12-171-11/+37
| | | | | | | | multiply to handle signed widening multiply when only unsigned optab is defined, and vice versa. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10788 138bc75d-0d04-0410-961f-82ee72b054a4
* (WCHAR_TYPE_SIZE): Define.kenner1995-12-171-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10787 138bc75d-0d04-0410-961f-82ee72b054a4
* Initial revisionkenner1995-12-171-0/+231
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10786 138bc75d-0d04-0410-961f-82ee72b054a4
* (cmpqi): Fix generation of literal operand of CLM instruction to avoidkenner1995-12-171-3/+3
| | | | | | | double literals (=X'=F'...). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10785 138bc75d-0d04-0410-961f-82ee72b054a4
* Try harder not to open or stat the same include file twice.kenner1995-12-171-824/+706
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10784 138bc75d-0d04-0410-961f-82ee72b054a4
* (try_combine): When checking for two sets of the same register in akenner1995-12-171-4/+15
| | | | | | | | split insn, also test for setting a ZERO_EXTRACT, STRICT_LOW_PART, or SUBREG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10783 138bc75d-0d04-0410-961f-82ee72b054a4
* (push_secondary_reload): Don't strip paradoxical SUBREG ifkenner1995-12-171-0/+3
| | | | | | | reload_class is CLASS_CANNOT_CHANGE_SIZE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10782 138bc75d-0d04-0410-961f-82ee72b054a4
* (expand_assignment): Fix alignment parm in emit_block_move.kenner1995-12-161-4/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10781 138bc75d-0d04-0410-961f-82ee72b054a4
* (optimize_reg_copy_2): Don't attempt optimization if destinationkenner1995-12-161-1/+2
| | | | | | | register dies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10780 138bc75d-0d04-0410-961f-82ee72b054a4
* (fold): Don't record overflow when negating unsigned constants.kenner1995-12-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10779 138bc75d-0d04-0410-961f-82ee72b054a4
* (layout_record): When PCC_BITFIELD_TYPE_MATTERS, compute bitpos usingkenner1995-12-161-1/+1
| | | | | | | field_size % type_align instead of field_size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10778 138bc75d-0d04-0410-961f-82ee72b054a4
* (stdio.h): Fix return type of fread and fwrite on sysV68.kenner1995-12-161-0/+25
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10777 138bc75d-0d04-0410-961f-82ee72b054a4
* (fixup_var_refs_1): Fix two incorrect calls to single_set.kenner1995-12-161-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10776 138bc75d-0d04-0410-961f-82ee72b054a4
* (AViiON): Add ix86-dg-dguxcoxs1995-12-161-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10744 138bc75d-0d04-0410-961f-82ee72b054a4
* Initial revisioncoxs1995-12-161-0/+28
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10743 138bc75d-0d04-0410-961f-82ee72b054a4
* Use TARGET* macros.coxs1995-12-161-16/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10742 138bc75d-0d04-0410-961f-82ee72b054a4
* (override_options): Add -mcpu and -misa supportcoxs1995-12-161-6/+73
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10741 138bc75d-0d04-0410-961f-82ee72b054a4
* (TARGET_CPU_DEFAULT, PROCESSOR_*, TARGET_*,DOUBLE_WITH_ADD,BIT_TEST}): New ↵coxs1995-12-161-14/+72
| | | | | | macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10740 138bc75d-0d04-0410-961f-82ee72b054a4
* (sys/wait.h): Add forward declaration of struct rusage on AIX 3.2.5.kenner1995-12-151-0/+27
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10739 138bc75d-0d04-0410-961f-82ee72b054a4
* (DO_GLOBAL_DTORS_BODY): Delete; obsolete.kenner1995-12-151-11/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10738 138bc75d-0d04-0410-961f-82ee72b054a4
* main): Don't ignore an option merely because a language-specifickenner1995-12-151-2/+1
| | | | | | | | option is a prefix of the option. This catches typos like `-fno-builtins'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10737 138bc75d-0d04-0410-961f-82ee72b054a4
* (i*86*) Change [345] to [3456]coxs1995-12-151-11/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10736 138bc75d-0d04-0410-961f-82ee72b054a4
* (out_object_file): Add MAYBE_TARGET_DEFAULT.coxs1995-12-151-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10735 138bc75d-0d04-0410-961f-82ee72b054a4
* (rest_of_compilation): Call init_temp_slots.kenner1995-12-151-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10734 138bc75d-0d04-0410-961f-82ee72b054a4
* (init_temp_slots): New function.kenner1995-12-151-4/+13
| | | | | | | (init_function_start): Code moved to new function and called here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10733 138bc75d-0d04-0410-961f-82ee72b054a4
* (store_bit_field): Don't use insv for BLKmode value.kenner1995-12-151-1/+2
| | | | | | | (store_split_bit_field): Set total_bits to BITS_PER_FOR for BLKmode value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10732 138bc75d-0d04-0410-961f-82ee72b054a4
* (DBX_STATIC_BLOCK_END): Use macro arguments.kenner1995-12-151-18/+6
| | | | | | | | | (xcoff_begin_function_line, xcoff_current_function_file): Remove unused extern declarations. (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Use macro argument. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10731 138bc75d-0d04-0410-961f-82ee72b054a4
* (xcoff_begin_function_line): Make static.kenner1995-12-151-5/+5
| | | | | | | | | | (xcoff_inlining): Likewise. (xcoff_current_function_file): Likewise. (xcoff_output_standard_types): Remove TARGET_64BIT dependencies from int and unsigned int. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10730 138bc75d-0d04-0410-961f-82ee72b054a4
* * fix-header.c: Support different kinds of functions (ANSI andbothner1995-12-151-109/+177
| | | | | | | Posix1). Enable ANSI proptotypes if __STRICT_ANSI__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10729 138bc75d-0d04-0410-961f-82ee72b054a4
* Fixes from Torbjorn/Djemeissner1995-12-151-1/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10728 138bc75d-0d04-0410-961f-82ee72b054a4
* (expand_divmod, case TRUNC_DIV_EXPR): Only rejecttege1995-12-141-3/+7
| | | | | | | | larger-than-HOST_BITS_PER_WIDE_INT modes for general constants, not for powers-of-2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10727 138bc75d-0d04-0410-961f-82ee72b054a4
* (logic_operand): New function.tege1995-12-141-3/+19
| | | | | | | (i960_print_operand): Handle code `C'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10726 138bc75d-0d04-0410-961f-82ee72b054a4
* (PREDICATE_CODES): Add logic_operand.tege1995-12-141-3/+5
| | | | | | | | (CONST_OK_FOR_LETTER_P): Handle `M'. (SHIFT_COUNT_TRUNCATED): Define as 0 as appropriate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10725 138bc75d-0d04-0410-961f-82ee72b054a4
* (andsi3): Match op2 with logic_operand, change constrainttege1995-12-141-77/+87
| | | | | | | | | accordingly. Output andnot for negative op2. (iorsi3, xorsi3): Analogous changes. Move all plain logical patterns together. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10724 138bc75d-0d04-0410-961f-82ee72b054a4
* (objc_alignof_type): Handle _C_PTR case.kenner1995-12-141-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10723 138bc75d-0d04-0410-961f-82ee72b054a4
* (untyped_call): New pattern.tege1995-12-141-0/+37
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10722 138bc75d-0d04-0410-961f-82ee72b054a4
* (ashrsi_31): New pattern.tege1995-12-141-0/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10721 138bc75d-0d04-0410-961f-82ee72b054a4
* arm/arm.c (output_move_double): Extract DFmode constants usingerich1995-12-141-4/+16
| | | | | | | REAL_VALUE_TO_TARGET_DOUBLE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10720 138bc75d-0d04-0410-961f-82ee72b054a4
* (CROSS_FLOAT_H): Delete.dje1995-12-141-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10719 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (distclean): Delete float.hdje1995-12-141-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10718 138bc75d-0d04-0410-961f-82ee72b054a4
* Initial revisiondje1995-12-143-0/+288
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10717 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typomeissner1995-12-141-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10716 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_expr, case ADDR_EXPR): Ensure op0 isn't QUEUED.mrs1995-12-141-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10715 138bc75d-0d04-0410-961f-82ee72b054a4
* (my_strerror): Return "cannot access" if errno is 0.kenner1995-12-141-24/+6
| | | | | | | | | (perror_with_name, pfatal_with_name, perror_exec): Don't assume that the returned value from my_strerror contains no '%'s. (sys_nerr): Declare only if HAVE_STRERROR is not defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10714 138bc75d-0d04-0410-961f-82ee72b054a4
* (c-parse.y, objc-parse.y): Add warning that file is automatically generated.kenner1995-12-141-2/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10713 138bc75d-0d04-0410-961f-82ee72b054a4