Kazu Hirata
938d968ed3
alias.c: Fix comment formatting.
...
* alias.c: Fix comment formatting.
* c-common.c: Likewise.
* c-decl.c: Likewise.
* c-opts.c: Likewise.
* combine.c: Likewise.
* cpplib.c: Likewise.
* diagnostic.c: Likewise.
* dojump.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* gcc.c: Likewise.
* gcse.c: Likewise.
* ggc-page.c: Likewise.
* jump.c: Likewise.
* loop.c: Likewise.
* mips-tfile.c: Likewise.
* recog.c: Likewise.
* regclass.c: Likewise.
* regmove.c: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
From-SVN: r69689
2003-07-22 23:15:30 +00:00
Kaveh R. Ghazi
703ad42b4b
alias.c [...]: Remove unnecessary casts.
...
* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
genemit.c genextract.c genoutput.c genrecog.c gensupport.c
ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
postreload.c prefix.c print-tree.c protoize.c ra-build.c
ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
regmove.c regrename.c reload.c reload1.c reorg.c resource.c
sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
casts.
From-SVN: r69587
2003-07-19 14:47:15 +00:00
Jan Hubicka
9ae130f857
cfglayout.c (locator_file): Break out from ....
...
* cfglayout.c (locator_file): Break out from ....
(insn_file): ... here.
(locator_line): Break out from ....
(insn_line): ... here.
* rtl.h (locator_file, locator_line): Declare.
(final_start_function): Set proper line/file info.
From-SVN: r69359
2003-07-14 21:18:15 +00:00
Andreas Jaeger
6cf9ac2858
final.c: Convert prototypes to ISO C90.
...
* final.c: Convert prototypes to ISO C90.
* flow.c: Likewise.
* flags.h: Likewise.
From-SVN: r68760
2003-07-01 07:00:18 +02:00
Kazu Hirata
6001794def
combine.c (distribute_notes): Don't bother REG_WAS_0.
...
* combine.c (distribute_notes): Don't bother REG_WAS_0.
* cse.c (cse_insn): Likewise.
* final.c (final_scan_insn): Likewise.
* jump.c (duplicate_loop_exit_test): Likewise.
* rtl.c (reg_note_name): Remove REG_WAS_0.
* rtl.h (REG_WAS_0): Remove.
* unroll.c (final_reg_note_copy): Don't bother REG_WAS_0.
* config/avr/avr.c (output_movqi): Don't use reg_was_0.
(output_movhi): Likewise.
(output_movsisf): Likewise.
(reg_was_0): Remove.
* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use
REG_WAS_0.
(m68hc11_gen_movqi): Likewise.
* config/vax/vax-protos.h: Remove the prototype for
reg_was_0_p.
* config/vax/vax.c (follows_p): Remove.
(reg_was_0_p): Likewise.
* config/vax/vax.md (movsi): Don't use reg_was_0_p.
(movhi): Likewise.
(movqi): Likewise.
* doc/rtl.texi (REG_WAS_0): Remove.
From-SVN: r68753
2003-07-01 01:15:07 +00:00
Kazu Hirata
f9da506452
alloc-pool.c: Fix comment formatting.
...
* alloc-pool.c: Fix comment formatting.
* bitmap.c: Likewise.
* bitmap.h: Likewise.
* bt-load.c: Likewise.
* builtins.c: Likewise.
* caller-save.c: Likewise.
* cfganal.c: Likewise.
* cfgrtl.c: Likewise.
* collect2.c: Likewise.
* cse.c: Likewise.
* df.c: Likewise.
* diagnostic.c: Likewise.
* dwarf2out.c: Likewise.
* dwarfout.c: Likewise.
* expmed.c: Likewise.
* final.c: Likewise.
* flags.h: Likewise.
* fold-const.c: Likewise.
* gcc.c: Likewise.
* gcov-io.h: Likewise.
* gcov.c: Likewise.
* genattrtab.c: Likewise.
* genautomata.c: Likewise.
* libgcov.c: Likewise.
* mips-tfile.c: Likewise.
* optabs.c: Likewise.
* prefix.c: Likewise.
* rtlanal.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* toplev.c: Likewise.
* varasm.c: Likewise.
* vmsdbgout.c: Likewise.
From-SVN: r68672
2003-06-29 13:53:12 +00:00
Devang Patel
6a08f7b337
final.c (debug_flush_symbol_queue): New function.
...
* final.c (debug_flush_symbol_queue): New function.
(debug_queue_symbol): New function.
(debug_free_queue): New function.
(debug_nesting): New variable.
(symbol_queue): New variable.
(symbol_queue_index): Same.
(symbol_queue_size): Same.
* debug.h (debug_flush_symbol_queue): New.
(debug_queue_symbol): New.
(debug_free_queue): New.
(debug_nesting): New.
(symbol_queue_index): New.
* dbxout.c (DBXOUT_DECR_NESTING): New macro.
(DBXOUT_DECR_NESTING_AND_RETURN): New macro.
(dbxout_init): Delay symbol output.
(dbxout_global_decl): Save, set and reset TREE_USED bit around dbxout_symbol()
call.
(dbxout_begin_function): Same.
(dbxout_finish): Free symbol queue.
(dbxout_type): Put appropriate symbols in queue.
(dbxout_symbol): Put info for symbol's type in queue. Decrement/Increment
nesting counts flush symbol queue appropriately.
(dbxout_parms): Increment dbxout nesting.
(dbxout_reg_parms): Same.
* flags.h (flag_debug_only_used_symbols): New.
* toplev.c (flag_debug_only_used_symbols): New variable.
(lang_independent_options): Add entries for new option -feliminate-unused-debug-symbols.
* common.opt: Add entry for -feliminate-unused-debug-symbols.
* opts.c (common_handle_options): Same.
* config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as -feliminate-unused-debug-symbols.
* doc/invoke.texi (Debugging Options): Document -feliminate-unused-debug-symbols.
From-SVN: r68556
2003-06-26 20:04:40 -07:00
Kaveh R. Ghazi
85f015e120
hwint.h (HOST_WIDE_INT_PRINT, [...]): New macros.
...
* hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros.
(HOST_WIDE_INT_PRINT_DEC_SPACE,
HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
HOST_WIDEST_INT_PRINT_DEC_SPACE,
HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete.
(HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C,
HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in
terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C.
* final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT.
* ra-debug.c (dump_static_insn_cost): Likewise.
From-SVN: r68489
2003-06-25 19:33:08 +00:00
Jan Hubicka
0435312e38
cfglayout.c (insn_scope): New static function
...
* cfglayout.c (insn_scope): New static function
(block_locators_*, line_locators*, file_locators*): New static varrays.
(scope_to_insns_initialize): Use them.
(insn_line, insn_file): New functions.
(scope_to_insns_finalize): Use insn_scope.
(prologue_locator, epilogue_locator): New global variables.
* emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
make_call_insn_raw, emit_copy_of_insn_after): Use locators.
(emit_insn_after_scope, emit_insn_before_scope
emit_jump_insn_after_scope, emit_jump_insn_before_scope
emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
(emit_insn_after_setloc, emit_insn_before_setloc
emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
use locators.
* final.c (notice_source_line): Use locators.
(final_start_function): Set initial source file and line.
(final_scan_insn): Use locators.
* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
noce_process_if_block, find_cond_trap): Likewise.
* integrate.c (copy_insn_list): Likewise.
* jump.c (duplicate_loop_exit_test): LIkewise.
* print-rtl.c (print_rtx): Print locators.
* recog.c (peephole2_optimize): Likewise.
* rtl.h (INSN_SCOPE): Remove.
(emit_insn_after_scope, emit_insn_before_scope
emit_jump_insn_after_scope, emit_jump_insn_before_scope
emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
(emit_insn_after_setloc, emit_insn_before_setloc
emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
(insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
* unroll.c (copy_loop_body): Use locators.
* function.c (set_insn_locators): New function.
(thread_prologue_and_epilogue_insns): Set the locators accordingly.
From-SVN: r67637
2003-06-08 19:35:54 +00:00
Jakub Jelinek
9739c90c8d
linux.h (NO_PROFILE_COUNTERS): Define to 1.
...
* config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
* config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
* config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
* config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
* final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
(profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
* config/rs6000/rs6000.c (output_profile_hook): Likewise.
* configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
Pass it to $gcc_cv_as.
* configure: Rebuilt.
* config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
(print_operand): Allow TARGET_AIX to be non-constant.
(rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
Define unconditionally.
(rs6000_elf_declare_function_name): New function.
* config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
non-constant.
* config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
to 1.
(DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
[IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
is defined.
(TARGET_AIX): Define to 1 if TARGET_64BIT.
(PROCESSOR_DEFAULT): Remove.
(TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
[RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
(ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
-m32 and -m64.
(MULTILIB_DEFAULTS): Define.
(SUBSUBTARGET_EXTRA_SPECS): Define.
(ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
(TARGET_TOC): Define only if !RS6000_BI_ARCH.
(TARGET_NO_TOC): Remove.
[!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
TARGET_PROTOTYPE): Define to 0.
(NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
(PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
if !TARGET_64BIT.
(USER_LABEL_PREFIX): Remove.
(JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
(SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
if TARGET_64BIT.
(TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
(TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
TARGET_64BIT.
(RS6000_CALL_GLUE): Likewise.
(SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
RESTORE_FP_SUFFIX): Likewise.
(ASM_DECLARE_FUNCTION_NAME): Remove.
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
name if TARGET_64BIT.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
!TARGET_64BIT.
(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
(ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
(DRAFT_V4_STRUCT_RET): Define.
(SIGNAL_FRAMESIZE): New enum value.
(MD_FALLBACK_FRAME_STATE_FOR): Define.
* config/rs6000/default64.h: New file.
* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
options.
(SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
if !TARGET_64BIT.
[!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
(ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
function.
(TARGET_OS_SYSV_CPP_BUILTINS): Define.
(TARGET_OS_CPP_BUILTINS): Use it.
(CPP_SYSV_SPEC): Remove.
(CPP_SPEC): Remove cpp_sysv.
(SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
Add SUBSUBTARGET_EXTRA_SPECS.
(SUBSUBTARGET_EXTRA_SPECS): Define.
* config/rs6000/biarch64.h: New file.
* config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
New prototype.
* config/rs6000/x-linux64: New file.
* config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
multilibs.
* config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
* config/rs6000/eabi-cn.asm: Likewise.
* config/rs6000/tramp.asm: Likewise.
* config/rs6000/sol-ci.asm: Likewise.
* config/rs6000/sol-cn.asm: Likewise.
* config/rs6000/linux.h (TARGET_64BIT): Define to 0.
(TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
* config/rs6000/ppc-asm.h: Move __powerpc64__ section before
_CALL_AIXDESC section.
* config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
or default32.
Co-Authored-By: Alan Modra <amodra@bigpond.net.au>
From-SVN: r67442
2003-06-04 17:23:42 +02:00
Kaveh R. Ghazi
b17213394b
final.c (asm_fprintf): Update comments...
...
* final.c (asm_fprintf): Update comments, accept "-+ #0 " flags,
optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
handle %ll, optimize regular character case.
From-SVN: r67434
2003-06-04 08:34:22 +00:00
Kaveh R. Ghazi
e34d07f255
builtins.c (validate_arglist): Eliminate libiberty VA_ macros, always use stdarg.
...
gcc:
* builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
always use stdarg.
* c-errors.c (pedwarn_c99): Likewise.
* c-format.c (status_warning): Likewise.
* c-semantics.c (build_stmt): Likewise.
* calls.c (emit_library_call, emit_library_call_value): Likewise.
* collect2.c (notice, fatal_perror, fatal, error): Likewise.
* cpperror.c (cpp_error, cpp_error_with_line): Likewise.
* diagnostic.c (build_message_string, output_printf,
output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
error_with_decl, fnotice): Likewise.
* dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
dw2_asm_output_encoded_addr_rtx): Likewise.
* emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
* errors.c (warning, error, fatal, internal_error): Likewise.
* final.c (output_operand_lossage, asm_fprintf): Likewise.
* fix-header.c (fatal): Likewise.
* gcc.c (fatal, error, notice): Likewise.
* gcov.c (fnotice): Likewise.
* genattrtab.c (attr_rtx, attr_printf): Likewise.
* gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
* gensupport.c (message_with_line): Likewise.
* mips-tfile.c (fatal, error): Likewise.
* protoize.c (notice): Likewise.
* ra-debug.c (ra_debug_msg): Likewise.
* read-rtl.c (fatal_with_file_and_line): Likewise.
* rtl-error.c (error_for_asm, warning_for_asm): Likewise.
* tree.c (build, build_nt, build_function_type_list): Likewise.
cp:
* error.c (cp_error_at, cp_warning_at, cp_pedwarn_at): Eliminate
libiberty VA_ macros, always use stdarg.
* rtti.c (create_pseudo_type_info): Likewise.
* tree.c (build_min_nt, build_min): Likewise.
From-SVN: r66919
2003-05-17 22:21:35 +00:00
Richard Sandiford
d660cefe65
final.c (final_scan_insn): Apply the effects of frame-related delay slot insns before emitting a delayed...
...
* final.c (final_scan_insn): Apply the effects of frame-related
delay slot insns before emitting a delayed branch.
From-SVN: r66774
2003-05-13 18:51:57 +00:00
Kaz Kojima
5a09edba1f
final.c (shorten_branches): Align the address of code label when computing initial lengths and addresses.
...
* final.c (shorten_branches): Align the address of code label
when computing initial lengths and addresses.
From-SVN: r61803
2003-01-25 23:32:20 +00:00
Jan Hubicka
a560d4d4d9
emit-rtl.c (reg_attrs_htab): New static variable.
...
* emit-rtl.c (reg_attrs_htab): New static variable.
(reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
functions.
(reg_rtx): Do not maintain regno_decl.
(gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
set_mem_attrs_from_reg): New global function.
(init_emit): Do not initialize regno_decl.
(init_emit_once): initialize reg_attrs_htab.
* final.c (alter_subreg): Do not replace REG by SUBREG.
(gen_mem_expr_from_op): Improve output.
(output_asm_operands): Likewise.
* function.c (assign_params): Do not set REGNO_DECL.
* function.h (struct function): Kill regno_decl.
(REGNO_DECL): Kill.
* gengtype.c (adjust_field_rtx_def): Handle new field of reg.
* print_rtl.c (print_rtx): Output REG information.
* regclass.c (reg_scan_mark_refs): Update attrs.
* reload1.c (alter_reg): Likewise.
* simplify_rtx.c (simplify_subreg): Likewise.
* stmt.c (expand_decl): Likewise.
* rtl.def (REG): Add new field.
* rtl.h (struct reg_attrs): New.
(rtunion_def): At rtreg.
(X0MEMATTR): Add checking.
(X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
(set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
Declare.
* tree.h (SET_DECL_RTL): Call set_decl_rtl.
From-SVN: r61741
2003-01-24 22:45:58 +00:00
Jan Hubicka
66b4e47860
params.def (tracer-min-branch-probability-feedback): Fix default.
...
* params.def (tracer-min-branch-probability-feedback): Fix default.
* final.c (compute_alignments): Use profile to avoid code bloat.
From-SVN: r60413
2002-12-22 17:24:38 +00:00
Zack Weinberg
4977bab6ed
Merge basic-improvements-branch to trunk
...
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Kazu Hirata
09da15320b
c-decl.c: Fix a comment typo.
...
* c-decl.c: Fix a comment typo.
* cfg.c: Likewise.
* cfgcleanup.c: Likewise.
* cfglayout.c: Likewise.
* cfgrtl.c: Likewise.
* c-typeck.c: Likewise.
* dominance.c: Likewise.
* dwarf2asm.c: Likewise.
* dwarfout.c: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* flow.c: Likewise.
* function.c: Likewise.
* gcc.c: Likewise.
* genautomata.c: Likewise.
* integrate.c: Likewise.
* loop.c: Likewise.
* loop.h: Likewise.
* output.h: Likewise.
* profile.c: Likewise.
* ra.h: Likewise.
* reload1.c: Likewise.
* reload.c: Likewise.
* sched-rgn.c: Likewise.
* stmt.c: Likewise.
* tree.h: Likewise.
* vmsdbgout.c: Likewise.
From-SVN: r60085
2002-12-13 00:17:22 +00:00
Jan Hubicka
1877be457e
re PR c/7344 (performance regression on huge case statements)
...
* i386.md (movv2di_internal): New pattern.
(movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
(movv2di): New expander.
* i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
* i386.c (ix86_expand_timode_binop_builtin): Delete.
(builtin_description): Add SSE1 logicals; rename SSE2 logicals.
(ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
(ix86_expand_builtin): Likewise.
* i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
sse_andti3,
sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
sse_andnti3,
sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
sse_orti3,
sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
sse_xorti3): Kill.
(sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
(*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
*sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
(*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
*sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
* xmmintrin.h (__m128i): Define as __v2di.
PR c/7344
* predict.c (can_predict_insn_p): New function.
(estimate_probability): Avoid unnecesary work.
(process_note_prediction): Likewise.
* toplev.c (rest_of_compilation): Account early branch prediction pass
as TV_BRANCH_PROB.
PR c++/6419
(expand_expr): Use DECL_RTL_SET_P.
From-SVN: r58156
2002-10-15 08:24:36 +00:00
Jan Hubicka
92b7a2a514
final.c (final): Use symbol name as function name for profiling.
...
* final.c (final): Use symbol name as function name for profiling.
* profile.c (get_exec_counts): Likewise.
(branch_prob): Likewise.
From-SVN: r57790
2002-10-03 21:22:12 +00:00
Samuel Figueroa
8e16ab9995
Sam Figueroa's change to add ASM_OUTPUT_ALIGN_WITH_NOP.
...
From-SVN: r57261
2002-09-17 21:36:29 +00:00
Kaveh R. Ghazi
5eb99654a2
alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
...
* alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
* alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
* alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
* arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
(GLOBAL_ASM_OP): Define.
* arm.c (aof_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* c4x.c (c4x_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
* c4x.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
* darwin-protos.h (darwin_globalize_label): Declare.
* darwin.c (darwin_globalize_label): New function.
* darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
(ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
* dsp16xx.c (asm_output_common): Use target hook.
* elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
* frv.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* i370.c (i370_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
* i370.h (ASM_GLOBALIZE_LABEL): Delete.
* i386.c (ix86_asm_file_end): Use target hook.
* i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
* ia64.c (ia64_asm_output_external): Likewise.
* ia64/sysv4.h: Update comment.
* m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
* mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
* mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
* mmix-protos.h (mmix_asm_globalize_label): Delete.
* mmix.c (mmix_asm_globalize_label): Likewise.
* mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
(GLOBAL_ASM_OP): Define.
* ns32k.c (ns32k_globalize_label): New function.
* ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
(ASM_GLOBALIZE_LABEL): Delete.
* pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
(TARGET_ASM_GLOBALIZE_LABEL): Undefine.
* pa.c (pa_globalize_label): New function.
* pa.h (ASM_GLOBALIZE_LABEL): Delete.
(TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
* rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
(TARGET_ASM_GLOBALIZE_LABEL): Undef.
* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* v850.c (v850_output_aligned_bss): Use target hook.
* vax.c (vms_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
* vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* defaults.h (ASM_GLOBALIZE_LABEL): Delete.
* doc/tm.texi: Update docs.
* dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
target hook.
* final.c (output_alternate_entry_point): Likewise.
* hooks.c (hook_FILEptr_constcharptr_void): New function.
* hooks.h (hook_FILEptr_constcharptr_void): Declare.
* output.h (assemble_global): Delete.
(default_globalize_label): Declare.
* system.h (ASM_GLOBALIZE_LABEL): Poison.
* target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
(TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
* target.h (gcc_target): Add globalize_label member.
* varasm.c (asm_output_bss, asm_output_aligned_bss,
globalize_decl): Use target hook.
(assemble_global): Delete.
(default_globalize_label): New function.
From-SVN: r56478
2002-08-21 02:41:51 +00:00
Douglas B Rupp
702ada3d94
dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
...
* dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
(xcoff_debug_hooks): Update end_prologue.
* debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
* debug.h (end_prologue): Add file arg.
(end_epilogue): Add line and file args.
(dwarf2out_end_epilogue): Add line and file args.
(vmsdbgout_after_prologue): Remove.
* dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
(dwarf2_debug_hooks): Update end_prologue.
* dwarfout.c (dwarfout_end_epilogue): Add line and file args.
(dwarfout_end_prologue): Add file arg.
* final.c (vmsdbgout_after_prologue): Remove
(final_end_function): Update end_epilogue call.
(final_scan_insn): Update end_prologue call.
* sdbout.c (sdbout_end_epilogue): Add line and file args.
(sdbout_end_prologue): Add file arg.
(sdb_debug_hooks): Update end_prologue.
(sdb_begin_prologue): Update sdbout_end_prologue call.
* vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
vmsdbgout_end_function.
(vmsdbgout_end_prologue): New function renamed from
vmsdbgout_after_prologue. Call vmsdbgout_source_line.
(vmsdbgout_end_function): New function.
(vmsdbgout_end_epilogue): Add line and file args. Call
vmsdbgout_source_line.
(write_pclines): Write only valid line numbers.
(write_srccorr): Don't write source correlation records if 0 lines.
* xcoffout.c (xcoffout_end_epilogue): Add line and file args.
From-SVN: r56356
2002-08-15 19:59:29 +00:00
Nathan Sidwell
ea67fe71ed
gcc.c (cc1_options): Pass output file as auxbase when appropriate.
...
* gcc.c (cc1_options): Pass output file as auxbase when
appropriate.
* profile.c (init_branch_prob): FILENAME has already had ending
stripped.
* final.c (end_final): Likewise.
* toplev.c (aux_base_name): New global.
(compile_file): Pass aux_base_name to init init_branch_prob and
end_final.
(independent_decode_option, case 'a'): New auxinfo options.
(case 'd'): Protect against mising basename.
(do_compile): Initialize aux_base_name.
* toplev.h (aux_base_name): New global.
* doc/invoke.texi: Adjust documentation.
From-SVN: r56025
2002-08-04 16:21:02 +00:00
Zack Weinberg
905173ebdd
final.c (output_alternate_entry_point): If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
...
* final.c (output_alternate_entry_point):
If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
From-SVN: r55939
2002-08-01 18:37:38 +00:00
Zack Weinberg
0dc36574af
rtl.def (CODE_LABEL): Remove slot 8.
...
* rtl.def (CODE_LABEL): Remove slot 8.
* rtl.h (struct rtx_def): Document new uses of jump and call fields.
(LABEL_ALTERNATE_NAME): Delete.
(LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
* defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
* final.c (output_alternate_entry_point): New.
(final_scan_insn): Use it instead of
ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
of a case label being an alternate entry point.
* cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
* emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
(field deleted).
* print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
* doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
* doc/tm.texi: Delete documentation of
ASM_OUTPUT_ALTERNATE_LABEL_NAME.
From-SVN: r55597
2002-07-19 23:11:19 +00:00
Richard Henderson
df696a7573
function.h (struct function): Rename profile_label_no.
...
* function.h (struct function) [funcdef_no]: Rename profile_label_no.
(current_function_funcdef_no): Similarly.
* function.c (funcdef_no): Similarly.
(prepare_function_start): Set current_function_funcdef_no.
(expand_function_start): Don't set current_function_profile_label_no.
* dwarf2out.h (current_funcdef_number): Remove.
* dwarf2out.c (current_funcdef_number): Remove. Replace with
current_function_funcdef_no throughout.
* dwarfout.c, vmsdbgout.c: Similarly.
* except.c (sjlj_funcdef_number): Remove.
(sjlj_emit_function_enter): Use current_function_funcdef_no instead.
(output_function_exception_table): Likewise.
* final.c (profile_function): Use current_function_funcdef_no
instead of current_function_profile_label_no.
From-SVN: r54709
2002-06-17 10:47:22 -07:00
Jan Hubicka
63f4a88e28
Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
...
* cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
* final.c (final_scan_insn): Likewise.
* ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
* haifa-sched.c (unlink_other_notes): Likeewise.
(reemit_notes): Likewise.
* print-rtl.c (print_rtx): Likewise.
* sched-deps (sched-analyze): Likewise.
* rtl.c (note_insn_name): Likewise.
* rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
(enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
(RANGE_*): Kill.
From-SVN: r54250
2002-06-04 17:32:59 +00:00
Geoffrey Keating
e2500fedef
Merge from pch-branch up to tag pch-commit-20020603.
...
From-SVN: r54232
2002-06-04 07:11:05 +00:00
Jan Hubicka
0acb020356
final.c (final): Allow notes to not have computed addresses; kill no longer needed STACK_REGS ifdef.
...
* final.c (final): Allow notes to not have computed addresses;
kill no longer needed STACK_REGS ifdef.
From-SVN: r54190
2002-06-02 22:23:45 +00:00
Jan Hubicka
ba4f7968b5
loop.c (emit_prefetch_instructions): Properly place the address computation.
...
* loop.c (emit_prefetch_instructions): Properly place the address computation.
* basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
(set_block_for_insn): Turn into macro.
* cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
* cfglayout.c (insn_scopes): Kill.
(scope_to_insns_initialize): Do not use insn_scopes.
(scope_to_insns_finalize): Likewise.
(duplicate_insn_chain): Likewise.
(cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
* cfgrtl.c (basic_block_for_insn): Kill.
(delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
(create_basic_block_structure): Use reorder_insns.
(compute_bb_for_insn): Do not use basic_block_for_insn.
(merge_blocks_nomove): Likewise.
(update_bb_for_insn): Likewise.
(verify_flow_info): Likewise.
(set_block_for_insn): Kill.
* combine.c (try_combine): Update gen_rtx_INSN call.
* emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
(mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
scopes and BBs.
(add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
(emit_note_before, emit_note_after, emit_line_note_after, emit_note):
Clear BB.
(emit_insns_after): Simplify.
(emit_copy_of_insn_after): Copy scope.
* final.c (final_start_function): Lower scopes.
* flow.c (check_function_return_warnings): Do not rely on deleted insn.
* integrate.c (copy_insn_list): Cope scopes.
* jump.c (duplicate_loop_exit_test): LIkewise; simplify.
* loop.c (loop_optimize): Do not care block notes.
* print-rtl.c (print_rtx): Print BB.
* recog.c (apply_change_group): Simplify.
* rtl.c (copy_rtx): Handle 'B'.
* rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
* rtl.h (Field accessors): Update indexes.
* sched-ebb.c (schedule_ebbs): Do not lower notes.
* sched-rgn.c (schedule_insns): Likewise.
* toplev.c (rest_of_compilation): Lower notes.
* unroll.c (unroll_loop): Do not care scoping notes.
(copy_loop_body): Copy scopes.
From-SVN: r54188
2002-06-02 21:09:54 +00:00
Jakub Jelinek
9044229140
re PR other/6782 (Specifing "-fverbose-asm" option throws ICE.)
...
PR other/6782
* final.c (get_mem_expr_from_op): Return 0 if op is NULL.
* gcc.dg/verbose-asm.c: New test.
From-SVN: r53856
2002-05-24 23:40:25 +02:00
Zdenek Dvorak
e0082a7265
bb-reorder.c (make_reorder_chain, [...]): Use FOR_EACH_BB macros to iterate over basic block chain.
...
* bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
Use FOR_EACH_BB macros to iterate over basic block chain.
* cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
Likewise.
* cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
find_unreachable_blocks, create_edge_list, verify_edge_list,
remove_fake_edges, add_noreturn_fake_exit_edges,
flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
Likewise.
* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
find_sub_basic_blocks): Likewise.
* cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
Likewise.
* cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
Likewise.
* cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
Likewise.
* cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
commit_edge_insertions, commit_edge_insertions_watch_calls,
print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
* combine.c (combine_instructions, reg_dead_at_p): Likewise.
* conflict.c (conflict_graph_compute): Likewise.
* df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
df_modified_p, df_refs_unlink, df_dump): Likewise.
* dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
* final.c (compute_alignments): Likewise.
* flow.c (update_life_info, update_life_info_in_dirty_blocks,
delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
count_or_remove_death_notes): Likewise.
* gcse.c (oprs_unchanged_p, record_last_reg_set_info,
compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
classic_gcse, compute_transp, cprop, compute_pre_data,
compute_transpout, invalidate_nonnull_info,
delete_null_pointer_checks_1, delete_null_pointer_checks,
compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
compute_store_table, build_store_vectors, store_motion): Likewise.
* global.c (global_conflicts, mark_elimination): Likewise.
* graph.c (print_rtl_graph_with_bb): Likewise.
* haifa-sched.c (sched_init): Likewise.
* ifcvt.c (if_convert): Likewise.
* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
compute_available, compute_nearerout, compute_rev_insert_delete,
optimize_mode_switching): Likewise.
* local-alloc.c (local_alloc, update_equiv_regs): Likewise.
* predict.c (estimate_probability, note_prediction_to_br_prob,
propagate_freq, counts_to_freqs, expensive_function_p,
estimate_bb_frequencies): Likewise.
* profile.c (instrument_edges, get_exec_counts,
compute_branch_probabilities, compute_checksum, branch_prob,
find_spanning_tree): Likewise.
* recog.c (split_all_insns, peephole2_optimize): Likewise.
* reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
Likewise.
* regclass.c (scan_one_insn, regclass): Likewise.
* regmove.c (mark_flags_life_zones, regmove_optimize,
record_stack_memrefs): Likewise.
* regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
* reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
* resource.c (find_basic_block): Likewise.
* sched-ebb.c (schedule_ebbs): Likewise.
* sched-rgn.c (is_cfg_nonregular, build_control_flow,
find_single_block_region, find_rgns, schedule_insns)
* sibcall.c (optimize_sibling_and_tail_recursive_call)
* ssa-ccp.c (optimize_unexecutable_edges,
ssa_ccp_df_delete_unreachable_insns): Likewise.
* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
* ssa.c (find_evaluations, compute_dominance_frontiers_1,
rename_block, convert_to_ssa, compute_conservative_reg_partition,
compute_coalesced_reg_partition, rename_equivalent_regs,
convert_from_ssa): Likewise.
* config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
process_for_unwind_directive): Likewise.
* df.c (FOR_ALL_BBS): Removed.
* gcse.c (struct null_pointer_info): Type of current_block field
changed.
(struct reg_avail_info): Type of last_bb field changed.
* config/ia64/ia64.c (block_num): Removed.
(need_copy_state): Type changed.
(last_block): New.
From-SVN: r53804
2002-05-23 19:23:51 +00:00
Zdenek Dvorak
f6366fc7ad
bb-reorder.c (make_reorder_chain_1): Modified.
...
* bb-reorder.c (make_reorder_chain_1): Modified.
* cfganal.c (can_fallthru, flow_call_edges_add,
flow_preorder_transversal_compute): Modified.
* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
find_sub_basic_blocks): Modified.
* cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Modified.
* cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Modified.
* cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Modified.
* combine.c (this_basic_block): Type changed to basic_block.
(combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
nonzero_bits, num_sign_bit_copies, get_last_value_validate,
get_last_value, distribute_notes, distribute_links): Modified.
* final.c (compute_alignments): Modified.
* flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Modified.
* function.c (thread_prologue_and_epilogue_insns): Modified.
* gcse.c (compute_code_hoist_vbeinout): Modified.
* global.c (build_insn_chain): Modified.
* ifcvt.c (find_if_block, find_cond_trap): Modified.
* predict.c (last_basic_block_p, note_prediction_to_br_prob): Modified.
* regmove.c (regmove_optimize): Modified.
* resource.c (find_basic_block): Modified.
* sched-ebb.c (schedule_ebbs): Modified.
* ssa-dce.c (find_control_dependence, find_pdom): Modified.
From-SVN: r53695
2002-05-21 20:37:43 +00:00
Richard Henderson
d48bc59acf
final.c (HAVE_READONLY_DATA_SECTION): New.
...
* final.c (HAVE_READONLY_DATA_SECTION): New.
(shorten_branches): Use it instead of ifdefs.
* varasm.c (enum in_section): Add in_readonly_data.
(text_section, data_section): Tidy.
(readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
* config/darwin.h, config/nextstep.h, config/h8300/elf.h,
config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
(READONLY_DATA_SECTION): Don't undef.
* config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
* config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
* config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
* config/elfos.h, config/netware.h, config/1750a/1750a.h,
config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
config/pa/pa64-hpux.h, config/sparc/litecoff.h
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
* config/elfos.h, config/netware.h, config/svr3.h,
config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
config/h8300/h8300.h, config/i386/i386-interix.h,
config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
* config/elfos.h, config/netware.h, config/svr3.h,
config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
* config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
config/rs6000/sysv4.h, config/v850/v850.h
(EXTRA_SECTIONS): Remove in_const/in_rdata.
(EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
* config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
* config/alpha/alpha.c (alpha_start_function): Likewise.
(alpha_write_linkage): Likewise.
* config/m32r/m32r.c (m32r_select_section): Likewise.
* config/m88k/m88k.c (m88k_select_section): Likewise.
* config/mips/mips.c (mips_select_rtx_section): Likewise.
* config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
(rs6000_elf_select_section): Likewise.
* config/v850/v850.c (v850_select_section): Likewise.
* config/1750a/1750a.h, config/i860/sysv3.h
(READONLY_DATA_SECTION_ASM_OP): New.
READONLY_DATA_SECTION_ASM_OP.
* config/i386/interix.c, config/i386/winnt.c
(i386_pe_unique_section): Always use .rdata prefix.
* config/pa/som.h (readonly_data): Always switch to read-only section.
(READONLY_DATA_SECTION): Predicate on flag_pic.
* config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
* doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
(READONLY_DATA_SECTION): Update.
From-SVN: r53593
2002-05-18 12:27:52 -07:00
Kazu Hirata
dd3f010165
final.c: Fix formatting.
...
* final.c: Fix formatting.
* fix-header.c: Likewise.
* flow.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
From-SVN: r53563
2002-05-17 18:07:01 +00:00
Richard Henderson
0b17ab2f5b
Revert "Basic block renumbering removal", and two followup patches.
...
From-SVN: r53537
2002-05-16 19:31:56 -07:00
Zdenek Dvorak
355e4ec445
Basic block renumbering removal.
...
From-SVN: r53522
2002-05-16 10:34:53 -07:00
Jan Hubicka
4d604303a6
final.c (end_final): Do not output profile_arcs constructor, when no functions are instrumented.
...
* final.c (end_final): Do not output profile_arcs constructor, when
no functions are instrumented.
From-SVN: r53455
2002-05-14 10:49:21 +00:00
Richard Henderson
2292e8fc45
final.c (end_final): Tidy whitespace.
...
* final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
Convert integers constants as needed. Replace "nwords" field with
"sizeof_bb".
(final): Save profile data if cfun->arc_profile, not profile_arc_flag.
* function.h: Fix typo in comment.
* libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
From-SVN: r53374
2002-05-10 17:32:01 -07:00
Jan Hubicka
b7c9bf289f
final.c (end_final): Use C trees to output data structures for profiling.
...
* final.c (end_final): Use C trees to output data structures for profiling.
* Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
(profile.o): New dependency profile.h
(final.o): New dependency profile.h
* profile.h: New file. New global structure profile_info.
* final.h (count_edges_instrumented_now): Declare.
(current_function_cfg_checksum): Declare.
(function_list): New structure.
(functions_head, functions_tail): New static variables.
(end_final): Emits more data, removed some -ax stuff.
(final): Stores function names and chcksums.
* gcov-io.h (__write_gcov_string): New function.
(__read_gcov_string): New function.
* gcov.c (read_profile): New function.
(create_program_flow_graph): Uses read_profile instead of reading
da_file.
(read_files): Removed da_file checking, it's done by read_profile now.
* libgcc2.c (bb_function_info): New structure.
(bb): New field in structure, removed some -ax stuff.
(__bb_exit_func): Changed structure of da_file.
* profile.c (count_edges_instrumented_now): New global variable.
(current_function_cfg_checksum): New global variable.
(max_counter_in_program): New global variable.
(get_exec_counts): New function.
(compute_checksum): New function.
(instrument_edges): Sets count_edges_instrumented_now.
(compute_branch_probabilities): Uses get_exec_counts instead of
reading da_file.
(branch_prob): Calls compute_checksum and writes extra data to bbg_file.
(init_branch_prob): Removed da_file checking, done in get_exec_counts
now.
(end_branch_prob): Removed da_file checking, done in get_exec_counts
now.
* gcov.texi: Updated information about gcov file format.
Co-Authored-By: Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
From-SVN: r53326
2002-05-09 12:54:19 +00:00
Alan Modra
f6f315fe11
re PR target/6413 (PROFILE_HOOK label_no)
...
PR target/6413
* function.h: (struct function): Add profile_label_no field.
(current_function_profile_label_no): Define.
* function.c: (profile_label_no): New static var.
(expand_function_start): Increment it, and copy to
current_function_profile_label_no.
* output.h (profile_label_no): Delete.
* final.c (profile_label_no): Delete.
(profile_function): Use current_function_profile_label_no.
(final_end_function): Don't increment profile_label_no here.
* config/i386/i386.c (ix86_osf_output_function_prologue): Replace
profile_label_no with current_function_profile_label_no.
* config/pa/pa.c (current_function_number): Delete.
(pa_output_function_prologue): Don't output profile label here.
(hppa_profile_hook): Use label_no param rather than
current_function_number.
(FUNC_BEGIN_PROLOG_LABEL): Move to ..
* config/pa/pa.h: .. here.
(FUNCTION_PROFILER): Output profile label here.
From-SVN: r52656
2002-04-23 16:50:55 +09:30
Janis Johnson
2adc7f1284
rtl.h (RTX_FLAG): New macro.
...
* rtl.h (RTX_FLAG): New macro.
* emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
* final.c (alter_subreg): Use macro to access rtx flag.
* integrate.c (copy_rtx_and_substitute): Use new access macro.
* print-rtl.c (print_rtx): Use new access macro.
* cse.c (insert): Check rtx code before accessing flag.
* genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
(attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
convert_const_symbol_ref, make_canonical, make_alternative_compare,
evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
simplify_test_exp, optimize_attrs, simplify_by_exploding,
find_and_mark_used_attributes, unmark_used_attributes,
add_values_to_cover, simplify_with_current_value,
simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
copy_rtx_unchanging, main): Use new access macros.
From-SVN: r52645
2002-04-22 23:22:33 +00:00
Jakub Jelinek
15e0ecab0b
re PR c++/6119 (sparc-sun-solaris2.7 gcc-3.1 extra g++ testsuite failure w/-fpic|-fPIC)
...
PR c++/6119
* final.c (final_start_function): Don't bump profile_label_no here...
(final_end_function): ...but here.
From-SVN: r51872
2002-04-04 23:04:09 +02:00
Richard Henderson
c8b947688f
re PR rtl-optimization/190 (Optimization bug for x86 target)
...
PR opt/190
* final.c (this_is_asm_operands): Export.
* output.h (this_is_asm_operands): Declare.
* config/i386/i386.c (print_operand): Error odd asm operands.
From-SVN: r51741
2002-04-02 00:35:51 -08:00
Zack Weinberg
ba31d94ee6
emit-rtl.c, [...]: Remove all #ifndef REAL_ARITHMETIC blocks...
...
* emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
tree.c, config/m68k/m68k.c, f/com.c, f/target.h, java/expr.c,
java/jcf-parse.c, java/lex.c:
Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
REAL_ARITHMETIC blocks unconditional. Delete some further
#ifdef blocks predicated on REAL_ARITHMETIC.
* flags.h, toplev.c: Delete remaining references to
flag_pretend_float.
* doc/invoke.texi: Remove documentation of -fpretend-float.
* doc/tm.texi: Describe the various REAL_* macros as provided by
real.h, not by the target configuration files.
* config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
config/xtensa/xtensa.h:
Do not define, undefine, or mention in comments any of
REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
From-SVN: r50263
2002-03-03 21:10:09 +00:00
Graham Stott
fd478a0ad4
* final.c (output_operand_lossage): Constify PFX_STR.
...
From-SVN: r50099
2002-02-27 13:53:50 +00:00
Philipp Thomas
a52453cc42
final.c (output_operand_lossage): Changed to accept printf style arguments.
...
2002-02-17 Philipp Thomas <pthomas@suse.de>
* final.c (output_operand_lossage): Changed to accept
printf style arguments. Change calls where necessary.
* output.h (output_operand_lossage): Change declaration
accordingly. Update copyright.
* config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
Update copyright date where necessary.
* config/i386/i386.c (print_operand): Likewise. Remove use of
sprintf.
* config/cris/cris.c (cris_operand_lossage): Likewise.
Rename parameter so that exgettext recognizes it as
translatable message.
(LOSE_AND_RETURN): Rename parameter to msgid.
* po/gcc.pot: Regenerate.
From-SVN: r49820
2002-02-17 14:23:53 +00:00
Richard Henderson
fdf473ae1b
expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
...
* expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
* final.c (output_addr_const): Accept and discard SUBREG.
* varasm.c (decode_addr_const): Don't abort on unknown expressions --
mark them unknown instead.
(simplify_subtraction): Handle RTX_UNKNOWN.
(initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
* gcc.c-torture/compile/labels-3.c: New.
From-SVN: r49622
2002-02-08 14:20:16 -08:00
Richard Kenner
2c79137a49
* final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
...
From-SVN: r49503
2002-02-04 19:29:01 -05:00
William Cohen
70f4f91ca9
function.h (struct function): Add profile.
...
* function.h (struct function): Add profile.
(current_function_profile): New.
doc/extend.texi: Update documentation.
* final.c (final_start_function): Use current_function_profile
instead of profile_flag.
(profile_after_prologue): Likewise.
* function.c (expand_function_start): Likewise.
(expand_function_start): Likewise.
* config/alpha/alpha.c (direct_call_operand):
(alpha_does_function_need_gp): Likewise.
(alpha_expand_prologue): Likewise.
* config/arm/arm.c (arm_expand_prologue): Likewise.
thumb_expand_prologue: Likewise.
* config/d30v/d30v.c (d30v_stack_info): Likewise.
* config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
(fr30_expand_prologue): Likewise.
* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
* config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
* config/i386/i386.h (FINALIZE_PIC): Likewise.
* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
* config/i960/i960.c (i960_output_function_prologue): Likewise.
* config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
* config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
(m32r_expand_prologue): Likewise.
* config/m88k/m88k.c (m88k_layout_frame): Likewise.
(m88k_expand_prologue): Likewise.
* config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
* config/mips/mips.c (compute_frame_size): Likewise.
(mips_expand_prologue): Likewise.
(mips_can_use_return_insn): Likewise.
* config/pa/elf.h (ASM_FILE_START): Likewise.
* config/pa/pa-linux.h (ASM_FILE_START): Likewise.
* config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
* config/pa/som.h (ASM_FILE_START): Likewise.
* config/romp/romp.c (romp_using_r14): Likewise.
* config/rs6000/rs6000.c (first_reg_to_save): Likewise.
(rs6000_stack_info): Likewise.
* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
* config/rs6000/xcoff.h (toc_section): Likewise.
* config/v850/v850.c (compute_register_save_size): Likewise.
From-SVN: r48515
2002-01-03 17:40:07 +00:00
Eric Christopher
ff81832f59
final.c (final_scan_insn): Change 0 -> NULL_RTX in FIND_REG_INC_NOTE call.
...
2002-01-02 Eric Christopher <echristo@redhat.com>
* final.c (final_scan_insn): Change 0 -> NULL_RTX in
FIND_REG_INC_NOTE call. Update copyright.
* loop.c (canonicalize_condition): Ditto.
* reorg.c (delete_scheduled_jump): Ditto.
From-SVN: r48506
2002-01-03 09:18:22 +00:00
Richard Henderson
7687c5b8c6
* final.c (alter_subreg): Assign REGNO after changing the rtx code.
...
From-SVN: r48432
2001-12-31 13:33:36 -08:00
Graham Stott
1048f2e25d
final.c (struct bb_list): Delete.
...
* final.c (struct bb_list): Delete.
(struct bb_str): Likewise.
From-SVN: r48408
2001-12-31 03:56:16 +00:00
Richard Sandiford
301d03af8a
target.h (asm_out.byte_op, [...]): New fields.
...
* target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
asm_out.integer): New fields.
* target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
(TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
the individual initialisers together.
(TARGET_ASM_OUT): Add the new initialisers.
* output.h (assemble_integer): Return bool.
(integer_asm_op): Declare.
(default_assemble_integer): Declare.
(assemble_aligned_integer): New interface to assemble_integer.
* varasm.c (integer_asm_op): New function to select pseudo-op.
(default_assemble_integer): Default implementation of asm_out.integer.
(assemble_integer): Use the new target hook. Split objects into
words or bytes if the target hook fails. Return bool.
* doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
Document new target hooks.
* defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
* dwarf2asm.c (unaligned_integer_asm_op): Remove.
(dw2_assemble_integer): New.
(dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
dw2_asm_output_encoded_addr_rtx): Use it.
(dw2_asm_output_nstring): Use assemble_integer for the null terminator.
(dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
integer_asm_op to get the byte pseudo-op. Use assemble_integer
if it returns NULL.
* dwarf2asm.h (dw2_assemble_integer): Declare.
* dwarfout.c: Include dwarf2asm.h. Use dwarf2 functions for the
default implementation of most macros.
(output_unsigned_leb128): Use dw2_asm_output_data.
(output_signed_leb128, dwarfout_source_line): Likewise.
(output_reg_number): Use dw2_assemble_integer.
(generate_macinfo_entry): Separate the type and offset arguments.
Use assemble_integer to write the value.
(dwarfout_start_source_file): Update generate_macinfo_entry usage.
(dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
* final.c (output_addr_const): Don't put brackets round a subtracted
symbol value or ".".
* halfpic.c (half_pic_finish): Use assemble_aligned_integer.
* config/1750a/1750a.c (assemble_integer_1750a): New,
* config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
* config/arc/arc.c (arc_assemble_integer): New.
* config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
* config/arm/arm.c (arm_poke_function_name): Likewise.
(arm_assemble_integer): New, extracted from...
* config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
(ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
(ARM_FUNCTION_PROFILER): Likewise.
* config/avr/avr-protos.h (asm_output_byte): Remove.
(asm_output_char, asm_output_short): Remove.
* config/avr/avr.c (avr_assemble_integer): New.
(asm_output_byte, asm_output_char, asm_output_short): Remove.
* config/clipper/clipper.h (ASM_LONG): Remove.
* config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
* config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
* config/elxsi/elxsi.c (elxsi_assemble_integer): New.
* config/i370/i370.c (i370_hlasm_assemble_integer): New.
* config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
(ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
* config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
ASM_LONG instead of UNALIGNED_INT_ASM_OP.
* config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
ASM_LONG instead of UNALIGNED_INT_ASM_OP.
* config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
* config/i860/i860.c (i860_output_function_epilogue): Likewise.
* config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
(ASM_SHORT, ASM_LONG): Undefine.
* config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
* config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
* config/ia64/ia64.c (ia64_assemble_integer): New.
* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
(ASM_OUTPUT_DWARF_PCREL): Likewise.
* config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
(ASM_SHORT, ASM_LONG): Remove.
* config/m68k/m68k.h (INT_OP_GROUP): New macro.
(INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
macros, the allowed values for INT_OP_GROUP.
* config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
* config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
* config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
(INT_OP_GROUP): Define to INT_OP_NO_DOT.
* config/m68k/dpx2.h (ASM_LONG): Undefine.
(INT_OP_GROUP): Define to INT_OP_DC.
* config/m68k/dpx2g.h (ASM_LONG): Undefine.
* config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
* config/m68k/lynx.h (ASM_LONG): Undefine.
* config/m68k/dpx2g.h (ASM_LONG): Undefine.
* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
(TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
* config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
for GAS and INT_OP_NO_DOT otherwise.
(ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
(INT_OP_GROUP): Define to INT_OP_STANDARD.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
(ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
* config/m68k/tower-as.h (ASM_LONG): Remove.
(INT_OP_GROUP): Define to INT_OP_NO_DOT.
* config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
* config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
* config/mips/iris5.h (TARGET_IRIX5): Define.
* config/mips/mips.c (mips_assemble_integer): New.
* config/mips/sni-svr4.h (ASM_LONG): Undefine.
* config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
* config/mmix/mmix.c (mmix_assemble_integer): New.
(mmix_asm_output_double_int): Remove.
(mmix_print_operand): Call mmix_output_octa directly.
* config/mmix/mmix.h (ASM_LONG): Remove.
* config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
* config/pa/pa.c (pa_assemble_integer): New.
(pa_override_options): Only use aligned DI ops on 64-bit targets.
Only use the unaligned ops if TARGET_GAS.
* config/pdp11/pdp11.c (pdp11_assemble_integer): New.
* config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
* config/pj/pj.h (ASM_LONG): Undefine.
* config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
* config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
extracted from ASM_OUTPUT_INT in sysv4.h. Use in_text_section()
and in_toc_section() rather than the in_section variable.
(rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
* config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
(RELOCATABLE_NEEDS_FIXUP): Define.
* config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
* config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
to get the word directive.
(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/s390/s390.c (s390_assemble_integer): New.
* config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
integer_asm_op to get the word directive.
* config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
* config/sparc/sparc-protos.h (output_double_int): Remove.
* config/sparc/sparc.c (output_double_int): Move to...
(sparc_assemble_integer): ...this new function.
(sparc_override_options): Only use .uaxword if TARGET_ARCH64.
* config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
* config/sparc/sysv4.h (ASM_LONG): Remove.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
ASM_LONG.
* config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
* config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
* config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
(TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
appropriate.
* config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
From-SVN: r48101
2001-12-17 15:05:40 +00:00
Joseph Myers
d6a7951f20
ChangeLog.2, [...]: Fix spelling errors.
...
* ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
config/i370/i370.c, config/i386/i386.c,
config/i386/i386-interix.h, config/i386/i386.md,
config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
config/m32r/m32r-protos.h, config/mcore/mcore.h,
config/rs6000/rs6000.h, config/sparc/linux64.h,
config/sparc/sparc.c, config/v850/v850-protos.h,
config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
spelling errors.
From-SVN: r47815
2001-12-09 20:13:19 +00:00
Kaveh R. Ghazi
b365613798
1750a.md: Add default case in switch.
...
* 1750a.md: Add default case in switch.
* alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
if-else statement.
* dsp16xx.c (print_operand_address): Likewise.
* i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
* ia64.md: Add missing braces.
* rs6000-protos.h (s8bit_cint_operand): Prototype.
* s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
if-else statement.
* stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
* v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
* dbxout.c (dbxout_source_file): Move a variable into the scope
where it is used.
* final.c (profile_function): Mark parameter with
ATTRIBUTE_UNUSED.
* genemit.c (gen_expand): Likewise for generated file.
* insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
From-SVN: r47812
2001-12-09 16:31:53 +00:00
Richard Earnshaw
9f4524f299
final.c (cleanup_subreg_operands): Use recog_data.operand_loc in test for a subreg.
...
* final.c (cleanup_subreg_operands): Use recog_data.operand_loc
in test for a subreg.
From-SVN: r47788
2001-12-08 10:49:49 +00:00
Richard Kenner
5af0b89c0d
final.c (bb_head, [...]): Deleted; were used only by BB profiler code.
...
* final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
Deleted; were used only by BB profiler code.
(sbb_head, sbb_tail, sbb_label_num): Likewise.
(end_final): Delete now-unused vars I, PTR, and SPTR.
From-SVN: r47755
2001-12-07 07:31:06 -05:00
Jan Hubicka
8456b95a5a
final.c (count_basic_block, [...]): Kill.
...
* final.c (count_basic_block, add_bb, add_bb_string):
Kill.
(end_final, final_start_function, final, final_scan_insn,
leaf_function_p): Kill BB profiler related code.
* flags.h (profile_block_flag): Kill.
* libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
__bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
__bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
__bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
__bb_init_trace_func): Kill.
* toplev.c (profile_block_flag): Kill.
(indepdendent_decode_option, process_options): Kill -a related code.
* alpha.c (direct_call_operand): Likewise.
* arm.c (arm_expand_prologue, thumb_expand_prologue,
thumb_expand_epilogue): Likewise.
* c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
* c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
* i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
code.
(ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
* i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
* i960.c (i960_output_function_prologue): Kill BB profiler related
code.
* ia64.c (ia64_compute_frame_size): Likewise.
* ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
* m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
* m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
Kill BB profiler related code.
* m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* mips.c (mips_expand_prologue): Kill BB profiler related code.
* mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* rs6000.c (rs6000_override_options): Kill BB profiler related code.
* s960.c (s390_function_prologue): Kill BB profiler related code.
* s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* sparc.c (sparc_override_options, eligible_for_sibcall_delay,
sparc_nonflat_function_epilogue): Kill BB profiler related code.
(sparc_function_block_profiler, sparc_block_profiler,
sparc_function_block_profiler_exit): Kill.
* sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* doc/invoke.texi: Kill documentation of -a and -ax.
* tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
From-SVN: r47712
2001-12-06 11:49:46 +00:00
Neil Booth
c725bd79e7
c-decl.c (grokdeclarator): Use ISO word.
...
* c-decl.c (grokdeclarator): Use ISO word.
* cppinit.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
* diagnostic.c: Similarly.
* emit-rtl.c: Similarly.
* final.c: Similarly.
* gcc.c: Similarly.
* tradcpp.c: Similarly.
* config/arm/arm.c: Similarly.
* config/arm/arm.h: Similarly.
* config/avr/avr.c: Similarly.
* config/avr/avr.h: Similarly.
* config/c4x/c4x.c: Similarly.
* config/cris/cris.c: Similarly.
* config/cris/cris.h: Similarly.
* config/d30v/d30v.c: Similarly.
* config/dsp16xx/dsp16xx.c: Similarly.
* config/dsp16xx/dsp16xx.h: Similarly.
* config/h8300/h8300.c: Similarly.
* config/i386/i386.c: Similarly.
* config/i386/xm-djgpp.h: Similarly.
* config/i960/i960.h: Similarly.
* config/m32r/m32r.c: Similarly.
* config/m68hc11/m68hc11.c: Similarly.
* config/m88k/m88k.c: Similarly.
* config/m88k/m88k.h: Similarly.
* config/mcore/mcore.c: Similarly.
* config/mcore/mcore.h: Similarly.
* config/mips/mips.c: Similarly.
* config/mmix/mmix.c: Similarly.
* config/pa/pa.c: Similarly.
* config/rs6000/rs6000.c: Similarly.
* config/rs6000/sysv4.h: Similarly.
* config/s390/s390.c: Similarly.
* config/sparc/sparc.c: Similarly.
* config/v850/v850-c.c: Similarly.
* config/v850/v850.c: Similarly.
ch:
* actions.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
* decl.c: Similarly.
* expr.c: Similarly.
* inout.c: Similarly.
* lang.c: Similarly.
* loop.c: Similarly.
* nloop.c: Similarly.
* parse.c: Similarly.
* satisfy.c: Similarly.
* tasking.c: Similarly.
* tree.c: Similarly.
* typeck.c: Similarly.
cp:
* typeck2.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
f:
* com.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
* g77spec.c: Similarly.
* lex.c: Similarly.
java:
* expr.c: Remove leading capital from diagnostic messages, as
per GNU coding standards.
* jcf-io.c: Similarly.
* jcf-parse.c: Similarly.
* jv-scan.c: Similarly.
* jvspec.c: Similarly.
* mangle.c: Similarly.
From-SVN: r47558
2001-12-03 19:15:19 +00:00
Richard Henderson
998d7deb14
rtl.h (mem_attrs): Rename decl to expr; adjust all users.
...
* rtl.h (mem_attrs): Rename decl to expr; adjust all users.
(MEM_EXPR): Rename from MEM_DECL; adjust all users.
* emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
* expr.h, final.c, reload1.c: Adjust users.
* alias.c (nonoverlapping_component_refs_p): New.
(decl_for_component_ref, adjust_offset_for_component_ref): New.
(nonoverlapping_memrefs_p): Use them.
* emit-rtl.c (component_ref_for_mem_expr): New.
(set_mem_attributes): Use it.
(set_mem_offset): New.
* expr.c (expand_assignment): Call set_mem_attributes for
inner references; adjust the memory offset as needed.
* print-rtl.c (print_mem_expr): New.
(print_rtx): Use it.
From-SVN: r47534
2001-12-02 11:04:23 -08:00
Douglas B Rupp
7a0c8d7108
vms.h (VMS_DEBUGGING_INFO): New macro.
...
* config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
(PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
(ASM_SPEC): Don't redefine.
(OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
* config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
* config/alpha/vms-dwarf2.asm: New file.
* Makefile.in (OBJS): Add vmsdbgout.c and its rule.
* c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
* debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
(vmsdbgout_after_prologue): New declaration.
* defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
* dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
* dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
(dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
(dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
(add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
* final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
Test VMS_DEBUGGING_INFO.
(final_end_function): Test for VMS_AND_DWARF2_DEBUG.
(final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
* flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
* toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
VMS_AND_DWARF2_DEBUG.
(rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
(decode_g_option): Add "vms" to debug_type_names.
(process_options): Set vmsdbg_debug_hooks if -gvms.
(lang_independent_init): Emit line number for VMS unless -g0.
* tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
* vmsdbg.h, vmsdbgout.c: New files.
From-SVN: r47532
2001-12-02 09:38:07 -05:00
Jan Hubicka
5bc72aebcb
* final.c (walk_alter_subreg): Fix return value.
...
From-SVN: r47345
2001-11-26 13:02:16 +00:00
Alan Modra
addd7df604
final.c: (insn_lengths): Make it an int *, so that large jump tables don't overflow.
...
* final.c: (insn_lengths): Make it an int *, so that large jump
tables don't overflow.
From-SVN: r47331
2001-11-26 11:16:40 +10:30
Richard Sandiford
eac50d7a73
final.c (output_addr_const): Output PC as '.' even if !flag_pic.
...
* final.c (output_addr_const): Output PC as '.' even if !flag_pic.
* varasm.c (output_constructor): Use assemble_integer rather
than ASM_OUTPUT_BYTE.
From-SVN: r47287
2001-11-23 11:21:07 +00:00
Richard Kenner
fea54805d1
final.c (alter_subreg): If simplify_subreg can't do anything, handle REG ourselves and abort for others.
...
* final.c (alter_subreg): If simplify_subreg can't do anything,
handle REG ourselves and abort for others.
From-SVN: r47058
2001-11-15 09:58:19 -05:00
Jan Hubicka
49d801d3db
dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
...
* dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
* final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
(final_scan_insn): Update call of alter_subreg.
(cleanup_subreg_operands): Likewise.
(alter_subreg): Rewrite using simplify_subreg.
(output_address, output_operand): Update call of alter_subreg.
* output.h (alter_subreg): Update prototype.
* sdbout.c (sdbout_symbol): Update call of alter_subreg.
* simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
* Makefile.in (final.o): Add depdendancy on expr.h
From-SVN: r47013
2001-11-14 13:51:10 +00:00
Kaveh R. Ghazi
950a3816a7
alpha.c (unicosmk_special_name): Prototype.
...
* alpha.c (unicosmk_special_name): Prototype.
(unicosmk_ssib_name): Delete unused variable.
* alpha/unicosmk.h (common_section, ssib_section): Prototype.
* alpha/vms.h (PREFIX): Undef before defining.
* arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
* i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
controlling usage. Const-ify.
(alias_number): Delete unused variable.
* m32r/m32r.c (m32r_sched_init): Add missing argument.
(m32r_expand_block_move): Fix uninitialized warnings.
* mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
always true' warnings.
* openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
* sh/sh.c: Include "integrate.h".
(output_far_jump): Fix uninitialized warning.
* final.c (shorten_branches): Avoid automatic aggregate
initialization.
* integrate.c (subst_constants): Likewise.
From-SVN: r46932
2001-11-11 21:20:03 +00:00
Joseph Myers
eaec9b3d7e
ChangeLog.2, [...]: Fix spelling errors.
...
* ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
collect2.c, combine.c, config.in, configure, configure.in,
conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
spelling errors.
From-SVN: r46928
2001-11-11 11:25:28 +00:00
Jan Hubicka
2cca7283a3
final.c (*_MAX_SKIP): Use *_max_skip variables.
...
* final.c (*_MAX_SKIP): Use *_max_skip variables.
* flags.h (align_loops_max_skip, align_jumps_max_skip,
align_labels_max_skip): New global variables.
* toplev.c (align_loops_max_skip, align_jumps_max_skip,
align_labels_max_skip): New global variables.
(toplev_main): Set new variables.
* i386.c (override_options): Set max_skip values.
From-SVN: r46919
2001-11-11 00:35:31 +00:00
Geoffrey Keating
2f0b7af698
tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
...
* doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
* final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
* config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
don't print an @fptr for labels either.
(xstormy16_output_addr_vec): Don't print @fptr here.
* config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
From-SVN: r46918
2001-11-10 21:44:53 +00:00
Kaveh R. Ghazi
40cdfca60c
dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with ATTRIBUTE_UNUSED.
...
* dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
ATTRIBUTE_UNUSED.
* final.c (final_scan_insn): Add brackets around body of if-stmt.
* gcc.c (convert_filename): Add static prototype. Const-ify.
Wrap variable in macros controlling its use.
* output.h (sdata_section): Add prototype.
From-SVN: r46757
2001-11-04 02:26:55 +00:00
Richard Kenner
1285011e67
emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a constant expression.
...
* emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
constant expression.
(set_mem_decl): New function.
* expr.h (set_mem_decl): New declaration.
* final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
(output_asm_operand_names): Add tab.
* reload1.c (alter_reg): Set decl of MEM from REG_DECL.
From-SVN: r46733
2001-11-03 10:50:04 -05:00
Joseph Myers
f63d1bf775
ChangeLog.0, [...]: Fix spelling errors.
...
* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
system.h, toplev.c: Fix spelling errors.
From-SVN: r46580
2001-10-28 12:42:06 +00:00
Kaveh R. Ghazi
0df6c2c74e
c-format.c (maybe_read_dollar_number): Use safe-ctype macros and/or fold extra calls into fewer ones.
...
* c-format.c (maybe_read_dollar_number): Use safe-ctype macros
and/or fold extra calls into fewer ones.
* collect2.c (dump_file): Likewise.
* cppexp.c (parse_number): Likewise.
* cpplex.c (_cpp_lex_direct): Likewise.
* final.c (output_asm_insn, asm_fprintf): Likewise.
* fix-header.c (inf_scan_ident, main): Likewise.
* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
Likewise.
* fold-const.c (real_hex_to_f): Likewise.
* gen-protos.c (parse_fn_proto): Likewise.
* genattrtab.c (check_attr_test, check_attr_value): Likewise.
* genrecog.c (change_state, write_action): Likewise.
* gensupport.c (shift_output_template): Likewise.
* local-alloc.c (requires_inout): Likewise.
* mips-tfile.c (IS_ASM_IDENT): Likewise.
* protoize.c (is_id_char, main): Likewise.
* real.c (asctoeg): Likewise.
* recog.c (asm_operand_ok): Likewise.
* reload.c (find_reloads): Likewise.
* scan.c (scan_identget_token): Likewise.
* sched-vis.c (print_value): Likewise.
* stringpool.c (ggc_alloc_string): Likewise.
* toplev.c (read_integral_parameter, decode_g_option): Likewise.
* tradcif.y (parse_number, yylex, parse_escape): Likewise.
* tradcpp.c (rescan): Likewise.
* tree.c (clean_symbol_name): Likewise.
* varasm.c (decode_reg_name): Likewise.
* alpha.h (ASM_OUTPUT_ASCII): Likewise.
* darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
* dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
* m88k.c (output_ascii): Likewise.
* m88k.h (OVERRIDE_OPTIONS): Likewise.
* mcore.h (REG_CLASS_FROM_LETTER): Likewise.
* ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
* sh.h (REG_CLASS_FROM_LETTER): Likewise.
cp:
* xref.c (GNU_xref_member): Use safe-ctype macros and/or fold
extra calls into fewer ones.
f:
* bad.c (ffebad_finish): Use safe-ctype macros and/or fold extra
calls into fewer ones.
* implic.c (ffeimplic_lookup_): Likewise.
* intdoc.c (dumpimp): Likewise.
* intrin.c (ffeintrin_init_0): Likewise.
* lex.c (ffelex_backslash_, ffelex_cfebackslash_, ffelex_hash_):
Likewise.
* lex.h (ffelex_is_firstnamechar): Likewise.
* target.c (ffetarget_integerhex): Likewise.
java:
* gjavah.c (jni_print_char, decode_signature_piece): Use
safe-ctype macros and/or fold extra calls into fewer ones.
* lex.c (java_read_unicode, java_lex): Likewise.
* lex.h (JAVA_START_CHAR_P, JAVA_PART_CHAR_P, JAVA_ASCII_DIGIT,
JAVA_ASCII_HEXDIGIT, JAVA_ASCII_LETTER): Likewise.
* mangle_name.c (append_unicode_mangled_name,
unicode_mangling_length): Likewise.
From-SVN: r46397
2001-10-21 21:32:15 +00:00
Richard Kenner
4f9b402946
final.c (output_asm_operand_names): New fcn, from output_asm_insn.
...
* final.c (output_asm_operand_names): New fcn, from output_asm_insn.
(output_asm_insn): Call it for each line output.
Don't record an operand more than once.
From-SVN: r46377
2001-10-20 07:30:07 -04:00
Richard Kenner
c5adc06afa
final.c (get_decl_from_op): New function.
...
* final.c (get_decl_from_op): New function.
(output_asm_insn): Call it; write "*" when item with decl is address.
From-SVN: r46355
2001-10-19 15:22:20 -04:00
Richard Kenner
0d4903b81e
emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
...
* emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
(offset_address): New function.
(free_emit_status): Free regno_decl.
(init_emit): Pass proper number of elements to xcalloc.
Allocate regno_decl.
(mark_emit_status): Mark regno_decl values.
* expr.c (highest_pow2_factor): New function.
(expand_assigment): Use it and offset_address.
Properly handle ptr_mode vs. Pmode in offset calculation.
(store_constructor, expand_expr_unaligned): Likewise.
(expand_expr, case COMPONENT_EXPR): Likewise.
* expr.h (offset_address): New decl.
* function.h (struct emit_status): Add regno_decl.
(REGNO_DECL): New macro.
* final.c (output_asm_name): Move in file and don't conditionalize
on flag_print_asm_name.
(output_asm_insn): Only call output_asm_name if flag_print_asm_name.
Output names of operands, if known.
* function.c (assign_parms): Set REGNO_DECL.
* integrate.c (integrate_decl_tree): Likewise.
* stmt.c (expand_decl): Likewise.
* regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
From-SVN: r46337
2001-10-18 17:34:14 -04:00
Jakub Jelinek
8554d9a464
final.c (output_asm_insn): Make sure assembly dialects are terminated, not nested.
...
* final.c (output_asm_insn): Make sure assembly dialects are
terminated, not nested. Output `|' and `}' characters if they
don't appear inside assembly dialect selection.
* config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
strsetsi_rex_1): Add {} braces.
* testsuite/gcc.dg/20011009-1.c: New test.
From-SVN: r46227
2001-10-12 12:51:17 +02:00
Richard Henderson
4a8d0c9c68
rtl.h (REG_VTABLE_REF): New.
...
* rtl.h (REG_VTABLE_REF): New.
* rtl.c (reg_note_name): Add it.
* combine.c (distribute_notes): Handle it.
* final.c (final_scan_insn): Handle it.
* tree.def (VTABLE_REF): New.
* expr.c (expand_expr): Handle it.
* varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
* output.h: Declare them.
cp/
* class.c (build_vtable_entry_ref): Create a VTABLE_REF instead
of an asm statement.
(build_vtbl_ref_1): Split out from build_vtbl_ref.
(build_vfn_ref): Use it to handle vtable descriptors before
calling build_vtable_entry_ref.
* decl2.c (output_vtable_inherit): Use assemble_vtable_inherit.
testsuite/
* g++.old-deja/g++.other/crash18.C: Add -S to options.
From-SVN: r46195
2001-10-11 11:48:42 -07:00
Stan Shebs
b36948478c
alias.c: Remove uses of "register" specifier in declarations of arguments and local...
...
2001-10-10 Stan Shebs <shebs@apple.com>
* alias.c: Remove uses of "register" specifier in declarations
of arguments and local variables.
* c-common.c: Ditto.
* c-convert.c: Ditto.
* c-decl.c: Ditto.
* c-format.c: Ditto.
* c-semantics.c: Ditto.
* c-typeck.c: Ditto.
* caller-save.c: Ditto.
* calls.c: Ditto.
* cfg.c: Ditto.
* cfgbuild.c: Ditto.
* cfgrtl.c: Ditto.
* collect2.c: Ditto.
* combine.c: Ditto.
* convert.c: Ditto.
* cppexp.c: Ditto.
* cppfiles.c: Ditto.
* cse.c: Ditto.
* dbxout.c: Ditto.
* defaults.h: Ditto.
* df.c: Ditto.
* dwarf2out.c: Ditto.
* dwarfout.c: Ditto.
* emit-rtl.c: Ditto.
* explow.c: Ditto.
* expmed.c: Ditto.
* expr.c: Ditto.
* final.c: Ditto.
* fix-header.c: Ditto.
* floatlib.c: Ditto.
* flow.c: Ditto.
* fold-const.c: Ditto.
* function.c: Ditto.
* gcc.c: Ditto.
* gcse.c: Ditto.
* gen-protos.c: Ditto.
* genattrtab.c: Ditto.
* gencheck.c: Ditto.
* genconfig.c: Ditto.
* genemit.c: Ditto.
* genextract.c: Ditto.
* genflags.c: Ditto.
* gengenrtl.c: Ditto.
* genoutput.c: Ditto.
* genpeep.c: Ditto.
* genrecog.c: Ditto.
* gensupport.c: Ditto.
* global.c: Ditto.
* gmon.c: Ditto.
* graph.c: Ditto.
* haifa-sched.c: Ditto.
* hard-reg-set.h: Ditto.
* hash.c: Ditto.
* integrate.c: Ditto.
* jump.c: Ditto.
* lists.c: Ditto.
* local-alloc.c: Ditto.
* loop.c: Ditto.
* mips-tdump.c: Ditto.
* mips-tfile.c: Ditto.
* optabs.c: Ditto.
* prefix.c: Ditto.
* print-rtl.c: Ditto.
* read-rtl.c: Ditto.
* real.c: Ditto.
* recog.c: Ditto.
* reg-stack.c: Ditto.
* regclass.c: Ditto.
* regmove.c: Ditto.
* reload.c: Ditto.
* reload1.c: Ditto.
* reorg.c: Ditto.
* resource.c: Ditto.
* rtl.c: Ditto.
* rtlanal.c: Ditto.
* scan.c: Ditto.
* sched-deps.c: Ditto.
* sched-rgn.c: Ditto.
* sdbout.c: Ditto.
* simplify-rtx.c: Ditto.
* stmt.c: Ditto.
* stor-layout.c: Ditto.
* toplev.c: Ditto.
* tradcif.y: Ditto.
* tradcpp.c: Ditto.
* tree.c: Ditto.
* unroll.c: Ditto.
* varasm.c: Ditto.
* xcoffout.c: Ditto.
From-SVN: r46173
2001-10-11 03:16:15 +00:00
Jan Hubicka
2e10660228
* final.c (final_scan_insn): Use delete_insn instead of delete_note.
...
From-SVN: r45823
2001-09-26 11:22:35 +00:00
Jan Hubicka
ca6c03cabd
Makefile.in (cfgrtl.o): Add.
...
* Makefile.in (cfgrtl.o): Add.
* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
free_aux_for_edge): Declare.
* cfg.c
(HAVE_return): Undefine.
* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
free_aux_for_edge): New global functions.
(first_delete_block): New static variable.
(init_flow): Clear first_delete_block.
(basic_block_for_insn, label_value_list, tail_recursion_label_list,
can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
try_redirect_by_replacing_jump, last_loop_beg_note,
back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
delete_insn, delete_insn_chain, create_basic_block_structure,
create_basic_block, flow_delete_block, compute_bb_for_insn,
free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
set_block_for_new_insns, split_block, merge_blocks_nomove,
block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
redirect_edge_and_branch, force_nonfallthru_and_redirect,
force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
tidy_fallthru_edges, split_edge, insert_insn_on_edge,
commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
purge_all_dead_edges): Move to ....
* cfgrtl.c: New file; .... Here.
* bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
(reroder_basic_block): Use alloc_aux_for_blocks.
* predict.c (estimate_bb_frequencies): Likewise; use
alloc_aux_for_edges.
* profile.c (compute_branch_probabilities): Likewise.
(branch_prob): Likewise.
* reg-stack.c (reg_to_stack): Likewise.
* emit-rtl.c (emit_insns_after): Never return NULL.
* basic-block.h (set_block_for_new_insns): Delete.
* cfgrtl.c (set_block_for_new_insns): Delete.
* cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
calls when crossjumping.
* cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
* unroll.c (copy_loop_body): Use delete_insn.
* final.c (final, final_scan_insn): Use delete_insn/delete_note.
* function.c (fixup_var_refs_insn, fixup_var_refs_1,
keep_stack_depressed): Likewise.
* gcse.c (cprop_cc0_jump): Likewise.
* local-alloc.c (update_equiv_regs): Likewise.
* loop.c (scan_loop, loop_delete_insns): Likewise.
* regmove.c (try_auto_increment, fixup_match_1): Likewise.
* reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
delete_output_reload, delete_address_reloads_1,
reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
Likewise.
* sibcall.c (replace_call_placeholder): Likewise.
* cse.c (cse_insn): Likewise.
From-SVN: r45807
2001-09-25 15:26:55 +00:00
Richard Henderson
36d7136e99
final.c (final_scan_insn): Don't enter APP_ON mode for empty asm strings.
...
* final.c (final_scan_insn): Don't enter APP_ON mode for
empty asm strings.
From-SVN: r45199
2001-08-27 10:29:57 -07:00
Andreas Jaeger
7a75edb707
emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
...
* emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
* errors.c: Likewise.
* final.c: Likewise.
* dwarf2asm.c: Likewise.
* doprint.c (checkit): Likewise.
* diagnostic.c: Likewise.
* collect2.c: Likewise.
* calls.c: Likewise.
* c-semantics.c (build_stmt): Likewise.
* c-format.c (status_warning): Likewise.
* c-errors.c (pedwarn_c99): Likewise.
* builtins.c (validate_arglist): Likewise.
* config/pj/pj.c (pj_printf): Likewise.
* fix-header.c: Likewise.
* gcc.c: Likewise.
* gcov.c (fnotice): Likewise.
* gensupport.c (message_with_line): Likewise.
* mips-tfile.c: Likewise.
* protoize.c (notice): Likewise.
* read-rtl.c (fatal_with_file_and_line): Likewise.
* rtl-error.c: Likewise.
* tradcpp.c: Likewise.
* tree.c: Likewise.
* cp/tree.c (build_min_nt): Likewise.
(build_min): Likewise.
* cp/lex.c: Likewise.
* cp/errfn.c: Likewise.
* cp/rtti.c (create_pseudo_type_info): Likewise.
From-SVN: r45185
2001-08-27 08:48:43 +02:00
Matt Kraai
3e4eece35f
* final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
...
From-SVN: r45110
2001-08-22 09:29:08 -07:00
Lars Brinkhoff
1322177dbd
Makefile.in, [...]: replace "GNU CC" with "GCC".
...
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
bitmap.h, builtin-types.def, builtins.c, builtins.def,
c-aux-info.c, c-common.c, c-common.def, c-common.h,
c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
conditions.h, config.gcc, configure.frag, configure.in,
conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
emit-rtl.c, errors.c, errors.h, except.c, except.h,
exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
gencheck.c, gencodes.c, genconfig.c, genemit.c,
genextract.c, genflags.c, gengenrtl.c, genmultilib,
genopinit.c, genoutput.c, genpeep.c, genrecog.c,
gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
params.h, predict.c, predict.def, predict.h, prefix.c,
prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
regclass.c, regmove.c, regrename.c, regs.h, reload.c,
reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
xcoffout.h: replace "GNU CC" with "GCC".
From-SVN: r45105
2001-08-22 14:35:51 +00:00
Richard Henderson
340f7e7cdf
final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
...
* final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
(final_scan_insn): Consider jump tables data even if we have no
independant text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
ADDR_VEC_ALIGN.
* config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
(ASM_OUTPUT_CASE_END): Remove.
(ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
* config/ia64/ia64.md (tablejump): Decode pc-relative references.
* config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
From-SVN: r45103
2001-08-22 01:31:44 -07:00
Richard Henderson
ba7129555a
* final.c (compute_alignments): Fix typo.
...
From-SVN: r45100
2001-08-22 01:04:15 -07:00
Richard Henderson
ca8264b4b3
* final.c (end_final): Fix typo last change.
...
From-SVN: r45047
2001-08-20 00:27:32 -07:00
Jan Hubicka
247a370b4f
final.c (compute_alignments): New function.
...
* final.c (compute_alignments): New function.
(init_insn_lengths): Do not care label_align.
(LABEL_ALIGN_AFTER_BARRIER): Default to 1.
(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
(JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
(shorted_branches): Realloc label_align array; do
not call init_insn_lengths; Do not care about loop alignments.
* output.h (compute_alignments): Declare.
* toplev.c (rest_of_compilation): Call compute_alignments.
* tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
* predict.c (block_info_def): Add npredecesors, remove nvisited;
change visited to tovisit.
(propagate_freq): Use faster traversing algorithm.
(estimate_loops_at_level, estimate_bb_frequencies): Change visited
to tovisit; reverse meaning.
* predict.c (struct block_info_def): Remove nvisited.
(propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
(estimate_bb_frequencies): Call mark_dfs_back_edges.
From-SVN: r45042
2001-08-19 23:46:10 +00:00
Richard Henderson
c8af3574e3
defaults.h (UNALIGNED_SHORT_ASM_OP, [...]): Move from ...
...
* defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
* dwarf2asm.c: ... here.
* dwarfout.c: Remove them.
* varasm.c (assemble_integer): Add align parameter.
(assemble_real, output_constant, output_constructor): Likewise.
* output.h: Update decls.
* dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
Update all callers.
* final.c (end_final): Abort profile block generation if we
havn't layed it out properly.
* output.h (assemble_eh_integer): Remove stale decl.
* varasm.c (assemble_zeros): Tidy; use assemble_integer.
(min_align): New.
(assemble_integer): Handle unaligned data.
(assemble_real): Abort on unaligned data.
(output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
anything useful.
(default_dtor_section_asm_out_destructor): Use assemble_align.
(default_named_section_asm_out_constructor): Likewise.
(default_ctor_section_asm_out_constructor): Likewise.
* config/darwin.c (machopic_asm_out_constructor): Likewise.
(machopic_asm_out_destructor): Likewise.
* config/nextstep.c (nextstep_asm_out_constructor): Likewise.
(nextstep_asm_out_destructor): Likewise.
* config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
(vms_asm_out_destructor): Likewise.
* java/class.c (emit_register_classes): Add align parameter to
call to assemble_integer.
From-SVN: r44992
2001-08-17 17:53:20 -07:00
Jan Hubicka
3446405d5e
final.c: Undo my previous accidental checkin.
...
* final.c: Undo my previous accidental checkin.
* output.h: Likewise.
* tm.texi: Likewise.
From-SVN: r44960
2001-08-17 13:45:59 +00:00
Zack Weinberg
d9b6874b0c
final.c (shorten_branches): Clear the end of the label_align array only if we made it larger.
...
* final.c (shorten_branches): Clear the end of the label_align
array only if we made it larger. Break up messy expressions
for clarity.
* diagnostic.c (internal_error): Check for error recursion
before doing ICE suppression.
* timevar.c: Timing variables now count in milliseconds.
(init_timevar): Set up ticks_to_msec and clocks_to_msec here.
(get_time): Not here.
(timevar_print): Don't print any timer whose user, cpu, and
wall times are all zero as displayed.
* timevar.h: Update comment aboout units. Make timevar
counters unsigned.
From-SVN: r44948
2001-08-17 01:27:49 +00:00
Jan Hubicka
25e22dc0cb
Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
...
* function.c (put_var_into_stack): Temporarily clear DECL_RTL.
(assign_params): Avoid setting DECL_RTL to unfinished RTX.
(expand_function_start): Likewise.
* stmt.c (expand_decl): Likewise.
* varasm.c (make_decl_rtx): Likewise.
From-SVN: r44940
2001-08-16 15:41:05 +00:00
Jan van Male
b9f2270425
emit-rtl.c (adjust_address, [...]): Cast offset to unsigned HOST_WIDE_INT to avoid warning.
...
2001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
* emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
unsigned HOST_WIDE_INT to avoid warning.
* final.c (final): Cast INSN_UID to unsigned to avoid warning.
* flow.c (set_block_for_new_insns): Likewise.
From-SVN: r44724
2001-08-08 22:32:31 +02:00
Graham Stott
674fc07da0
final.c (shorten_branches): Update the INSN_ADDRESSES of insns within fixed length SEQUENCE.
...
* final.c (shorten_branches): Update the INSN_ADDRESSES of insns
within fixed length SEQUENCE.
From-SVN: r44712
2001-08-08 08:22:05 +00:00
Jan Hubicka
570a98eb7c
calls.c (expand_call): Do not emit INSN_SETJMP note.
...
* calls.c (expand_call): Do not emit INSN_SETJMP note.
(emit_library_call_value_1): Likewise.
(emit_call_1): Emit REG_SETJMP note.
* cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
of INSN_SETJMP
* cselib.c (cselib_process_insn): Likewise.
* flow.c (propagate_block): Likewise.
* loop.c (find_and_verify_loops): Likewise.
* reload.c (find_equiv_regs): Likewise.
* reload1.c (reload): Likewise.
* resource.c (mark_referenced_resources,
mark_set_resources): Likewise.
* sched-deps (sched_analyze_insn, sched_analyze): Likewise.
* final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
* haifa-sched.c (unlink_other_notes): Likewise.
(reemit_notes): Likewise.
* sched-ebb.c (sched_ebb): Likewise.
* sched-rgc.c (sched_region): Likewise.
* rtl.c (note_insn_name): Likewise.
(reg_note_name): Add REG_SETJMP
* rtl.h (reg_note): Add REG_SETJMP.
(insn_note): Remove NOTE_INSN_SETJMP.
* profile.c (branch_prob): Add fake edges for setjmp.
From-SVN: r44700
2001-08-07 20:24:08 +00:00
Richard Henderson
a20612aa8b
dwarf2out.c (dw_val_class_offset): New.
...
* dwarf2out.c (dw_val_class_offset): New.
(struct dw_ranges_struct, dw_ranges_ref): New.
(ranges_table, ranges_table_allocated): New.
(ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
(add_AT_offset, add_ranges, output_ranges): New.
(print_die, output_die): Handle dw_val_class_offset.
(attr_checksum, size_of_die, value_format): Likewise.
(gen_lexical_block_die): Handle non-contiguous blocks.
(gen_block_die): Likewise.
(dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
if needed. Dump the ranges table.
* final.c (final_start_function): Remove unnecessary notes and
rebuild the block tree before numbering the blocks.
* function.c (reorder_blocks_0): Walk the existing block tree
to unmark all blocks.
(reorder_blocks_1): Create block fragments when duplicate block
notes are seen.
(reorder_fix_fragments): New.
(reorder_blocks): Call it.
* tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
From-SVN: r44444
2001-07-28 19:10:42 -07:00