Philipp Thomas
047142d32e
1750a.h: Mark help strings for options/switches for translation.
...
2000-06-27 Philipp Thomas <pthomas@suse.de>
* 1750a.h: Mark help strings for options/switches for translation.
* a29k.h: Likewise.
* alpha.h: Likewise.
* arm.h: Likewise.
* pe.h: Likewise.
* riscix.h: Likewise.
* c4x.h: Likewise.
* clipper.h: Likewise.
* convex.h: Likewise.
* elxsi.h: Likewise.
* fr30.h: Likewise.
* fx80.h: Likewise.
* h8300.h: Likewise.
* i370.h: Likewise.
* cygwin.h: Likewise.
* dgux.h: Likewise.
* djgpp.h: Likewise.
* i386.h: Likewise.
* osf1elf.h: Likewise.
* osfrose.h: Likewise.
* sco5.h: Likewise.
* win32.h: Likewise.
* i860.h: Likewise.
* paragon.h: Likewise.
* i960.h: Likewise.
* ia64.h: Likewise.
* m32r.h: Likewise.
* mcore.h: Likewise.
* mips.h: Likewise.
* mn10300.h: Likewise.
* ns32k.h: Likewise.
* pdp11.h: Likewise.
* pj.h: Likewise.
* aix.h: Likewise.
* aix41.h: Likewise.
* aix43.h: Likewise.
* beos.h: Likewise.
* rs6000.h: Likewise.
* sysv4.h: Likewise.
* linux.h: Likewise.
* linux64.h: Likewise.
* sp64-elf.h: Likewise.
* sparc.h: Likewise.
* splet.h: Likewise.
* v850.h: Likewise.
* convex.h (TARGET_SWITCHES): Provide descriptions and mark them
for translation.
* sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES.
Properly document option and mark for translation.
* sp86x-elf.h: Likewise.
From-SVN: r34724
2000-06-27 02:26:23 +00:00
Richard Henderson
02188693ed
combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P instead of...
...
* combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and
CLASS_CANNOT_CHANGE_MODE_P instead of CLASS_CANNOT_CHANGE_SIZE
and hard-coded tests.
(simplify_set): Likewise.
(gen_lowpart_for_combine): Likewise.
* emit-rtl.c (gen_lowpart_common): Likewise.
* global.c (find_reg): Likewise.
* local-alloc.c (find_free_reg): Likewise.
* recog.c (register_operand): Likewise.
* regclass.c (init_reg_sets_1): Likewise.
(record_operand_costs, regclass): Likewise.
* reload.c (push_reload): Likewise.
* reload1.c (choose_reload_regs): Likewise.
* flow.c (mark_used_regs): Conditionally set REG_CHANGES_MODE.
* local-alloc.c (struct qty): Rename changes_size to changes_mode.
Update all references.
* regs.h (struct reg_info_def): Likewise.
(REG_CHANGES_MODE): Rename from REG_CHANGES_SIZE.
* tm.texi (CLASS_CANNOT_CHANGE_MODE): Document.
(CLASS_CANNOT_CHANGE_MODE_P): Likewise.
* config/alpha/alpha.h (CLASS_CANNOT_CHANGE_MODE): Rename.
(CLASS_CANNOT_CHANGE_MODE_P): New.
* config/mips/mips.h: Likewise.
* config/pa/pa32-regs.h: Likewise.
* config/pa/pa64-regs.h: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/sh/sh.h: Likewise.
* config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE): New.
(CLASS_CANNOT_CHANGE_MODE_P): New.
* config/avr/avr.h (CLASS_CANNOT_CHANGE_SIZE): Remove dead code.
* config/d30v/d30v.h: Likewise.
From-SVN: r34526
2000-06-13 14:47:44 -07:00
Richard Henderson
28ecb7ab47
alpha.md (*setne_internal): Use match_operator instead of working down from insn.
...
* config/alpha/alpha.md (*setne_internal): Use match_operator
instead of working down from insn.
From-SVN: r34268
2000-05-30 08:52:03 -07:00
Richard Henderson
8f4773eae7
longlong.h [__alpha] (count_leading_zeros): New.
...
* longlong.h [__alpha] (count_leading_zeros): New.
(count_trailing_zeros): New.
(COUNT_LEADING_ZEROS_0): New.
* config/alpha/alpha.c (alpha_zero_comparison_operator): New.
(alpha_split_conditional_move): New.
* config/alpha/alpha-protos.h: Prototype them.
* config/alpha/alpha.h (PREDICATE_CODES): Update.
(CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
* config/alpha/alpha.md: Update ffs cix commentary.
(*ze_and_ne): New.
(*nabssf2, *nabsdf2): New.
(*mov[qhsd]icc_internal): Use add_operand.
(if_then_else constant splitters): New.
(*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
(*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
From-SVN: r34250
2000-05-29 00:52:26 -07:00
Richard Henderson
4f1c5cce90
alpha.c (alpha_does_function_need_gp): Test TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
...
* config/alpha/alpha.c (alpha_does_function_need_gp): Test
TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
(alpha_expand_prologue): Emit prologue_mcount if needed.
* config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0.
* config/alpha/alpha.md (prologue_mcount): New.
* config/alpha/linux.h (FUNCTION_PROFILER): Remove.
(TARGET_PROFILING_NEEDS_GP): Undef before redefining.
* config/alpha/netbsd.h: Likewise.
From-SVN: r34222
2000-05-27 19:25:46 -07:00
Richard Henderson
a1920fc3d7
elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h.
...
* config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
change to config/elfos.h.
From-SVN: r34221
2000-05-27 19:21:54 -07:00
Richard Henderson
a82c7f05c4
alpha-protos.h (alpha_arg_info_reg_val): Protect with RTX_CODE.
...
* config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect
with RTX_CODE.
(alpha_write_linkage): Protect with BUFSIZ.
(alpha_need_linkage): Update prototype.
* config/alpha/alpha.c (function_arg): Move VMS code here.
(alpha_links_base): Remove.
(alpha_links): New.
(mark_alpha_links_node, mark_alpha_links): New.
(alpha_write_one_linkage): New.
(alpha_need_linkage): Use a splay tree. Build the linkage symbol.
(alpha_write_linkage): Use splay_tree_foreach.
* config/alpha/alpha.md (call_vms): Use alpha_need_linkage
to get the linkage symbol.
(call_value_vms): Likewise.
* config/alpha/elf.h (output_file_directive): Remove decl.
(ctors_section, dtors_section): Prototype.
(sbss_section, sdata_section): Prototype.
* config/alpha/vms.h (FUNCTION_ARG): Remove.
(readonly_section, link_section, literals_section): Prototype.
(ctors_section, dtors_section): Prototype.
(vms_valid_decl_attribute_p): Remove decl.
(alpha_arg_type, alpha_arg_info_reg_val): Likewise.
From-SVN: r34220
2000-05-27 19:18:27 -07:00
Richard Henderson
d2c6a1b628
alpha.c (hard_fp_register_operand): Mind the mode.
...
* config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.
(hard_int_register_operand): New.
* config/alpha/alpha-protos.h: Declare it.
* config/alpha/alpha.h (PREDICATE_CODES): Update.
* config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand
as needed; use peep2_reg_dead_p instead of dead_or_set_p.
From-SVN: r34209
2000-05-27 13:34:12 -07:00
Richard Henderson
a0e5a544ae
alpha.c (alpha_comparison_operator): Don't be so strict about DImode.
...
* config/alpha/alpha.c (alpha_comparison_operator): Don't be
so strict about DImode.
(alpha_swapped_comparison_operator): Likewise.
* config/alpha/alpha.md (*setne_internal): Name it. Allow
any integer output mode.
(*setcc_internal): Likewise.
(*setcc_swapped_internal): Likewise.
(*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them.
(*mov[qhs]icc_internal): New.
(*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New.
From-SVN: r34188
2000-05-26 00:04:21 -07:00
Richard Kenner
b81f53a13c
alpha.c: Remove #ifdef HAIFA since now only scheduler.
...
* config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler.
(alpha_start_function): Never write ..ng label if VMS or NT.
(alpha_align_insns): Remove GP_IN_USE arg.
Alignment now unsigned.
(alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns.
* config/alpha/alpha.md (prologue_ldgp): Split into one define_expand
and two define_insn's.
From-SVN: r34104
2000-05-23 06:42:56 -04:00
Richard Kenner
941cc05afd
alpha.c (alpha_fnname): New static variable.
...
* config/alpha/alpha.c (alpha_fnname): New static variable.
(print_operand, case '~'): New case.
(alpha_expand_prologue): Emit prologue_ldgp insn if needed.
(alpha_start_function): Set alpha_fnname.
Write "ng" label if no ldgp; don't write ldgp insn.
* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'.
* config/alpha/alpha.md (prologue_ldgp): New define_insn.
From-SVN: r34097
2000-05-22 21:44:05 -04:00
Jeff Law
f7af368f25
Update to libgcc copyright exception clause.
...
From-SVN: r33916
2000-05-15 17:14:17 -06:00
Richard Henderson
1d11bf189e
alpha.c (struct shadow_summary): Define bitfields as type unsigned int.
...
* config/alpha/alpha.c (struct shadow_summary): Define
bitfields as type unsigned int.
From-SVN: r33884
2000-05-12 13:32:30 -07:00
Richard Henderson
18b554cb71
* config/alpha/t-alpha (LIB2FUNCS_EXTRA): Use qrrnd.asm in place.
...
From-SVN: r33682
2000-05-04 13:14:20 -07:00
Richard Kenner
bf49b1396b
rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and MEM_ALIAS_SET.
...
* rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and
MEM_ALIAS_SET.
* alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET
when calling MEM_COPY_ATTRIBUTES.
* emit-rtl.c (operand_subword, change_address): Likewise.
* explow.c (stabilize): Likewise.
* expr.c (protect_from_queue, emit_move_insn_1): Likewise.
* integrate.c (copy_rtx_and_substitute): Likewise.
* combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P
when calling MEM_COPY_ATTRIBUTES.
(make_extraction, simplify_shift_const, gen_lowpart_for_combine):
Likewise.
* cse.c (gen_lowpart_if_possible): Likewise.
* function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
* optabs.c (gen_move_insn): Likewise.
* recog.c (validate_replace_rtx_1): Likewise.
* simplify-rtx.c (add_mem_for_addr): Likewise.
* stmt.c (expand_anon_union_decl): Likewise.
* config/arm/arm.md: Likewise.
* config/h8300/h7300.c (fix_bit_operand): Likewise.
* config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise.
(block_move_no_loop, block_move_sequence): Likewise.
* config/rs6000/rs6000.c (expand_block_move_mem): Likewise.
* config/alpha/alpha.c (get_aligned_mem): Likewise.
Clear MEM_ALIAS_SET.
* final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling
MEM_COPY_ATTRIBUTES.
From-SVN: r33665
2000-05-04 09:49:50 -04:00
Richard Henderson
927b868f8c
t-crtbe (crtbegin.o): Add "-I.".
...
* config/alpha/t-crtbe (crtbegin.o): Add "-I.".
(crtend.o, crtbeginS.o, crtendS.o): Likewise.
From-SVN: r33546
2000-04-30 03:56:21 -07:00
Richard Henderson
10d1117cbc
crtend.asm: Use C comments instead of #.
...
* config/alpha/crtend.asm: Use C comments instead of #.
* config/alpha/crtbegin.asm: Likewise. Mark __dso_handle hidden.
* config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.
From-SVN: r33537
2000-04-29 14:12:45 -07:00
Richard Kenner
c5e1237fde
Add missing blank
...
From-SVN: r33313
2000-04-21 15:21:50 -04:00
Richard Henderson
70994f3039
* config/alpha/alpha.c (alpha_emit_floatuns): Emit missing barrier.
...
From-SVN: r33288
2000-04-20 12:10:40 -07:00
Richard Kenner
6da9c622a6
configure.in (alpha*-*-*): Aad config/alpha/t-alpha.
...
* configure.in (alpha*-*-*): Aad config/alpha/t-alpha.
* configure: Rebuilt.
* libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi.
(__fixunsxfDI): Renamed from __fixunsxfdi.
(__fixunsdfDI): Renamed from __fixunsdfdi.
(__fixunssfDI): Renamed from __fixunssfdi.
(__floatdisf): Use proper type in REP_BIT macro.
(__fixunsxfSI): Renamed from __fixunsxfsi.
(__fixunsdfSI): Renamed from __fixunsdfsi.
(__fixunssfSI): Renamed from __fixunssfsi.
* libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4.
Change location of macros and upper-case some names as above.
* longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd.
* config/alpha/t-alpha, config/alpha/qrnnd.asm: New files.
From-SVN: r33166
2000-04-15 12:34:38 -04:00
Richard Kenner
57014cb94a
alpha.c (alpha_emit_floatuns): Ensure we pass a REG and not a SUBREG to a FLOAT rtl.
...
* config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG
and not a SUBREG to a FLOAT rtl.
From-SVN: r33146
2000-04-14 07:33:02 -04:00
Richard Henderson
000ca3735d
alpha.c (alpha_emit_conditional_move): Fail if we discover we need a pseudo and no_new_pseudos is true.
...
* config/alpha/alpha.c (alpha_emit_conditional_move): Fail
if we discover we need a pseudo and no_new_pseudos is true.
* config/alpha/alpha.md (ne:DI insn): New.
(trunctfsf2, sne): Emit NE instead of non-canonical LTU.
From-SVN: r32998
2000-04-07 02:53:18 -07:00
Richard Henderson
d68894a1c8
* alpha.h (FUNCTION_BOUNDARY): Reduce to 128 bits.
...
From-SVN: r32841
2000-03-30 20:48:39 -08:00
Richard Kenner
bdb429a5a1
calls.c (expand_call): Pass bit alignment to mark_reg_pointer.
...
* calls.c (expand_call): Pass bit alignment to mark_reg_pointer.
* explow.c (memory_address, allocate_dynamic_stack_space): Likewise.
* function.c (assign_parms): Likewise.
* integrate.c (expand_inline_function): Likewise.
* stmt.c (expand_decl): Likewise.
(copy_rtx_and_substitute): Likewise.
* expr.c (expand_expr, expand_expr_unaligned): Likewise.
(clear_by_pieces): Fix error in last change.
* emit-rtl.c (init_emit): Set known registers alignment in bits.
* function.h (regno_pointer_align): Now unsigned.
* config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN
is in bits.
* config/i386/i386.c (aligned_operand): Likewise.
* config/sparc/sparc.c (mem_min_alignment): Likewise.
* config/alpha/alpha.c (aligned_memory_operand): Likewise.
(unaligned_memory_operand): Likewise.
(alpha_expand_block_move, alpha_expand_block_clear): Likewise.
Also make alignments and sizes unsigned and some whitespace cleanup.
(alpha_va_start): Do nothing if VALIST's type is error_mark_node.
From-SVN: r32829
2000-03-30 08:46:05 -05:00
Jan Hubicka
f73ad30e01
Convert ACCUMULATE_OUTGOING_ARGS to an expression.
...
* calls.c (PUSH_ARGS_REVERSED) Change to expression.
(ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default value.
(struct arg_data): Remove #ifdef ACCUMULATE_OUTGOING_ARGS.
(save_fixed_argument_area, restore_fixed_argument_area):
conditionize by #ifdef REG_PARM_STACK_SPACE only.
(emit_call): Change #ifdefs on ACCUMULATE_OUTGOING_ARGS
to conditions, handle RETURN_POPS_ARGS on ACCUMULATE_OUTGOING_ARGS.
(precompute_register_parameters): Avoid #ifdefs on
ACCUMULATE_OUTGOING_ARGS and PUSH_ARGS_REVERSED.
(stire_one_args): Likewise.
(expand_call): Likewise; conditionize PUSH_ROUNDING code by PUSH_ARGS.
(emit_library_call_value_1): Likewise.
(compute_argument_block_size): Align to STACK_BOUNDARY only for
ACCUMULATE_OUTGOING_ARGS.
* combine.c (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default
value.
(nonzero_bits): Conditionize PUSH_ROUNDING code by USE_PUSH.
(use_crosses_set_p): Likewise.
* all targets (ACCUMULATE_OUTGOING_ARGS define): Change to
#define ACCUMULATE_OUTGOING_ARGS 1.
* i386.c (ix86_compute_frame_size): Handle ACCUMULATE_OUTGOING_ARGS
frames.
* i386.h (MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS): New
constants.
(TARGET_PUSH_ARGS, TARGET_ACCUMULATE_OUTGOING_ARGS): New macros.
(TARGET_SWITCHES): Add push-args, no-push-args,
accumulate-outgoing-args and no-accumulate-outgoing-args.
(ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): New macro.
* expr.c (ACCUMULATE_OUTGONG_ARGS, PUSH_ARGS): Provide default.
(push_block): Avoid ifdefs on ACCUMULATE_OUTGONG_ARGS
and PUSH_ROUNDING.
(emit_push_insn): Likewise.
* final.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
(final_scan_insn): Avoid ifdefs on ACCUMULATE_OUTGOING_ARGS.
* function.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
(STACK_DYNAMIC_OFFSET): Define correctly for both
ACCUMULATE_OUTGOING_ARGS and normal mode.
* invoke.texi (-mpush_args, -maccumulate-outgoing-args): Document.
* tm.texi (PUSH_ARGS): Document.
(ACCUMULATE_OUTGOING_ARGS, PUSH_ROUNDING): Update documentation.
From-SVN: r32803
2000-03-29 13:10:44 +00:00
Richard Kenner
13eb1f7f0d
expr.c (store_constructor): SIZE now signed.
...
* expr.c (store_constructor): SIZE now signed.
For EXPR_SIZE, don't evaluate size; just needed if constant.
* fold-const.c (fold): Fix a number of cases when folded tree is
wrong type.
* function.c (flush_addressof): Reenable.
* tree.h (flush_addressof): Likewise.
* toplev.c (independent_decode_option): Look at strings_processed.
* config/alpha/alpha.h (MINIMUM_ATOMIC_ALIGNMENT): Cast to unsigned.
From-SVN: r32783
2000-03-28 12:01:49 -05:00
Michael Meissner
265ae61755
Undo part of 3/21/2000 change
...
From-SVN: r32720
2000-03-24 02:05:09 +00:00
Jason Merrill
8034da37ce
rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define.
...
* config/rs6000/rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define.
* config/alpha/alpha.h (DWARF_FRAME_RETURN_COLUMN): Define.
* config/sparc/sparc.h (DWARF_FRAME_RETURN_COLUMN): Define.
* frame.h (frame_state): Revert last change.
* frame.c (execute_cfa_insn): Just don't record the save of a CFA reg.
* libgcc2.c (throw_helper): Revert last change.
From-SVN: r32705
2000-03-23 07:14:06 -05:00
Richard Henderson
ea2e5dbeca
alpha.c (function_arg): Check for void_type_node before using MUST_PASS_IN_STACK.
...
* config/alpha/alpha.c (function_arg): Check for void_type_node
before using MUST_PASS_IN_STACK.
From-SVN: r32692
2000-03-22 15:09:29 -08:00
Michael Meissner
4287843d62
Fix problems with -mno-fp-regs
...
From-SVN: r32672
2000-03-21 18:54:16 +00:00
Richard Henderson
7d89dda571
alpha.h (FUNCTION_OK_FOR_SIBCALL): New.
...
* alpha.h (FUNCTION_OK_FOR_SIBCALL): New.
* alpha.md (sibcall, sibcall_value, sibcall_epilogue): New.
(*sibcall_osf_1, *sibcall_value_osf_1): New.
From-SVN: r32613
2000-03-17 14:41:25 -08:00
Benjamin Kosnik
4ed442c915
linux.h (WCHAR_TYPE): Make consistent.
...
2000-03-09 Benjamin Kosnik <bkoz@cygnus.com>
* config/alpha/linux.h (WCHAR_TYPE): Make consistent.
From-SVN: r32462
2000-03-10 03:01:05 +00:00
Kaveh R. Ghazi
3cce094dd9
rtl.h (rtunion_def): Constify member `rtstr'.
...
* rtl.h (rtunion_def): Constify member `rtstr'.
(emit_line_note_after, emit_line_note, emit_line_note_force,
emit_note, decode_asm_operands): Constify.
* cse.c (canon_hash): Likewise.
* dbxout.c (dbxout_block): Likewise.
* diagnostic.c (file_and_line_for_asm, v_error_for_asm,
v_warning_for_asm): Likewise.
* dwarfout.c (function_start_label): Likewise.
* emit-rtl.c (emit_line_note_after, emit_line_note, emit_note,
emit_line_note_force): Likewise.
* final.c (last_filename, asm_insn_count, final_scan_insn,
output_source_line): Likewise.
* function.h (struct emit_status): Likewise.
* gcse.c (hash_expr_1): Likewise.
* genattr.c (gen_attr, main): Likewise.
* genattrtab.c (struct function_unit, current_alternative_string,
write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq,
attr_numeral, check_attr_test, check_attr_value,
convert_set_attr_alternative, convert_set_attr,
compute_alternative_mask, simplify_by_exploding, gen_attr,
gen_unit): Likewise.
* genflags.c (gen_insn): Likewise.
* gengenrtl.c (type_from_format): Likewise.
* genopinit.c (gen_insn): Likewise.
* genoutput.c (n_occurrences, process_template, process_template):
Likewise.
* ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
Likewise.
* ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
Likewise.
* ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable,
ggc_set_mark, ggc_get_size): Likewise.
* objc/objc-act.c (build_module_descriptor, finish_objc): Likewise.
* optabs.c (init_one_libfunc): Likewise.
* output.h (assemble_start_function): Likewise.
* recog.c (decode_asm_operands): Likewise.
* toplev.c (rest_of_compilation): Likewise.
* tree.h (emit_line_note_after, emit_line_note,
emit_line_note_force): Likewise.
* varasm.c (asm_output_bss, asm_output_aligned_bss,
asm_emit_uninitialised, assemble_start_function,
assemble_variable, const_hash, compare_constant_1,
find_pool_constant, mark_constant_pool, assemble_alias): Likewise.
* xcoffout.h (DBX_FINISH_SYMBOL): Likewise.
* alpha/alpha.md (call_vms, call_value_vms): Likewise.
* arm/aof.h (ASM_OUTPUT_ASCII): Likewise.
* arm/aout.h (ASM_OUTPUT_ASCII): Likewise.
* arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p,
arm_dllimport_name_p): Likewise.
* arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op):
Likewise.
* arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise.
* arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p,
arm_mark_dllexport, arm_mark_dllimport,
arm_pe_encode_section_info): Likewise.
* arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS,
ASM_FINISH_DECLARE_OBJECT): Likewise.
* arm/thumb.c (thumb_function_prologue): Likewise.
* arm/thumb.h (ASM_OUTPUT_ASCII): Likewise.
* avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.
* fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise.
* i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise.
* i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING,
ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise.
* i386/i386-protos.h (asm_output_function_prefix): Likewise.
* i386/i386.c (asm_output_function_prefix): Likewise.
* i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
* i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
* i386/sco5.h (ASM_FINISH_DECLARE_OBJECT,
ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII,
ASM_OUTPUT_SECTION_NAME): Likewise.
* i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
* i860/paragon.h (ASM_OUTPUT_ASCII): Likewise.
* i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
* m32r/m32r.c (m32r_encode_section_info): Likewise.
* mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* mcore/mcore.c (mcore_encode_section_info): Likewise.
* mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* mips/mips.h (ASM_OUTPUT_IDENT): Likewise.
* mips/mips.md (movdi, movsi): Likewise.
* mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
* ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
ASM_OUTPUT_ASCII): Likewise.
* rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog,
output_mi_thunk, output_toc): Likewise.
* rs6000/rs6000.md (movsi): Likewise.
* rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.
* tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise.
* v850/v850.c (print_operand, print_operand_address,
v850_encode_data_area): Likewise.
ch:
* grant.c (globalize_decl): Constify a char*.
cp:
* decl2.c (finish_objects): Constify a char*.
* method.c (emit_thunk): Likewise.
From-SVN: r32388
2000-03-07 20:39:10 +00:00
Richard Henderson
20a4db9854
alpha.c (alpha_emit_set_const_1): Re-order cases to prefer addition over compliments over shifts.
...
* alpha.c (alpha_emit_set_const_1): Re-order cases to prefer
addition over compliments over shifts.
From-SVN: r32315
2000-03-03 11:43:31 -08:00
Richard Henderson
e68c380c8f
* alpha.c (alpha_emit_set_const_1): Also try c + small constant.
...
From-SVN: r32304
2000-03-02 22:20:53 -08:00
Jeff Law
9ddd9abd30
Fix copyrights.
...
From-SVN: r32190
2000-02-26 13:46:13 -07:00
Richard Kenner
2eecbd3f08
alpha.h (ASM_OUTPUT_MI_THUNK): Use .set at to tell assembler it is permitted to expand large constants.
...
* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Use .set at
to tell assembler it is permitted to expand large constants.
From-SVN: r32180
2000-02-26 09:31:14 -05:00
Richard Kenner
c8d8ed65a5
bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned.
...
* bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned.
* cppinit.c (new_pending_define): Add cast to avoid warning.
* expmed.c (extract_bit_field): Likewise.
* flow.c (enum reorder_skip_type): New type.
(skip_insns_between_blcok): New it.
Rework to avoid warning about possibly undefined variable.
* function.c (assign_parms): Make thisparm_boundary unsigned.
* genrecog.c (write_switch): Cast XWINT result to int.
* lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING.
* mips-tfile.c (init_file): Make two versions of FDR intializer:
one for MIPS and one for Alpha.
(get_tag, copy_object): Add casts to avoid warnings.
* optabs.c (init_one_libfunc): Cast NAME to (char *).
* reload.c (find_reloads): Make TYPE enum reload_type.
* sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L".
* unroll.c (unroll_loop): Initialize UNROLL_NUMBER.
* varasm.c (compare_constant_1): Add cast to avoid warning.
* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC
to (char *).
(alpha_expand_unaligned_load, alpha_expand_unaligned_store):
Cast switch operand of size to int.
(alpha_expand_epilogue): Always initialize fp_offset and sa_reg.
* config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort
in unhandled case.
From-SVN: r32060
2000-02-18 20:27:00 -05:00
Richard Henderson
ee8d66f795
configure.in (alpha-linux*, [...]): Add crtbeginS.o and crtendS.o.
...
* configure.in (alpha-linux*, alpha-netbsd) [extra_parts]:
Add crtbeginS.o and crtendS.o.
* alpha/elf.h (STARTFILE_SPEC): Use crtbeginS.o.
(ENDFILE_SPEC): Use crtendS.o.
* alpha/t-crtbe (crtbeginS.o, crtendS.o): New targets.
* alpha/crtbegin.asm (__do_frame_takedown): Merge into ...
(__do_global_dtors_aux): ... here. Call __cxa_finalize if
shared and present.
(__dso_handle): New variable.
* alpha/crtend.asm (__do_global_ctors_aux): Remove runtime
bias to __CTOR_END__.
From-SVN: r32033
2000-02-17 01:47:43 -08:00
Kaveh R. Ghazi
9f8f4efee3
Makefile.in (TREE_H, [...]): Depend on version.h.
...
* Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o,
cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h.
* cccp.c: Include version.h and/or don't declare `version_string'.
* collect2.c: Likewise.
* alpha.c: Likewise.
* arm/aof.h: Likewise.
* arm/coff.h: Likewise.
* arm/elf.h: Likewise.
* arm/pe.h: Likewise.
* arm/tcoff.h: Likewise.
* arm/telf.h: Likewise.
* arm/tpe.h: Likewise.
* arm/vxarm.h: Likewise.
* convex/convex.c: Likewise.
* i386/dgux.c: Likewise.
* i386/sun386.h: Likewise.
* m88k/m88k.c: Likewise.
* mcore/mcore-pe.h: Likewise.
* mips/mips.h: Likewise.
* romp/romp.h: Likewise.
* sh/sh.c: Likewise.
* cpphash.c: Likewise.
* cppinit.c: Likewise.
* dwarf2out.c: Likewise.
* dwarfout.c: Likewise.
* gcc.c: Likewise.
* gcc.h: Likewise.
* mips-tfile.c: Likewise.
* protoize.c: Likewise.
* toplev.c: Likewise.
* tree.h: Likewise.
* version.c (version_string): Constify a char*.
* version.h: New file.
ch:
* grant.c: Don't declare `version_string'.
f:
* g77spec.c: Don't declare `version_string'.
java:
* Makefile.in (jv-scan, jcf-dump, gcjh): Depend on and link with
version.o.
(jcf-dump.o, gjavah.o, jv-scan.o): Depend on version.h.
* gjavah.c: Include version.h.
* jcf-dump.c: Likewise.
* jv-scan.c: Likewise.
From-SVN: r31984
2000-02-15 16:36:35 +00:00
Zack Weinberg
706b0f603f
recog.h: Remove NO_MD_PROTOTYPES ifdefs.
...
* recog.h: Remove NO_MD_PROTOTYPES ifdefs.
* genflags.c: Use the max_operand_1 logic from genemit.c to
calculate how many arguments gen_insn prototypes have. Remove
NO_MD_PROTOTYPES ifdefs from the generated file.
* genoutput.c: Don't define NO_MD_PROTOTYPES in the generated
file. Cast gen_insn initializers to insn_gen_fn.
* config/alpha/vms.h: Don't define NO_MD_PROTOTYPES.
* gcc.texi: Remove documentation of NO_MD_PROTOTYPES.
From-SVN: r31801
2000-02-05 04:56:11 +00:00
Richard Henderson
4d32029d61
* alpha.md (return_internal): Allow after reload only.
...
From-SVN: r31705
2000-01-30 17:16:21 -08:00
Richard Henderson
c112e233c5
alpha.c (alpha_expand_epilogue): Don't emit the return insn.
...
* alpha.c (alpha_expand_epilogue): Don't emit the return insn.
* alpha.h (EPILOGUE_USES): New. Mark $26 live.
* alpha.md (return): Turn into an expander.
(return_internal): Don't use $26.
(epilogue): Emit the return insn.
From-SVN: r31702
2000-01-30 12:27:57 -08:00
Richard Henderson
51ec054c3a
alpha.md (negtf2, abstf2): Fix word order thinko.
...
* alpha.md (negtf2, abstf2): Fix word order thinko.
(extendsftf2): New.
(trunctfsf2): Avoid intermediate rounding errors.
From-SVN: r31701
2000-01-30 12:14:40 -08:00
Richard Henderson
138eff91a2
* alpha.md (trunctfsf2): New.
...
From-SVN: r31662
2000-01-27 20:36:43 -08:00
Richard Henderson
01b9e84eb1
alpha.c (alpha_emit_conditional_move): Use VOIDmode when testing for a signed comparison.
...
* alpha.c (alpha_emit_conditional_move): Use VOIDmode when
testing for a signed comparison.
(alpha_emit_floatuns): New.
* alpha-protos.h: Declare it.
* alpha.md (floatunsdisf2, floatunsdidf2): New.
(extendsfdf2): Tidy.
From-SVN: r31643
2000-01-27 02:17:37 -08:00
Richard Henderson
628d74de0e
alpha.c (alpha_split_tfmode_pair): New.
...
* alpha.c (alpha_split_tfmode_pair): New.
* alpha-protos.h: Declare it.
* alpha.md (abstf2, negtf2): New.
(movtf insn): Add input G constraint.
(movtf splitter): Use alpha_split_tfmode_pair.
From-SVN: r31634
2000-01-26 14:08:59 -08:00
Alexandre Oliva
c77f46c67e
alpha.c (alpha_emit_xfloating_cvt): Do not assume incoming operands array is large enough for one more operand.
...
* config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume
incoming operands array is large enough for one more operand.
(alpha_emit_xfloating_arith): Likewise.
From-SVN: r31629
2000-01-26 07:57:28 +00:00
Richard Henderson
41bd3d4130
alpha.c (secondary_reload_class): Don't allocate a secondary for integral mode memories into FLOAT_REGS.
...
* alpha.c (secondary_reload_class): Don't allocate a secondary
for integral mode memories into FLOAT_REGS. Rearrange the more
complicated memory expression inward.
From-SVN: r31606
2000-01-25 02:38:41 -08:00
Richard Henderson
1eb8759b1b
rtl.def: Add unordered fp comparisions.
...
* rtl.def: Add unordered fp comparisions.
* tree.def: Likewise.
* tree.h: Add ISO C 9x unordered fp comparision builtins.
* builtins.c (expand_tree_builtin): New function.
* c-typeck.c (build_function_call): Use it.
(build_binary_op): Support unordered compares.
* c-common.c (c_common_nodes_and_builtins): Add unordered compares.
* combine.c (known_cond): Handle reverse_condition returning UNKNOWN.
(reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed.
* cse.c (fold_rtx): Check FLOAT_MODE_P before reversing.
(record_jump_equiv): Handle reverse_condition returning UNKNOWN.
* jump.c (reverse_condition): Don't abort for UNLE etc, but
return UNKNOWN.
(swap_condition): Handle unordered compares.
(thread_jumps): Check can_reverse before reversing.
* loop.c (get_condition): Likewise. Allow UNORERED/ORDERED to be
reversed for FP.
* optabs.c (can_compare_p): New argument CODE. Verify branch or
setcc is present before acking for cmp_optab. Update all callers.
(prepare_float_lib_cmp, init_optabs): Handle UNORDERED.
* expmed.c (do_cmp_and_jump): Update for can_compare_p.
* expr.c (expand_expr): Likewise. Support unordered compares.
(do_jump, do_store_flag): Likewise.
* expr.h (enum libfunc_index): Add unordered compares.
* Makefile.in (FPBIT_FUNCS): Add _unord_sf.
(DPBIT_FUNCS): Add _unord_df.
* config/fp-bit.c (_unord_f2): New.
* fp-test.c (main): Try unordered compare builtins.
* alpha-protos.h (alpha_fp_comparison_operator): Declare.
* alpha.c (alpha_comparison_operator): Check mode properly.
(alpha_swapped_comparison_operator): Likewise.
(signed_comparison_operator): Likewise.
(alpha_fp_comparison_operator): New.
(alpha_emit_conditional_branch): Handle unordered compares.
* alpha.h (PREDICATE_CODES): Update.
* alpha.md (fp compares): Use alpha_fp_comparison_operator.
(bunordered, bordered): New.
* cp/call.c (build_over_call): Use expand_tree_builtin.
* cp/typeck.c (build_function_call_real): Likewise.
(build_binary_op_nodefault): Handle unordered compares.
* gcc.c-torture/execute/ieee/fp-cmp-4.c: New.
From-SVN: r31591
2000-01-24 12:10:04 -08:00