John Carr [Sat, 25 Apr 1998 16:09:24 +0000 (16:09 +0000)]
alias.c (alias_invariant): New variable.
* alias.c (alias_invariant): New variable.
(record_base_value): New argument INVARIANT.
(memrefs_conflict_p): If a register has an entry in the alias_invariant
array, try substituting that value for the register.
* rtl.h: Declare record_base_value.
* loop.c, unroll.c: Update callers of record_base_value.
* alias.c (find_base_value, find_base_term): SIGN_EXTEND and
ZERO_EXTEND do not affect base values.
John Carr [Fri, 24 Apr 1998 13:16:26 +0000 (13:16 +0000)]
expr.c (expand_builtin, [...]): Set MEM_IN_STRUCT_P if the argument is the address of a structure or array.
* expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
if the argument is the address of a structure or array.
* configure.in: Enable Haifa scheduler by default for SPARC.
Jeff Law [Fri, 24 Apr 1998 10:03:16 +0000 (04:03 -0600)]
dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC appropriately.
d
* dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
appropriately.
(dbxout_type_method_1, dbxout_type): Likewise.
(print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
(dbxout_type): Fix check for when to print a type range in
octal vs decimal.
Jeff Law [Fri, 24 Apr 1998 10:03:15 +0000 (04:03 -0600)]
dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC appropriately.
�
* dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
appropriately.
(dbxout_type_method_1, dbxout_type): Likewise.
(print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
(dbxout_type): Fix check for when to print a type range in
octal vs decimal.
Makefile.in (libgcc2.ready): Add explicit dependancy from $(STMP_FIXPROTO) to ensure all necessary include...
d
* Makefile.in (libgcc2.ready): Add explicit dependancy from
$(STMP_FIXPROTO) to ensure all necessary include files have
been created and to guarantee proper parallel builds.
Makefile.in (libgcc2.ready): Add explicit dependancy from $(STMP_FIXPROTO) to ensure all necessary include...
�
* Makefile.in (libgcc2.ready): Add explicit dependancy from
$(STMP_FIXPROTO) to ensure all necessary include files have
been created and to guarantee proper parallel builds.
Jason Merrill [Thu, 23 Apr 1998 22:26:41 +0000 (22:26 +0000)]
cp-tree.def: Add WRAPPER.
* cp-tree.def: Add WRAPPER. USER_CONV now only has two ops.
* cp-tree.h: Add WRAPPER support.
* call.c (add_candidate): Split out from add_*_candidate fns.
(build_over_call): Take the candidate instead of function and args.
Enforce access control here. Emit overload warnings here.
(add_warning): New fn.
(joust): Add WARN parm. If not set, call add_warning instead of
printing a warning. Reenable some warnings.
(tourney): Pass it.
(convert_like): Adjust.
(build_new_op): Adjust.
(build_new_function_call): Adjust.
(build_user_type_conversion_1): Adjust.
(USER_CONV_FN): Adjust.
* tree.c (build_expr_wrapper, build_expr_ptr_wrapper,
build_int_wrapper): New fns.
* sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
register for stdarg functions.
* sh.h (current_function_varargs): Declare.
(FUNCTION_ARG): Ignore NAMED for stdarg functions.
Jim Wilson [Thu, 23 Apr 1998 19:10:52 +0000 (19:10 +0000)]
Fix gcov mips switch table interaction bug reported to bug-gcc.
* profile.c (tablejump_entry_p): New function.
(branch_prob): Add code to recognize MIPS tablejump entry branch.
Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
Mark Mitchell [Wed, 22 Apr 1998 21:02:01 +0000 (21:02 +0000)]
pt.c (tsubst): Decrease the template-level of TEMPLATE_TEMPLATE_PARMS.
* pt.c (tsubst): Decrease the template-level of
TEMPLATE_TEMPLATE_PARMS. Likewise for the DECL_INITIAL of a
TEMPLATE_PARM_INDEX.
(template_decl_level): New function.
(unify): Make sure to record unifications for template
parameters, even when the parameters exactly match the arguments.
Combine duplicated code for TEMPLATE_TEMPLATE_PARMs and
TEMPLATE_TYPE_PARMS. Don't try to unify template parameters that
aren't from the level we're currently working on.
John Carr [Wed, 22 Apr 1998 12:57:04 +0000 (12:57 +0000)]
emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero if...
* emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
* final.c (split_double): Sign extend both halves of a split CONST_INT.
Fixes a problem compiling on sparcs where STRUCT_VALUE is defined in sparc.h to...
Fixes a problem compiling on sparcs where STRUCT_VALUE is defined in
sparc.h to use gen_rtx_MEM() and then evaluated in an #if directive in
sendmsg.c.
* objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
for gen_rtx(MEM, ...).
final.c (shorten_branches, [...]): Move code to free label_align...
* final.c (shorten_branches, init_insn_lengths): Move code
to free label_align, uid_shuid, insn_lengths, insn_addresses
and uid_align from the former function into the latter one;
Add code to clear these variables.
* sh.h (label_align): Remove declaration.
Fix some problems that resulted in assmebler messages 'Error: pcrel too far'
Fix some problems that resulted in assmebler messages 'Error: pcrel too far'
* sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
(split_branches): Call init_insn_lengths.
H.J. Lu [Mon, 20 Apr 1998 00:01:15 +0000 (00:01 +0000)]
reg-stack.c (subst_asm_stack_regs): Change to return the last new insn generated by this function.
* reg-stack.c (subst_asm_stack_regs): Change to return the last
new insn generated by this function.
(subst_stack_regs): Likewise.
(convert_regs): Record the last newly generated insn and use
it for change_stack () instead of INSN.
fix-header.c (enum special_file): Undefine enumerators if they are already defined by include files.
a
* fix-header.c (enum special_file): Undefine enumerators if they
are already defined by include files.
* fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
macro with '__' to not pollute user namespace.
fix-header.c (enum special_file): Undefine enumerators if they are already defined by include files.
d
* fix-header.c (enum special_file): Undefine enumerators if they
are already defined by include files.
* fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
macro with '__' to not pollute user namespace.
fix-header.c (enum special_file): Undefine enumerators if they are already defined by include files.
�
* fix-header.c (enum special_file): Undefine enumerators if they
are already defined by include files.
* fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
macro with '__' to not pollute user namespace.
David Edelsohn [Sat, 18 Apr 1998 16:16:02 +0000 (16:16 +0000)]
rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be negative in a stackless frame.
* rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
negative in a stackless frame.
* rs6000.c (rs6000_stack_info): Don't include fixed-size link area
in stackless frame size. Support 64-bit stackless frame size.
Combine fpmem offset calculations and don't add total_size to
offset if not pushing a stack frame.
Jim Wilson [Sat, 18 Apr 1998 15:31:36 +0000 (15:31 +0000)]
Patches to make g++/g77 give useful error when no files are given.
* gcc.c (lang_specific_driver): Add new parm type to prototype.
(added_libraries): New file scope static variable.
(process_command): Initialize added_libraries. Pass it to
lang_specific_driver.
(main): Use added_libraries in check for no input files.
John Carr [Sat, 18 Apr 1998 01:24:59 +0000 (01:24 +0000)]
sparc.c, [...]: Many changes related to V9 code generation.
Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
* sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
code generation. Use 64 bit instructions in 32 bit mode when
possible. Use V9 return instruction. UltraSPARC optimizations.
* sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.