Age | Commit message (Collapse) | Author | Files | Lines |
|
2002-05-12 David S. Miller <davem@redhat.com>
* gcc.c-torture/execute/conversion.c (ldnear): Use long double
types.
From-SVN: r53407
|
|
From-SVN: r53404
|
|
* gensupport.c (n_comma_elts): Moved here from genattrtab.c.
(scan_comma_elt): New function. Accepts whitespace in comma lists.
* gensupport.h: Prototype new routines.
* genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
use of printf.
* genattrtab.c (n_comma_elts): Moved to gensupport.c.
(next_comma_elt): Use scan_comma_elt.
* config/i386/i386.md: Use new attribute notation to break up
long lines in define_attr forms.
From-SVN: r53403
|
|
* cp-lang.c (ok_to_generate_alias_set_for_type): Backend-created
structs are safe.
From-SVN: r53402
|
|
* expr.c (compress_float_constant): New.
(emit_move_insn): Use it.
(float_extend_from_mem): New.
(init_expr_once): Initialize it.
* real.c (exact_real_truncate): New.
* config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
dropped into memory; penalize for size.
(RTX_COSTS): FLOAT_EXTEND is free.
* config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
extenddfxf2, extenddftf2): Accept constants and drop them to memory.
From-SVN: r53401
|
|
* profile.h (profile_info): Add missing extern to declaration.
* profile.c (profile_info): Define it.
From-SVN: r53400
|
|
From-SVN: r53399
|
|
From-SVN: r53397
|
|
From-SVN: r53396
|
|
DImode and TImode.
* pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
used for DImode and TImode.
From-SVN: r53387
|
|
* cpplex.c (_cpp_lex_direct): When in a directive at EOF
fake a newline.
From-SVN: r53386
|
|
From-SVN: r53385
|
|
From-SVN: r53384
|
|
* i386.md (testsi to testqi spliters): New.
2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
* basic-block.h: New flag EDGE_CAN_FALLTHRU
* cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
that can be made fallthru.
Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
* cfglayout.c (cleanup_unconditional_jumps): New static function.
(cfg_layout_initialize): Use it.
Co-Authored-By: Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
From-SVN: r53383
|
|
* config/rs6000/rs6000.c (rs6000_default_long_calls,
rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
(rs6000_override_options): Handle -m(no-)longcall.
(init_cumulative_args, output_mi_thunk): Check for both
longcall and shortcall attributes on the function.
(rs6000_attribute_table): Add "shortcall".
(rs6000_handle_longcall_attribute): Update comment.
(altivec_expand_unop_builtin, altivec_expand_binop_builtin,
altivec_expand_ternop_builtin): Add default clauses to switches
to silence warnings.
* config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
(TARGET_OPTIONS): Add longcall and no-longcall.
* config/rs6000/rs6000.md (call_nonlocal_sysv,
call_value_nonlocal_sysv): Split by alternatives. One pair
accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
the call cookie. The other pair accepts only LR/CTR and has
no restriction.
* config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
tmake_file.
* config/rs6000/rs6000-c.c: New file.
* config/rs6000/t-rs6000-c-rule: New file.
* config/rs6000/rs6000-protos.c: Add multiple-include guard.
Prototype rs6000_pragma_longcall.
* doc/extend.texi: Document shortcall attribute.
* doc/invoke.texi: Document -mlongcall, -mno-longcall.
From-SVN: r53382
|
|
* config/avr/avr.c (avr_mcu_types): Update supported devices.
* config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
From-SVN: r53381
|
|
* dbxout.c: Fix formatting.
* dependence.c: Likewise.
* df.c: Likewise.
* diagnostic.c: Likewise.
* doloop.c: Likewise.
* dominance.c: Likewise.
* doschk.c: Likewise.
* dwarf2asm.c: Likewise.
* dwarf2out.c: Likewise.
* dwarfout.c: Likewise.
From-SVN: r53380
|
|
From-SVN: r53379
|
|
From-SVN: r53375
|
|
* 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
|
|
equivalent (signed char)c > 0.
* fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
into the equivalent (signed char)c > 0.
* gcc.c-torture/execute/20020510-1.c: New test case.
From-SVN: r53373
|
|
* loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
(PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
(struct prefetch_info): Fix spelling of member bytes_accessed.
(emit_prefetch_instructions): Make dump messages more regular;
restructure code to add more dump messages; use new macros for
heuristics. (There are no code generation changes in any of this).
From-SVN: r53371
|
|
2002-05-10 David S. Miller <davem@redhat.com>
* rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
(struct rtx_def): Update unchanging flag comment.
* doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
* reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
to be handled to INSN too.
(dbr_schedule): Likewise.
* resource.c (next_insn_no_annul): Likewise.
From-SVN: r53370
|
|
2002-05-10 David S. Miller <davem@redhat.com>
* cse.c (rtx_cost): Remove multiplication by power of 2 special
casing.
From-SVN: r53369
|
|
2002-05-10 David S. Miller <davem@redhat.com>
* gcc.c-torture/execute/conversion.c: Test long double too.
From-SVN: r53368
|
|
subdirs.
* config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
. as N64/N32 libgcc_s.so subdirs.
From-SVN: r53366
|
|
2002-05-10 David S. Miller <davem@redhat.com>
* config/sparc/sparc.md: Use define_constants for unspec numbers.
From-SVN: r53364
|
|
From-SVN: r53362
|
|
2002-05-09 David S. Miller <davem@redhat.com>
* rtl.h (struct rtx_def): Document unchanging and in_struct flags
more accurately.
(INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
comment.
(INSN_FROM_TARGET_P): Valid also for CALL_INSN.
* doc/rtl.texi: Document these macros more accurately.
* recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
JUMP_INSNs and CALL_INSNs.
* resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
or INSN_FROM_TARGET_P if the code is appropriate.
From-SVN: r53360
|
|
SYMBOL_REF_FLAG (addr).
* config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
before using SYMBOL_REF_FLAG (addr).
* config/avr/avr-protos.h (avr_io_address_p): Declare.
* config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
Make non-static. Update all callers.
* config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
New insns to clear/set/test a single bit in I/O address space.
From-SVN: r53359
|
|
From-SVN: r53358
|
|
From-SVN: r53352
|
|
* athlon.md, k6.md, pentium.md, ppro.md): New files.
* i386.md: Move scheduling information into new files.
From-SVN: r53350
|
|
* Makefile.in: Update.
* c-common.c (flag_iso, flag_undef, cb_register_builtins,
builtin_define_std): New.
(c_common_init): Register CPP builtins callback.
* c-common.h (flag_iso, flag_undef): New.
* c-decl.c (c_decode_option): Set flag_iso and flag_undef.
* c-lex.c: Don't include target.h.
(cb_register_builtins): Move to c-common.c.
(init_c_lex): Don't register hook here.
* c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
(cpp_define, cpp_assert): Remove.
* gcc.c (cc1_options): Pass -undef to front end.
* target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
(TARGET_INITIALIZER): Update.
* target.h (struct cpp_reader): Don't predeclare.
(struct gcc_target): Remove cpp builtin hook.
* tree.c (default_register_cpp_builtins): Remove.
cp:
* cp-tree.h (flag_ansi): Remove.
* decl2.c (flag_ansi): Remove.
(cxx_decode_option): Set flag_iso and flag_undef.
doc:
* tm.texi: Update.
From-SVN: r53349
|
|
From-SVN: r53348
|
|
* config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
(SHLIB_LINK, SHLIB_INSTALL): Adjust.
From-SVN: r53347
|
|
* config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
* config/sparc/libgcc-sparc-glibc.ver: New file.
* config/cris/t-linux (SHLIB_MAPFILES): Remove.
* mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
From-SVN: r53346
|
|
PR target/6429
* Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
* mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
base multilibs.
* config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
* config/i386/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
* config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
* config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
* lib/g77.exp (g77_link_flags): Append all multilib dirs containing
libgcc_s*.so.1 below gcc object dir to LD_LIBRARY_PATH.
* lib/g++.exp (g++_link_flags): Likewise.
* lib/objc.exp (objc_target_compile): Likewise.
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Append all
multilib dirs containing libgcc_s*.so.1 below gcc object dir to
LD_LIBRARY_PATH.
* testsuite/lib/libjava.exp (libjava_arguments): Append all
multilib dirs containing libgcc_s*.so.1 below gcc object dir to
LD_LIBRARY_PATH.
From-SVN: r53345
|
|
* config/ia64/ia64.md: Use define_constants for unspec numbers.
* config/ia64/ia64.c: Likewise.
From-SVN: r53344
|
|
* config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
(save_restore_insns): Likewise.
(mips_expand_prologue, mips_expand_epilogue): Update callers.
(highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
From-SVN: r53341
|
|
* i386.md (type attribute): Add "rotate" for rotate insns.
(rotate insns): Set type to "rotate".
(various attributes and function units): Treat rotate like shift.
(pent_pair attribute): Only rotates by one bit position are
pairable.
(sbb insns): Explicitly set pent_pair attribute on a couple
that were missing it.
From-SVN: r53338
|
|
* sh.c (sh_builtin_saveregs): If starting with an odd fp register,
make sure that buffer starts on odd word address.
(sh_va_arg): Skip odd fp registers when reading a double precision
value.
From-SVN: r53337
|
|
* typeck.c (get_member_function_from_ptrfunc): Reorganize.
Use subtraction rather than a bitmask to get the index.
* cvt.c (cp_convert_to_pointer): Bail on an error_mark_node.
* pt.c (tsubst_expr) [ASM_STMT]: Copy ASM_INPUT_P.
From-SVN: r53335
|
|
* tree.h (preserve_data, object_permanent_p, type_precision):
Remove.
From-SVN: r53334
|
|
* cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
* cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
doc:
* cpp.texi: Update for removal of obsolete features.
testsuite:
* gcc.dg/cpp/poison.c: Update.
* gcc.dg/cpp/20000625-2.c: Remove.
* gcc.dg/cpp/direct2s.c: Remove final test.
From-SVN: r53333
|
|
From-SVN: r53332
|
|
* 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.
From-SVN: r53330
|
|
* i386.c (ia32_use_dfa_pipeline_interface): New function. Use
the DFA interface for Pentium processors.
(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
(attr_pent_pair, ix86_pent_find_pair): Remove.
(ix86_sched_reorder_pentium): Remove.
(ix86_sched_reorder): Remove reordering for Pentium.
* i386.md (Pentium scheduling): Rewrite using DFA description.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r53329
|
|
to force_to_mode bug)
Forgot to commit long long ago. See my message to gcc-patches from
Mar 28 :-) Testcase for PR 3311.
From-SVN: r53328
|
|
* cfganal.c (can_fallthru): Fix fast path.
* cfgrtl.c (verify_flow_info): Avoid crash on conditionals
with edges to the next block.
From-SVN: r53327
|