Age | Commit message (Collapse) | Author | Files | Lines |
|
* config/cris/cris.h (CRIS_ASSERT): New macro.
* config/cris/cris.md ("*movsi_internal"): Use CRIS_ASSERT and
internal_error instead of abort.
("movsi"): Ditto. Unquote preparation statement section.
* config/cris/cris.c (ASSERT_PLT_UNSPEC): Define in terms of
CRIS_ASSERT.
("call", "call_value"): Ditto, but use gcc_assert where
appropriate. Tweak comments.
(cris_op_str): Call internal_error, not abort.
(cris_print_operand): Tweak "abort" reference to "die" in comment.
(cris_initial_elimination_offset): Call gcc_unreachable, not abort.
(cris_notice_update_cc): Call internal_error, not abort.
(cris_expand_return, cris_expand_prologue, cris_gen_movem_load)
(cris_emit_movem_store, cris_asm_output_symbol_ref)
(cris_output_addr_const_extra): Use CRIS_ASSERT, don't call abort.
(cris_symbol, cris_got_symbol): Use CRIS_ASSERT instead of
ENABLE_CHECKING-guarded abort call.
(cris_split_movdx): Use CRIS_ASSERT instead of abort with test.
Use internal_error at end of test-chain.
From-SVN: r99669
|
|
account.)
PR rtl-optimization/20769:
* bt-load.c (compute_defs_uses_and_gen): Check for the blockage
pattern emitted by expand_nl_goto_receiver.
PR middle-end/20793:
* integrate.c (allocate_initial_values): Update register liveness
information.
From-SVN: r99668
|
|
From-SVN: r99666
|
|
* config/mips/mips.h (processor_type): Add new PROCESSOR_4KP
name.
* config/mips/mips.c: Add 4km alias.
* config/mips/mips.md: Add 4kp to cpu attrib and include 4k.md.
* config/mips/4k.md: New file, add 4Kc/4Kp DFA pipeline
description.
From-SVN: r99664
|
|
2005-05-13 Paul Brook <paul@codesourcery.com>
* trans-stmt.c (gfc_trans_forall_1): Fix comment typo.
From-SVN: r99660
|
|
function" when...
* c-decl.c (finish_function): Suppress "control reaches end of
non-void function" when "no return statement in function
returning non-void" is issued.
From-SVN: r99659
|
|
* gcc.dg/builtins-43.c: Use gimple dump instead of generic.
* gcc.dg/fold-xor-?.c: Likewise.
* gcc.dg/pr15784-?.c: Likewise.
* gcc.dg/pr20922-?.c: Likewise.
* gcc.dg/tree-ssa/20050128-1.c: Likewise.
* gcc.dg/tree-ssa/pr17598.c: Likewise.
* gcc.dg/tree-ssa/pr20470.c: Likewise.
* tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
* tree-optimize.c (pass_gimple): Kill.
(init_tree_optimization_passes): Kill pass_gimple.
* tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
* tree-dump.c (dump_files): Rename .generic to .gimple.*
From-SVN: r99658
|
|
left out)
PR rtl-optimization/20756:
* basic-block.h (PROP_DEAD_INSN): Define.
* flow.c (propagate_one_insn): Set during mark_set_regs call
for a dead insn.
(mark_set_1): Emit a clobber when we are about to delete a dead insn
that kills a live register.
From-SVN: r99657
|
|
From-SVN: r99656
|
|
left out)
PR rtl-optimization/20756:
* basic-block.h (PROP_DEAD_INSN): Define.
* flow.c (propagate_one_insn): Set during mark_set_regs call
for a dead insn.
(mark_set_1): Emit a clobber when we are about to delete a dead insn
that kills a live register.
From-SVN: r99655
|
|
2005-05-13 Adrian Straetling <straetling@de.ibm.com>
* config/s390.md: ("DBL"): New mode attribute.
("*movmem_long_64", "*movmem_long_31"): Merge to "*movmem_long".
("*clrmem_long_64", "*clrmem_long_31"): Merge to "*clrmem_long".
("*cmpmem_long_64", "*cmpmem_long_31"): Merge to "*cmpmem_long".
From-SVN: r99654
|
|
&"string"[offset].
2005-05-14 Richard Guenther <rguenth@gcc.gnu.org>
* c-format.c (check_format_arg): Handle string literals of
the form &"string"[offset].
* g++.dg/warn/format4.C: New testcase.
From-SVN: r99652
|
|
* config/mips/3000.md, config/mips/4000.md,
config/mips/4100.md, config/mips/4300.md, config/mips/4600.md,
config/mips/5000.md, config/mips/7000.md, config/mips/9000.md,
config/mips/generic.md, config/pdp11/pdp11.md,
config/sh/crt1.asm, config/sh/lib1funcs.asm,
config/sh/sh-modes.def, config/sh/sh-protos.h,
config/sh/shmedia.md, config/sh/ushmedia.h: Update copyright.
From-SVN: r99647
|
|
2005-05-12 Bryce McKinlay <mckinlay@redhat.com>
* include/jvm.h (gcj::verifyClasses): Declare.
* link.cc (gcj::verbose_class_flag): Moved.
* prims.cc (gcj::verifyClasses): Define here.
(gcj::verbose_class_flag): Move definition here.
(_Jv_Linker::wait_for_state): Don't call verify_class
if gcj::verifyClasses is not set.
* gij.cc (main): Set gcj::verifyClasses when '-noverify' is given.
2005-05-12 Aaron Luchko <aluchko@redhat.com>
* gij.cc (main): Recognize '-verify', '-noverify', and
'-verifyremote'
2005-05-12 Aaron Luchko <aluchko@redhat.com>
* gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
From-SVN: r99646
|
|
[[Split portion of a mixed commit.]]
From-SVN: r99640.2
|
|
move unless dest is a register.
* function.c (instantiate_virtual_regs_in_insn): Do not simplify
addition to move unless dest is a register. Do not skip
instantiation in dest on addition simplification.
From-SVN: r99637
|
|
for output...
* config/cris/cris.c (cris_print_operand) <case 'H'; case
CONST_INT>: Use operand_subword and HOST_WIDE_INT_PRINT_DEC for
output; don't have special case for HOST_BITS_PER_WIDE_INT == 32.
From-SVN: r99635
|
|
* basic-block.h (FOR_ALL_BB_FN): New macro.
(init_flow): Initialize cfg structure.
* function.c (allocate_struct_function): Do not initialize cfg structure.
* tree-cfg.c (init_empty_tree_cfg): Break out from ...
(build_tree_cfg): ... here.
* tree-flow.h (init_empty_tree_cfg): Declare.
From-SVN: r99633
|
|
operand)
Fix PR tree-optimization/21520
* tree-ssa-pre.c (phi_translate): Use fully_constant_expression
to attempt to fold constants.
From-SVN: r99632
|
|
* config/sh/sh.c: Declare the prototype of sh_adjust_unroll_max
only when TARGET_ADJUST_UNROLL_MAX is defined.
(general_movsrc_operand): Use the C style comment.
(ua_offset): Use prototype.
From-SVN: r99631
|
|
* tree-ssa-loop-im.c (struct mem_ref): Add field "next".
(struct hmr_data, hoist_memory_reference, memref_del,
struct fmrv_data): Removed.
(hoist_memory_references, free_mem_ref, free_mem_refs): New functions.
(gather_mem_refs, gather_mem_refs_stmt): Add new references to the
list.
(find_more_ref_vops): Traverse the list of memory references.
(determine_lsm_loop): Work with the list of memory references instead
of traversing the hashtable.
From-SVN: r99627
|
|
implementation removed with RTL inliner.
* except.c (duplicate_eh_region_1, duplicate_eh_region_2,
duplicate_eh_regions): New functions, based on old
implementation removed with RTL inliner.
(reachable_next_level): Modify behaviour pre-inline.
* except.h (duplicate_eh_regions_map, duplicate_eh_regions):
Declare.
* function.h (struct function): Add after_inlining flag.
* tree-optimize.c (tree_rest_of_compilation): Set it.
* tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
when needed.
* tree-cfg.c (label_to_block_fn): Deal with cases where
label was never insterted into code.
Co-Authored-By: Jan Hubicka <jh@suse.cz>
Co-Authored-By: Stuart Hastings <stuart@apple.com>
From-SVN: r99625
|
|
libcpp:
* directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
(do_sccs): Delete function definition, #define to do_ident.
(do_ident): Don't hardwire directive name.
gcc:
* doc/cpp.texi: Document that #sccs is a synonym for #ident.
From-SVN: r99623
|
|
From-SVN: r99621
|
|
2005-05-12 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/21532
* tree-ssa-pre.c (create_expression_by_pieces): stmt
needs to go onto the inserted_exprs list.
From-SVN: r99617
|
|
./: * c-common.h (statement_code_p): Don't declare.
(STATEMENT_CODE_P): Don't define.
(INIT_STATEMENT_CODES): Don't define.
* c-common.c (statement_code_p): Don't define.
cp/:
* cp-tree.h (cp_stmt_codes): Don't define.
(statement_code_p): Declare.
(STATEMENT_CODE_P): Define.
* lex.c (statement_code_p): Define.
(cxx_init): Use actual codes in stmt_codes initializer, not
cp_stmt_codes macro. Initialize statement_code_p directly, rather
than using INIT_STATEMENT_CODES.
From-SVN: r99615
|
|
* config/sparc/sparc.h: Remove dead code.
* config/sparc/sparc.c (sparc_compute_frame_size): Use
FIRST_PARM_OFFSET for the size of the register window area.
(emit_save_regs): Rename into emit_save_or_restore_regs.
Add 'action' parameter. Use 4095 as upper bound for the offset.
Pass 'action' to save_or_restore_regs.
(emit_restore_regs): Delete.
(sparc_expand_prologue): Call emit_save_or_restore_regs.
(sparc_expand_epilogue): Likewise.
* config/sparc/sparc.md (mode macro P): Move.
(movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
(mov<V32:mode> expander): Move to the top of the V32 section.
(movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
(movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
(sibcall_epilogue): Move.
From-SVN: r99609
|
|
PR target/21501
* arm.c (arm_gen_constant): Sign-extend intermediate values when
synthesizing a constant of the difference of two immediates.
From-SVN: r99608
|
|
* arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
(negdf2_vfp): Likewise. Convert to define_insn_and_split and split
the alternatives using integer registers into the appropriate
primitives.
From-SVN: r99607
|
|
2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>
* bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
bitmap_elt_clear_from, bitmap_clear): Changed freelist structure.
* bitmap.h: Fixed comments.
From-SVN: r99605
|
|
gcc/java:
* gcj.texi (Code Generation): Document -fbootstrap-classes.
* decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
(parse_version): Use it.
* lang.opt (-fbootstrap-classes): New option.
libjava:
* external/w3c_dom/Makefile.in: Rebuilt.
* external/w3c_dom/Makefile.am (libw3c_gcj_la_GCJFLAGS): Added
-fbootstrap-classes.
* external/sax/Makefile.in: Rebuilt.
* external/sax/Makefile.am (libsax_gcj_la_GCJFLAGS): Added
-fbootstrap-classes.
* java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Declare as
friend.
* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
Call _Jv_CopyClassesToSystemLoader.
* java/lang/natClassLoader.cc (system_class_list): New global.
(_Jv_RegisterClassHookDefault): Handle bootstrap and system
classes differently.
(_Jv_CopyClassesToSystemLoader): New function.
(SYSTEM_LOADER_INITIALIZED): New define.
* include/jvm.h (GCJ_BOOTSTRAP_LOADER_ADDITION): New define.
(_Jv_CheckABIVersion): Use it.
(_Jv_ClassForBootstrapLoader): New function.
* Makefile.in: Rebuilt.
* Makefile.am (AM_GCJFLAGS): Added -fbootstrap-classes.
From-SVN: r99604
|
|
[[Split portion of a mixed commit.]]
From-SVN: r99602.2
|
|
fortran/
PR fortran/21260
* io.c (check_format): Look for literal characters inside
hollerith constant.
testsuite/
PR fortran/21260
* gfortran.dg/hollerith_1.f90: New test.
From-SVN: r99597
|
|
PR target/21412
* config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
(ia64_cannot_force_const_mem): New.
(tls_symbolic_operand_type): New.
(ia64_legitimate_constant_p): New.
(ia64_expand_load_address): Return true on success. Improve
checks for when we should not split.
(ia64_expand_tls_address): New addend operand. Distribute it
as appropriate to the tls_kind. Delay referencing gp.
(ia64_expand_move): Split symbolic addend as necessary. Handle
tls symbols with addends.
* config/ia64/ia64-protos.h: Update.
* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
p0, f0, f1, and r13.
(LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
* config/ia64/ia64.md (UNSPEC_DTPMOD): New.
(symbolic_operand splitter): Pass everything through
ia64_expand_load_address and FAIL or DONE as appropriate.
(load_fptr): Only accept after reload.
(load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
load_symptr_low, load_ltoff_dtpmod,
(load_dtpmod): New.
(load_dtprel): Only accept tls symbols.
(load_dtprel64, load_dtprel22): Likewise.
(load_tprel, load_tprel64, load_tprel22): Likewise.
(load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
(add_dtprel): Only accept tls symbols. Canonicalize PLUS.
(add_dtprel14, add_dtprel22): Likewise.
(add_tprel, add_tprel14, add_tprel22): Likewise.
* config/ia64/predicates.md (small_addr_symbolic_operand): New.
(any_offset_symbol_operand, aligned_offset_symbol_operand): New.
(got_symbolic_operand): Check CONST offsets.
(tls_symbolic_operand, ld_tls_symbolic_operand): New.
(ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
(move_operand): Don't handle tls here. Check CONST offsets.
From-SVN: r99596
|
|
* config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
Remove hilo_operand check.
(rm7_impy_si_mul): Just match imul3. Remove hilo_operand check.
* config/mips/predicates.md (hilo_operand): Delete.
From-SVN: r99592
|
|
From-SVN: r99591
|
|
GOTO_EXPR)
PR tree-optimizer/18472
* tree-if-conv.c (tree_if_convert_stmt,
if_convertible_modify_expr_p): Don't handle GOTO_EXPR.
From-SVN: r99588
|
|
From-SVN: r99586
|
|
* Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
(GTFILES): add except.h.
* except.c (eh_status): Add throw_stmt_table.
(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions.
* except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn,
lookup_stmt_eh_region_fn): Declare.
(throw_stmt_node): New structure.
(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New.
* gengtype.c (open_base_files): Add except.h to inlines.
* tree-eh.c (throw_stmt_node): Kill.
(record_stmt_eh_region): Update.
(add_stmt_to_eh_region_fn): Break out from ...
(add_stmt_to_eh_region): ... here.
(remove_stmt_from_eh_region_fn): Break out from ...
(remove_stmt_from_eh_region): ... here.
(lookup_stmt_eh_region_fn): Break out from ...
(lookup_stmt_eh_region): ... here.
(honor_protect_cleanup_actions): Use build_resx.
(lower_try_finally_onedest): Likewise.
(lower_try_finally_copy): Likewise.
(lower_try_finally_switch): Likewise.
(lower_eh_constructs): Update eh table construction.
* tree.c (build_resx): New.
* tree.h (build_resx): Declare.
From-SVN: r99585
|
|
2005-05-11 H.J. Lu <hongjiu.lu@intel.com>
* libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
is needed.
From-SVN: r99584
|
|
* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove
redundant code.
From-SVN: r99583
|
|
From-SVN: r99582
|
|
* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
* config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
default definition.
(FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.
From-SVN: r99581
|
|
result symbol to function symbol.
fortran/
* resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
attribute from result symbol to function symbol.
testsuite/
* gfortran.dg/func_result_2.f90: New test.
From-SVN: r99580
|
|
PR bootstrap/21481
* crtstuff.c: Include auto-host.h again, for now.
From-SVN: r99579
|
|
From-SVN: r99578
|
|
* config/mips/mips.md (type): Add imul3.
(length, hazard, may_clobber_hilo): Check for imul3.
(mulsi3_mult3, muldi3_mult3, *muls, <su>mulsi3_highpart_mulhi_internal)
(*<su>mulsi3_highpart_neg_mulhi_internal): Set attr to imul3.
* config/mips/24k.md (r24k_int_mul3): Enable this reservation
for a 3 operand mul and its bypasses.
* config/mips/3000.md (r3k_imul): Add imul3 to reservations.
* config/mips/4000.md (r4k_imul): Likewise.
* config/mips/4100.md (r4100_imul_si, r4100_imul_di): Likewise.
* config/mips/4130.md (vr4130_class, vr4130_mulsi)
(vr4130_muldi): Likewise.
* config/mips/4300.md (r4300_imul_si, r4300_imul_di): Likewise.
* config/mips/4600.md (r4600_imul, r4650_imul): Likewise.
* config/mips/5000.md (r5k_imul_si, r5k_imul_di): Likewise.
* config/mips/5400.md (ir_vr54_imul_si, ir_vr54_imul_di)
(ir_vr54_imadd_si): Likewise.
* config/mips/5500.md (ir_vr55_imul_si, ir_vr55_imul_di): Likewise.
* config/mips/7000.md (rm7_impy_si_mult, rm7_impy_si_mul)
(rm7_impy_di): Likewise.
* config/mips/9000.md (rm9k_mulsi, rm9k_muldi): Likewise.
* config/mips/generic.md (generic_imul): Likewise.
* config/mips/sb1.md (ir_sb1_mulsi, ir_sb1_muldi): Likewise.
* config/mips/sr71k.md (ir_sr70_imul_si, ir_sr70_imul_di): Likewise.
From-SVN: r99577
|
|
PR middle-end/20371:
* tree.h (record_layout_info_s): New member prev_packed.
* stor-layout.c (update_alignment_for_field): Fix comment about
KNOWN_ALIGN. For MS bitfields, if we start a new run, make sure
we start it properly aligned.
(place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
to update_alignment_for_field, and recompute it afterwards using
the alignment of the record.
When a packed bitfield precedes an MS bitfield, don't add padding
at the end of the packed bitfield on behalf of the base type of
the packed bit field.
Don't adjust rli->bitpos at the end
of an MS bitfield run if we already adjusted bitpos/offset for an
alignment as large or larger than the bitfield type size.
Take possible record alignment > BIGGEST_ALIGNMENT into account
when calculating actual_align.
Only put packed buit fields into rli->prev_field if they end up
suitably aligned.
Also set rli->remaining_in_alignment when we re-set rli->prev_field.
Update rli->remaining_in_alignment when we have already started a
run of bit fields and we process a packed bit field.
From-SVN: r99574
|
|
loop contains a CALL_EXPR or an ASM_EXPR...
* tree-data-ref.c (find_data_references_in_loop): Give up when
the body of the loop contains a CALL_EXPR or an ASM_EXPR: they
may embed arbitrary side effects.
Remove the assumption that GIMPLE form contains a single array
access per statement.
When the statement contains virtual operands, fail if it is not
a MODIFY_EXPR or a CALL_EXPR.
Return after the dont know node is inserted.
From-SVN: r99573
|
|
PR fortran/19478
* io/unix.c (fd_truncate): update positions when ftruncate
fails (like writing to /dev/null).
* gfortran.dg/dev_null.f90: New test.
From-SVN: r99570
|