sched-deps.c (reg_pending_barrier_mode): New enumeration.
2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
* sched-deps.c (reg_pending_barrier_mode): New enumeration.
(reg_pending_barrier): Make it of the enumeration type.
(sched_analyze_2): Define the barrier as MOVE_BARRIER or
TRUE_BARRIER.
(sched_analyze): Ditto.
(sched_analyze_insn): Ditto. Use anti-dependencies for
MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
(init_deps_global): Initialize the barrier as NO_BARRIER.
* config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
Check that asm insn starts on a new cycle. Add nops after asm
insn to end bundle.
(bundling): Move insn type evaluation from the loop. Call
issue_nops_and_insn with the new parameter. Ignore changing
position for nops after asm insn.
optabs.c: Comment that gen_add2_insn and others may actually return emitted insns...
* optabs.c: Comment that gen_add2_insn and others may actually
return emitted insns, if the gen functions turn out to return
emitted insns.
* reload1.c (reload_cse_move2add): Cope with emitted insns from
gen_add2_insn.
Nick Clifton [Wed, 9 Apr 2003 15:14:23 +0000 (15:14 +0000)]
install.texi: Note that ARM toolchains need binutils 2.13 or newer.
* doc/install.texi: Note that ARM toolchains need binutils 2.13 or newer.
* config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa instead of -mno-fpu.
* config/arm/semi.h (ASM_SPEC): Likewise.
* config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
but only if -msoft-float is specified pass. Otherwise pass -mfpu=softvfp.
Roger Sayle [Tue, 8 Apr 2003 23:28:28 +0000 (23:28 +0000)]
fold-const.c (fold): Use "fold" following build in more places.
* fold-const.c (fold): Use "fold" following build in more places.
Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
Roger Sayle [Tue, 8 Apr 2003 23:24:38 +0000 (23:24 +0000)]
builtins.c (fold_builtin): Constant fold expressions as x*0.5 instead of x/2.0.
* builtins.c (fold_builtin): Constant fold expressions as x*0.5
instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
Delete function scope "fcode" variable to avoid shadowing.
* gcc.dg/builtins-9.c: New test case.
* gcc.dg/builtins-10.c: New test case.
reorg.c (fill_slots_from_thread): When considering changing the insn following a reg-to-reg copy insn to use the...
* reorg.c (fill_slots_from_thread): When considering changing the
insn following a reg-to-reg copy insn to use the source reg of the
copy, bail out if there's overlap between the registers.
* function.c (postponed_insns): New.
(purge_addressof_1): Postpone processing of insns if addressofs
are not put into stack.
(purge_addressof): Process postponed insns.
sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD, this is FP_MODE_DOUBLE .
* sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
this is FP_MODE_DOUBLE .
* sh.c (ra.h): #include.
(push_regs): Add second parameter. Changed all callers.
If necessary, set fpscr before saving floating point registers.
(calc_live_regs): If interrupt handler and TARGET_FMOVD, always
do saves / restores with SZ == 1.
(sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
(sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
registers are being restored, restore FPSCR only after restoring them.
rs6000.c (rs6000_init_builtins): Set opaque types regardless of architecture.
2003-04-08 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
regardless of architecture.
(spe_init_builtins): Change V2SI and V2SF types to opaque types.
Jan Hubicka [Tue, 8 Apr 2003 09:14:06 +0000 (11:14 +0200)]
i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the GOTOFF operand.
* i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
GOTOFF operand.
(legitimize_pic_address): Move plus outside the unspec.
* i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
for validity.
Matt Kraai [Tue, 8 Apr 2003 06:39:15 +0000 (06:39 +0000)]
install.texi: Use @command and @samp for single- and multi-word commands respectively.
* doc/install.texi: Use @command and @samp for single- and
multi-word commands respectively.
* doc/makefile.texi: Likewise.
* doc/sourcebuild.texi: Likewise.
rs6000.c (rs6000_common_init_builtins): Rename all V2SI_type_node to opaque_V2SI_type_node.
2003-04-07 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
V2SI_type_node to opaque_V2SI_type_node. Rename all
V2SF_type_node to opaque_V2SF_type_node.
(rs6000_init_builtins): Define opaque_V2SI_type_node and
opaque_V2SF_type_node.
(is_ev64_opaque_type): The types opaque_V2SI_type_node and
opaque_V2SF_type_node are opaque types.
Jan Hubicka [Mon, 7 Apr 2003 12:36:59 +0000 (14:36 +0200)]
re PR rtl-optimization/10024 ([HP-PA] inline optimization ICE)
PR opt/10024
* cfglayout.c (cfg_layout_redirect_edge):
Redirect any branch edges unified with the fallthru one.
* cfgrtl.c (force_nonfallthru_and_redirect): Do not special
case fallthru edges when called via cfglayout.c
Aaron M. Renn [Mon, 7 Apr 2003 12:25:08 +0000 (12:25 +0000)]
2003-04-07 Aaron M. Renn (arenn@urbanophile.com)
* java/io/ObjectStreamException
* java/io/FileFilter
* java/io/FilenameFilter
* java/io/ObjectInput
* java/io/ObjectOutput
* java/io/ObjectStreamConstants
Minor doc fixes, format fixes, spelling corrections, etc.
* java/io/DataInput
Corrected code samples in Javadocs to match reality
* java/io/DataOutput
* java/io/ObjectInputValidation
Major documentation fixes - all Javadocs re-written or updated
invoke.texi: Eliminate extra white-space caused by @gccoptlist{ on its own line.
* doc/invoke.texi: Eliminate extra white-space caused by
@gccoptlist{ on its own line.
* doc/invoke.texi: Ensured there are two spaces between each option.
* doc/invoke.texi: Re-wrapped option lines that were too wide.
Added @gol to options that didn't have them.
* tree.c (tree_size): For all 'c' and 'x' nodes, look directly
at the sizes of the relevant structures, rather than relying
on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
sizes of any such we don't know about. Use
lang_hooks.identifier_size for IDENTIFIER_NODE.
(initializer_zerop): Use CONSTRUCTOR_ELTS.
* tree.def: Update commentary. Make fourth element of
the definition for all 'c' and 'x' nodes zero.
* langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
* langhooks-def.h: Update to match.
* langhooks.c: New default, lhd_tree_size.
ada:
* ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
* misc.c (gnat_tree_size): New function.
(LANG_HOOKS_TREE_SIZE): Override.
cp:
* cp-tree.def: Make fourth element for all 'c' and 'x' nodes zero.
* cp-lang.c (cp_tree_size): New function.
(LANG_HOOKS_TREE_SIZE): Override.
* call.c: Include intl.h.
(print_z_candidate): Always use inform; get rid of errfn
argument. Reorganize so that all the strings get picked up
by xgettext. Note obligation of caller to pass first argument
through gettext.
(print_z_candidates): Update to match. Indent second and
successive candidates by strlen() of translated message.
(joust): Restructure ambiguous-conversion pedwarn so that
translators see a complete sentence. Update calls to
print_z_candidate.
Steven Bosscher [Sun, 6 Apr 2003 21:44:09 +0000 (21:44 +0000)]
hashtable.c (gcc_obstack_init): Delete this function and everything related to it.
2003-04-06 Steven Bosscher <steven@gcc.gnu.org>
* hashtable.c (gcc_obstack_init): Delete this function
and everything related to it.
* hashtable.h: Remove prototype.
* bitmap.c (bitmap_element_allocate): Cleanup redundant
defines. Cleanup some unnecessary whitespace.
* defaults.h (obstack_chunk_alloc): Redefine with
appropriate casts for libiberty obstacks.
(obstack_chunk_free): Ditto.
(OBSTACK_CHUNK_SIZE): Define, default to 0.
(gcc_obstack_init): Define as a call to _obstack_begin.
* tree.c (print_obstack_statistics): Delete this unused
function.
* tree.h (obstack): Don't forward-declare.
(print_obstack_statistics): Delete prototype.
(print_obstack_name): Ditto.
(gcc_obstack_init): Ditto.
* rtl.h (gcc_obstack_init): Ditto.
* java/jv-scan.c (gcc_obstack_init): Delete this
function, its prototype and related defines.
* java/jvgenmain.c (gcc_obstack_init): Delete this
function, and related defines.
* java/parse-scan.y (obstack_chunk_alloc): Don't define.
(obstack_chunk_free): Ditto
Daniel Berlin [Sat, 5 Apr 2003 20:13:20 +0000 (20:13 +0000)]
Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
2003-04-05 Daniel Berlin <dberlin@dberlin.org>
* Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
* df.c: Include alloc-pool.h, not obstack.h.
(df_ref_obstack): Remove.
(df_ref_pool, df_link_pool): Add pools.
(df_alloc): Init the new pools.
(df_free): And free them.
(df_link_create): Use the pools.
(df_ref_create): Ditto.
Joel Brobecker [Fri, 4 Apr 2003 22:34:52 +0000 (22:34 +0000)]
dbxout.c (dbxout_type): When printing type index of range type whose bounds are printed in octal format...
* dbxout.c (dbxout_type): When printing type index of range type
whose bounds are printed in octal format, print type of parent type if
it exists so enumerated type descriptions are not transformed
into unsigned types.
h8300-protos.h: Add a prototype for compute_a_shift_cc.
* config/h8300/h8300-protos.h: Add a prototype for
compute_a_shift_cc.
* config/h8300/h8300.c (shift_one): Update the CC status.
(shift_two): Likewise.
(output_a_shift_cc): Set cc_inline and cc_special.
(compute_a_shift_cc): New.
* config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
contrib.texi (Contributors): Add entries for Wolfgang Bangerth...
* doc/contrib.texi (Contributors): Add entries for Wolfgang
Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
Danny Smith, and Ulrich Weigand.
Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
entry.
Nick Clifton [Fri, 4 Apr 2003 10:38:50 +0000 (10:38 +0000)]
(expand_prologue): Only use register save helper functions if long calls are not being used.
(expand_prologue): Only use register save helper functions if long calls are
not being used.
Add a clobber of r11 id using long calls.
(prolog pattern): Do not use this pattern for v850e's.
Matt Austern [Thu, 3 Apr 2003 21:00:56 +0000 (21:00 +0000)]
cpppch.c (reset_ht): Remove.
* cpppch.c (reset_ht): Remove.
(cpp_read_state): Remove loop to reset hashtable identifiers.
* ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
after pch file is written.
* ggc.h (gt_pch_fixup_stringpool): Declare.
* stringpool.c (ht_copy_and_clear): Define. Callback. Copy
hashnode's value to another hashtable, then clear the original.
(saved_ident_hash): Define.
(gt_pch_save_stringpool): Create saved_ident_hash, use it to
store definitions in ident_hash, and clear ident_hash.
(gt_pch_fixup_stringpool): Define. Restore definitions from
saved_ident_hash to ident_hash, then destroy saved_ident_hash.
Eric Botcazou [Thu, 3 Apr 2003 19:20:06 +0000 (21:20 +0200)]
re PR rtl-optimization/10157 ([Sparc] internal compiler error: in extract_insn, at recog.c:2188)
PR optimization/10157
* gcse.c (can_copy_p): Rename it to can_copy.
(can_copy_init_p): Remove.
(compute_can_copy): Use can_copy instead of can_copy_p.
(can_copy_p): New exported function. Call compute_can_copy.
(hash_scan_set): Use it.
(gcse_main): Don't call compute_can_copy.
(bypass_jumps): Don't call compute_can_copy.
* rtl.h (can_copy_p): Declare.
* loop.c (scan_loop): Don't move the source and add a reg-to-reg
copy if the mode doesn't support copy operations.