Age | Commit message (Collapse) | Author | Files | Lines |
|
* gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
* flow.c (set_block_for_new_insns): Remove needless cast and
properly check for unset block number.
From-SVN: r41227
|
|
* class.c (find_final_overrider_data): Add `candidates'.
(dfs_find_final_overrider): Don't issue error messages
prematurely.
(find_final_overrider): Issue error messages here.
(build_base_field): Don't warn about amgibuous direct bases here.
(warn_about_ambiguous_direct_bases): New function.
(layout_class_type): Use it.
From-SVN: r41224
|
|
and COND_EXPR.
* typeck.c (build_array_ref): Push the array reference inside
COMPOUND_EXPR and COND_EXPR.
From-SVN: r41223
|
|
From-SVN: r41222
|
|
From-SVN: r41218
|
|
was a hard register.
2001-04-10 Andrew MacLeod <amacleod@redhat.com>
* function.c (purge_single_hard_subreg_set): Only check REGNO if
the subreg was a hard register. Pseudos are left as subregs.
From-SVN: r41217
|
|
2001-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
(LIB2ADD_ST): New macro, pass it to mklibgcc.
* mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
(libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
* config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
From-SVN: r41215
|
|
2001-04-09 Bo Thorsen <bo@suse.co.uk>
* config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
From-SVN: r41211
|
|
2001-04-09 Andrew MacLeod <amacleod@redhat.com>
* output.h (set_block_num): Missed it earlier, remove deprecated
prototype.
From-SVN: r41210
|
|
2001-04-09 Andrew MacLeod <amacleod@redhat.com>
* gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
(load_killed_in_block_p): Change bb parameter from int to basic_block.
(oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
(handle_rd_kill_set): Change bb parameter from int to basic_block.
(compute_kill_rd): Pass basic_blocks instead of ints as parameters.
(expr_killed_p): Change bb parameter from int to basic_block, pass
basic_blocks instead of ints as parameters.
(compute_ae_kill): Pass basic_blocks instead of ints as parameters.
(expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
from int to basic_block, pass basic_blocks instead of ints as parms.
(pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
parameter from int to basic_block, pass basic_blocks instead of ints.
(process_insert_insn): Pass basic_blocks instead of ints as parameters.
(insert_insn_end_bb): Change bb parameter from int to basic_block,
pass basic_blocks instead of ints.
(pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
basic_blocks instead of ints as parameters.
(pre_delete): Pass basic_blocks instead of ints as parameters.
(hoist_expr_reaches_here_p): Change bb parameter from int to
basic_block, pass basic_blocks instead of ints.
(hoist_code): Pass basic_blocks instead of ints as parameters.
(reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
Change bb parameter from int to basic_block.
(build_store_vectors): Pass basic_blocks instead of ints as parameters.
(insert_insn_start_bb): Change bb parameter from int to basic_block,
pass basic_blocks instead of ints.
(insert_store): Pass basic_blocks instead of ints as parameters.
(replace_store_insn, delete_store): Change bb parameter from int to
basic_block, pass basic_blocks instead of ints.
(store_motion): Pass basic_blocks instead of ints as parameters.
From-SVN: r41209
|
|
2001-04-09 Andrew MacLeod <amacleod@redhat.com>
* basic-block.h (set_new_block_for_insns): New Prototype.
(set_block_num): Delete prototype.
* flow.c (set_block_num): Remove obsolete function.
(set_block_for_new_insns): Set BB for single or multiple insns.
* gcse.c (handle_avail_expr): Use set_block_for_new_insns.
(process_insn_end_bb): Use set_block_for_new_insns or
set_block_for_insn instead of set_block_num.
(pre_insert_copy_insn): Use set_block_for_new_insns.
(update_ld_motion_stores): Use set_block_for_new_insns.
(insert_insn_start_bb): Use set_block_for_new_insns.
(replace_store_insn): Use set_block_for_new_insns.
From-SVN: r41208
|
|
2001-04-09 Andrew MacLeod <amacleod@redhat.com>
Jeff Law <law@cygnus.com>
* alias.c (get_addr): Externalize.
(canon_true_dependence): New function. Behaves like true_dependance
except it already assumes a MEM has been canonicalized.
* flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
* gcse.c (struct ls_expr): Add load/store expressions structure.
(modify_mem_list, canon_modify_mem_list): New variable.
(gcse_main): Initialize & finalize alias analysis. Use enhanced
load motion and store motion if requested.
(alloc_gcse_mem): Allocate space for modify_mem_list array.
(free_gcse_mem): Free the modify_mem_list array.
(oprs_unchanged_p): Use load_killed_in_block_p.
(gcse_mems_conflict_p, gcse_mem_operand): New variables.
(mems_conflict_for_gcse_p): New function. Don't kill loads
with stores to themselves if its in the load/store expression list.
(load_killed_in_block_p): New function.
(canon_list_insert): New Function.
(record_last_mem_set_info): Keep a list of all instructions which
can modify memory for each basic block.
(compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
(oprs_not_set_p): Use load_killed_in_block_p.
(mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
(expr_killed_p): Use load_killed_in_block_p.
(compute_transp): Do not pessimize memory references.
(pre_edge_insert): Update stores for a load motion expression.
(one_pre_gcse_pass): Check loads/stores for extra load motion.
(ldst_entry): Find or create a ldst_expr structure.
(free_ldst_entry): Free memory for an individual item.
(free_ldst_mems): Free entire load/store expression list.
(print_ldst_list): Print debug info.
(find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
(enumerate_ldsts): Assign integer values to each entry in list.
(first_ls_expr): First expression in the list.
(next_ls_expr): Next expression in the list.
(simple_mem): Check if expression qualifies for ld/st expression list.
(invalidate_any_buried_refs): Remove from expression list if its
used in some other way we dont understand.
(compute_ld_motion_mems): Find all potential enhanced load motion
expression.
(trim_ld_motion_mems): Remove any expressions which are invalid.
(update_ld_motion_stores): Copy store values to registers for loads
which have been moved.
(regvec, st_antloc, num_store): New global statics.
(reg_set_info): Marks registers as set.
(store_ops_ok): Verfies registers expressions are valid in a block.
(find_moveable_store): Look for moveable stores in a pattern.
(compute_store_table): Find stores in a function worth moving, maybe.
(load_kills_store): Check dependance of a load and store.
(find_loads): Find any loads in a pattern.
(store_killed_in_insn): Check if a store is killed in an insn.
(store_killed_after): Check is store killed after an insn in a block.
(store_killed_before): Check is store killed before an insn in a block.
(build_store_vectors): Generate the antic and avail vectors.
(insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
(insert_store): Add a store to an edge.
(replace_store_insn): Replace a store with a SET insn.
(delete_store): Delete a store insn.
(free_store_memory): Free memory.
(store_motion): Perform store motion.
* invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
* rtl.h (get_addr, canon_true_dependence): Add prototypes.
* toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
(f_options): Add gcse-lm and gcse-sm.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r41207
|
|
* i386.c (expand_fp_movcc): Fix condition reversal code.
* i386.c (ix86_register_move_cost): Fix handling of reformating penalty
* i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
(CLASS_MAX_NREGS): Use it.
* i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
handle properly complex values.
(CLASS_MAX_NREGS): Likewise; update comment.
From-SVN: r41206
|
|
(oops. only checked in ChangeLog previously)
* config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete function.
Remove include of sys/cygwin.h.
From-SVN: r41205
|
|
From-SVN: r41204
|
|
* i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
Do not require source to match destination anymore;
Add abort to the nontrivial cases that should be handled by split.
(fix_trunc?fdi): Add SSE case for x86_64.
(floatdi?f): Likewise.
(floatdi?f_sse): New.
(fix_trunc?fdi_sse): New.
From-SVN: r41203
|
|
* dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
(DEBUG_ARANGES_END_LABEL): Ditto.
(dwarfout_init): Generate length and version fields at the start
of the .debug_aranges info. Insert DEBUG_ARANGES_BEGIN_LABEL
after the length field.
(dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
the .debug_aranges info.
From-SVN: r41202
|
|
proper second operand.
* i386.c (call, call_value): Make sure that resulting call_insn
does have proper second operand.
From-SVN: r41201
|
|
From-SVN: r41200
|
|
* config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete function.
Remove include of sys/cygwin.h.
From-SVN: r41197
|
|
* config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
(CPP_SPEC): Always search */include/w32api for header files.
(ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
(LINK_SPEC): Add "cyg" to the library search prefixes.
From-SVN: r41196
|
|
2001-04-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.c-torture/compile/20010408-1.c: New test.
From-SVN: r41193
|
|
2001-04-08 Philip Blundell <philb@gnu.org>
* config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
From-SVN: r41191
|
|
* cpperror.c (print_location): Don't special case <stdin>.
(_cpp_begin_message): Handle WARNING_SYSHDR the same as
WARNING, but we don't check if we're in system headers.
* cpplib.h (enum error_type): WARNING_SYSHDR: New.
* cpplib.c (do_warning): Warn in system headers.
From-SVN: r41186
|
|
From-SVN: r41185
|
|
From-SVN: r41182
|
|
* config.gcc: Set default for xmake_file at top, not bottom.
Change places that set xmake_file to "none" to set to the
empty string instead, or remove them entirely if there is no
default xmake_file for this cpu_type. Remove references to
deleted files.
* config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
Delete.
* config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
config/mips/x-sysv, config/rs6000/x-aix31:
Just set CLIB to -lld or -lmld, as appropriate.
* config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
config/mips/x-iris, config/pa/x-pa:
Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
OTHER_FIXINCLUDES_DIRS.
* config/i386/x-djgpp: Don't set LN or LN_S.
* config/m88k/x-dolph: Don't define __m88k__.
* config/m88k/x-tekXD88: Don't set AR_FLAGS.
* config/pa/x-pa-mpeix: Just set up quadlib.asm.
* config/i860/fx2800.h: No need to #undef SVR4.
38 x-host fragments remain, 2 x-cpu.
From-SVN: r41181
|
|
2001-04-06 Tom Tromey <tromey@redhat.com>
Alexandre Petit-Bianco <apbianco@redhat.com>
Fix for PR gcj/1404 and PR gcj/2332:
* parse.y (build_array_from_name): If we use the type_wfl then
accumulate dimensions from the original type as well.
(build_unresolved_array_type): Don't modify TYPE_OR_WFL in place.
Co-Authored-By: Alexandre Petit-Bianco <apbianco@redhat.com>
From-SVN: r41178
|
|
From-SVN: r41175
|
|
2001-04-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
* c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
From-SVN: r41173
|
|
2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
* g++.old-deja/g++.benjamin/15071.C (main): Update to conformant
headers and constructs.
* g++.old-deja/g++.robertl/eb79.C: Same.
* g++.old-deja/g++.robertl/eb77.C (main): Same.
* g++.old-deja/g++.robertl/eb73.C: Same.
* g++.old-deja/g++.robertl/eb66.C (main): Same.
* g++.old-deja/g++.robertl/eb55.C (t): Same.
* g++.old-deja/g++.robertl/eb54.C (main): Same.
* g++.old-deja/g++.robertl/eb46.C (main): Same.
* g++.old-deja/g++.robertl/eb44.C: Same.
* g++.old-deja/g++.robertl/eb41.C (main): Same.
* g++.old-deja/g++.robertl/eb4.C (main): Same.
* g++.old-deja/g++.robertl/eb39.C: Same.
* g++.old-deja/g++.robertl/eb33.C (main): Same.
* g++.old-deja/g++.robertl/eb31.C (main): Same.
* g++.old-deja/g++.robertl/eb30.C: Same.
* g++.old-deja/g++.robertl/eb3.C: Same.
* g++.old-deja/g++.robertl/eb24.C (T>): Same.
* g++.old-deja/g++.robertl/eb21.C: Same.
* g++.old-deja/g++.robertl/eb15.C: Same.
* g++.old-deja/g++.robertl/eb118.C: Same.
* g++.old-deja/g++.robertl/eb115.C (main): Same.
* g++.old-deja/g++.robertl/eb113.C (streambuf): Same.
* g++.old-deja/g++.robertl/eb109.C: Same.
* g++.old-deja/g++.other/sibcall1.C (main): Same.
* g++.old-deja/g++.mike/rtti1.C: Same.
* g++.old-deja/g++.mike/p658.C: Same.
* g++.old-deja/g++.mike/net46.C: Same.
* g++.old-deja/g++.mike/net34.C: Same.
* g++.old-deja/g++.mike/memoize1.C: Same.
* g++.old-deja/g++.mike/eh2.C: Same.
* g++.old-deja/g++.law/weak.C: Same.
* g++.old-deja/g++.law/visibility7.C: Same.
* g++.old-deja/g++.law/visibility25.C: Same.
* g++.old-deja/g++.law/visibility22.C: Same.
* g++.old-deja/g++.law/visibility2.C: Same.
* g++.old-deja/g++.law/visibility17.C: Same.
* g++.old-deja/g++.law/visibility13.C: Same.
* g++.old-deja/g++.law/visibility10.C: Same.
* g++.old-deja/g++.law/visibility1.C: Same.
* g++.old-deja/g++.law/virtual3.C (eval): Same.
* g++.old-deja/g++.law/vbase1.C: Same.
* g++.old-deja/g++.law/operators32.C: Same.
* g++.old-deja/g++.law/nest3.C: Same.
* g++.old-deja/g++.law/missed-error2.C (foo): Same.
* g++.old-deja/g++.law/except5.C (main): Same.
* g++.old-deja/g++.law/cvt7.C (run): Same.
* g++.old-deja/g++.law/cvt2.C: Same.
* g++.old-deja/g++.law/cvt16.C: Same.
* g++.old-deja/g++.law/ctors6.C (bar): Same.
* g++.old-deja/g++.law/ctors17.C (main): Same.
* g++.old-deja/g++.law/ctors13.C: Same.
* g++.old-deja/g++.law/ctors12.C (main): Same.
* g++.old-deja/g++.law/ctors10.C: Same.
* g++.old-deja/g++.law/code-gen5.C: Same.
* g++.old-deja/g++.law/bad-error7.C: Same.
* g++.old-deja/g++.law/arm9.C: Same.
* g++.old-deja/g++.law/arm12.C: Same.
* g++.old-deja/g++.law/arg8.C: Same.
* g++.old-deja/g++.law/arg1.C: Same.
* g++.old-deja/g++.jason/typeid1.C (struct foo): Same.
* g++.old-deja/g++.jason/template31.C: Same.
* g++.old-deja/g++.jason/template24.C (main): Same.
* g++.old-deja/g++.jason/2371.C: Same.
* g++.old-deja/g++.eh/new2.C: Same.
* g++.old-deja/g++.eh/new1.C: Same.
* g++.old-deja/g++.brendan/ptolemy2.C: Same.
* g++.old-deja/g++.brendan/nest21.C (main): Same.
* g++.old-deja/g++.brendan/err-msg3.C: Same.
* g++.old-deja/g++.brendan/crash62.C: Same.
* g++.old-deja/g++.brendan/crash52.C: Same.
* g++.old-deja/g++.brendan/crash49.C (main): Same.
* g++.old-deja/g++.brendan/crash38.C: Same.
* g++.old-deja/g++.brendan/crash15.C (main): Same.
* g++.old-deja/g++.brendan/copy9.C: Same.
From-SVN: r41167
|
|
From-SVN: r41166
|
|
METHOD_EXPR is nonzero.
* parse.y (analyze_clinit_body): Return true if the second operand
of a METHOD_EXPR is nonzero.
From-SVN: r41164
|
|
* Make-lang.in ($(srcdir)/java/parse-scan.c): Run bison from build
directory.
($(srcdir)/java/parse.c): Likewise.
From-SVN: r41162
|
|
* gcc.c-torture/execute/20001203-2.c (main):
Count argument is of type __SIZE_TYPE__.
From-SVN: r41153
|
|
* configure.in: Add check for lstat.
* configure, config.in: Regenerate.
* cppinit.c (append_include_chain): Make empty path ".".
* cpplib.c (do_line): Don't simplify #line paths.
* cppfiles.c (remove_component_p): New function.
(find_or_create_entry): Acknowledge stat () errors during
path simplification.
(handle_missing_header): Don't simplify paths.
(_cpp_simplify_pathname): Don't simplify VMS paths. Return
the empty path untouched. Don't leave a trailing '/'.
From-SVN: r41148
|
|
From-SVN: r41146
|
|
* cp-tree.h (DECL_THIS_INLINE): Rename to DECL_DECLARED_INLINE_P.
* decl.c (duplicate_decls): Adjust accordingly.
(maybe_commonize_var): Likewise.
(grokfndecl): Likewise.
(start_function): Likewise.
(start_method): Likewise.
* decl2.c (key_method): Likewise.
(import_export_decl): Likewise.
* method.c (implicitly_declare_fn): Likewise.
* optimize.c (maybe_clone_body): Likewise.
From-SVN: r41144
|
|
2001-04-05 Benjamin Kosnik <bkoz@redhat.com>
* lang-specs.h: Add __DEPRECATED.
From-SVN: r41142
|
|
2001-04-05 Benjamin Kosnik <bkoz@redhat.com>
* lang-specs.h: Add __GXX_DEPRECATED.
From-SVN: r41141
|
|
2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
* cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
* Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
From-SVN: r41140
|
|
NOENT set.
* cppfiles.c (open_file): Fail directories silently, but
with an errno of NOENT set.
(read_include_file): Move the common exit code to the sole
caller. Return an int indicating success or failure. Let
open_file handle directories.
(stack_include_file): If read_include_file fails,
push a "null" buffer.
From-SVN: r41138
|
|
2001-04-05 Alexandre Petit-Bianco <apbianco@redhat.com>
* gcj.texi: Use `which-gcj' instead of `which-g77.'
(version-gcc): Initialized.
(which-gcj): Likewise.
(http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00333.html)
From-SVN: r41133
|
|
2001-04-04 Alexandre Petit-Bianco <apbianco@redhat.com>
* java-tree.h (struct lang_decl): New macro
`DECL_FIXED_CONSTRUCTOR_P.' New field `fixed_ctor.'
* parse.y (build_instance_initializer): New function.
(add_instance_initializer): Use it.
(java_fix_constructors): Set `current_class' before fix pass.
(fix_constructors): Just return if already fixed. Move `super()'
invokation ahead. Use `build_instance_initializer.'
Fixes PR java/1315.
(http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00343.html)
From-SVN: r41129
|
|
* function.h (virtuals_instantiated): Declare.
* function.c: (virtuals_instantiated): Make global.
* calls.c (emit_library_call_value_1): Use
virtual_outgoing_args_rtx only if it hasn't been instantiated.
Otherwise, use the stack pointer directly.
From-SVN: r41127
|
|
`not_accessible_p.'
2001-04-04 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (resolve_qualified_expression_name): Pass field's
DECL_CONTEXT to `not_accessible_p.'
(not_accessible_p): Changed parameters order in `inherits_from_p'
invokation.
(http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00326.html)
From-SVN: r41126
|
|
2001-03-27 Andrew Haley <aph@cambridge.redhat.com>
* lang-options.h: Add flag_check_references.
From-SVN: r41124
|
|
* i386.c (x86_initialize_trampoline): New global function.
* i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
(INITIALIZE_TRAMPOLINE): Move offline.
* i386-protos.h (x86_initialize_trampoline): Declare.
From-SVN: r41123
|
|
* i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
(lea_0): Rename to lea_1.
(lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
(lea_general_?): Allow SImodes on TARGET_64BIT
(lea_general_?_zext): New patterns.
(call_1, call_1_rex64): Fix.
From-SVN: r41122
|
|
From-SVN: r41121
|