* configure.in (host_overrides): Set to Make-host.
(dep_host_xmakefile): Loop over all elements in host_make_file.
(target_overrides): Set to Make-target.
(dep_tmake_file): Loop over all elements in tmake_file.
(configure.frag): Pass dep_host_xmake_file, dep_tmake_file.
(contains_this_placeholder_p): Renamed from contains_placeholder_p.
Added new arg, PL.
Rework to make more consistent, check more codes, and avoid
undefined fields.
Richard Kenner [Sat, 19 Jul 1997 21:59:41 +0000 (17:59 -0400)]
(SECONDARY_{IN,OUT}PUT_RELOAD_CLASS): Don't need for QImode or HImode if TARGET_BYTE_OPS.
(SECONDARY_{IN,OUT}PUT_RELOAD_CLASS): Don't need for QImode or HImode
if TARGET_BYTE_OPS.
(ASM_FILE_START): Write a .arch directive.
(STACK_CHECK_BUILTIN): New macro.
* configure.in: Invoke AC_CONFIG_HEADER.
Check for string.h, strings.h, stdlib.h, time.h, unistd.h.
Check for whether malloc/realloc/free need to be declared.
(links): Rename config.h to config2.h.
(AC_OUTPUT): Create stamp-h.
Richard Kenner [Fri, 18 Jul 1997 12:12:50 +0000 (08:12 -0400)]
(reload): Don't call reload_cse_regs here.
(reload_cse_mem_conflict_p): Remove MEM_OFFSET and MEM_MODE args.
(reload_cse_mem_conflict_p, case MEM): Call anti_dependence.
(reload_cse_invalidate_mem): Update call to reload_cse_mem_conflict_p.
(reload_cse_regs): No longer static.
Call init_alias_analysis.
Ignore CLOBBER in a PARALLEL.
Richard Earnshaw [Wed, 16 Jul 1997 14:54:40 +0000 (14:54 +0000)]
(CPP_CPU_ARCH_SPEC): Handle -march=...
(TARGET_OPTIONS): Add arch= and fp=. Delete fpe=.
(enum processor_type): Add PROCESSOR_NONE, for use in all_procs table.
(FP_DEFAULT): Default floating point architecture for generic
back-end.
(PREDICATE_CODES): Add f_register_operand.
Richard Earnshaw [Wed, 16 Jul 1997 14:54:40 +0000 (14:54 +0000)]
(tune_flags): New variable.
(target_{cpu,fpe}_name): Delete.
(arm_fpu_arch): New variable.
(arm_select): Also allow -march=... to configure just the
architecture.
(all_procs): Allow armv{2,2a,3,3m,4,4t} for use with -march=.
(arm_override_options): Handle -march=, but don't let -mcpu=
and -mtune= match the architecture names, since we can only
tune for an implementation. Rework selection of tuning options
for floating point.
(use_return_insn): Support interworking with Thumb code.
(arm_rtx_costs): Rework multiply costs so that cost is based on
the tune, not the architecture.
(f_register_operand): New function.
(output_return_instruction): Support interworking with Thumb code.
(output_func_epilogue): Support interworking with Thumb code.
Remove redundant calculation of code_size. Use floating-point
load-multiples if permitted.
(emit_sfm): New function.
(arm_expand_prologue): Use floating-point store-multiples if
permitted.
Jeff Law [Mon, 14 Jul 1997 20:19:23 +0000 (14:19 -0600)]
calls.c (emit_library_call): Use right index into argvec array when iterating over arguments which need to...
* calls.c (emit_library_call): Use right index into argvec array
when iterating over arguments which need to be pushed on the stack.
(emit_library_call_value): Likewise.
Richard Kenner [Mon, 14 Jul 1997 10:51:23 +0000 (06:51 -0400)]
(schedule_block): Free space associated with reg_pending_sets and old_live_regs.
(schedule_block): Free space associated with reg_pending_sets and
old_live_regs.
(schedule_insns): Free bb_{dead,live}_regs on first pass.
(sched_analyze_insn): Use EXECUTE_IF_SET_IN_REG_SET and then clear.
Richard Kenner [Mon, 14 Jul 1997 10:49:58 +0000 (06:49 -0400)]
(init_regset_vector): Make global; don't take basic block times # of pseduos as argument.
(init_regset_vector): Make global; don't take basic block times # of pseduos
as argument.
(life_analysis): Change all init_regset_vector calls.
Use free_regset_vector to release arrays only flow uses at end.
(allocate_for_life_analysis): Change init_regset_vector call.
Don't set regset_{size,bytes}.
(free_regset_vector): Call FREE_REG_SET to release any memory allocated
by each vector.
(propagate_block): Call FREE_REG_SET on dead/live.
(mark_used_regs): Don't use REGSET_ELT_TYPE anymore.
Richard Kenner [Mon, 14 Jul 1997 10:48:54 +0000 (06:48 -0400)]
(OBJS): Add bitmap.o.
(BASIC_BLOCK_H): New make variable for basic-block.h, bitmap.h.
({flow,combine,regclass,local-alloc,reload1,reorg,sched}.o): Use
BASIC_BLOCK_H variable instead of basic-block.h.
* mips.c (epilogue_reg_mentioned_p): Delete unused function.
(mips_epilogue_delay_slots): Likewise.
(function_epilogue): Greatly simplify.
(mips_expand_epilogue): If we have a null prologue/epilogue,
then use a normal return insn. Emit blockage insns before
stack pointer adjustments.
(mips_can_use_return_insn): Renamed from simple_epilogue_p. All
callers changed. Do not use return insns if $31 is live in the
function or if generating profiling information.
* mips.h (DELAY_SLOTS_FOR_EPILOGUE): Delete.
(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
* mips.md (return): Remove expander and change the pattern to
look like a standard "return" insn.
(return_internal): Show use of $31 explictly.
(epilogue expander): Enable.