Age | Commit message (Collapse) | Author | Files | Lines |
|
* mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers.
(asm_file_start): Emit .am33 into assembly file when compiling for
the AM33.
(print_operand_address): Handle POST_INC addresses.
(can_use_return_insn, initial_offset): Check AM33 registers too.
(expand_prologue): Check & save AM33 registers too.
(expand_epilogue): Similarly.
wise.
(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
(INDEX_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
(REGNO_OK_FOR_INDEX_P, PREFERRED_RELOAD_CLASS): Likewise.
(PREFERRED_OUTPUT_RELOAD_CLASS, LIMIT_RELOAD_CLASS): Likewise.
(REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
(HAVE_POST_INCREMENT): Define.
(GO_IF_LEGITIMATE_ADDRESS): Allow POST_INC addresses for the AM33.
(GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is a mode dependent address.
* mn10300.md (movqi, movhi, addsi, subsi): Add AM33 variants.
(mulsi, andsi, iorsi, xorsi, notsi): Likewise.
(ashiftsi, lshiftrtsi, ashiftrtsi): Likewise.
(zero_extend to SI from QI/HI): Likewise.
(sign_extend to SI from QI/HI): Likewise.
(mulsidi3, umulsidi3): New patterns for the AM33.
(tstsi with zero extension from QI/HI): Add AM33 variants.
(movsi, movsf, movdi, movdf): Generate efficient code for the AM33 too.
(return_internal_regs, store_movm): Handle new AM33 registers.
* t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Define.
(LIBGCC, INSTALL_LIBGCC): Likewise.
* invoke.texi: Document new flags.
From-SVN: r30748
|
|
* i386.md (addsi3_cc): Add "binary_operator_ok" to the condition.
(addsi3_carry): Likewise.
(sbbsi3_cc): Add "binary_operator_ok" to the condition.
(sbbsi3_carry): Likewise.
(mulsi3): Rewrite to expander, ensure that only one operand is memory.
(mulhi3): Likewise.
(test?i_1): Ensure that only one operand is memory.
(conditional move patterns): likewise.
(shift and rotate patterns): Rewrite to expander, add
"binary_operator_ok" to the condition.
From-SVN: r30747
|
|
* i386.md (QImode patterns): Remove '*' before the 'r' constraints.
* i386.h (procesor_costs): Add movzbl_load field.
(HARD_REGNO_MODE_OK): Accept QImode on non PARTIAL_REGISTER_STALL in
non-Q registers, accept DImode registers anywhere.
(Q_CLASS_P): New.
(MEMORY_MOVE_COST): Calculate QImode moves correctly.
* i386.c (*_cost): Set value for movxbl_load field.
From-SVN: r30746
|
|
* (addsi): New add to lea splitter.
(ashlsi): Likewise.
(lea to add/shift peep2): New.
From-SVN: r30745
|
|
* config/mips/elf.h (STARTFILE_SPEC): Add no-crt0.
* config/mips/elf64.h (STARTFILE_SPEC): Add no-crt0.
* config/mips/mips.h (TARGET_SWITCHES): Add no-crt0.
From-SVN: r30744
|
|
* cp-tree.h (min_tree_cons): Remove.
(scratch_ovl_cons): Likewise.
* decl.c (saveable_obstack): Don't declare.
(duplicate_decls): Tweak error-message.
(initialize_local_var): Explicitly mark the definition as static.
(finish_function): Call permanent_allocation, just so
that the middle-end sees the obstacks it expects.
(mark_cp_function_context): Likewise.
* init.c (build_new): Don't use min_tree_cons.
* lex.c (permanent_obstack): Don't declare.
(current_obstack, saveable_obstack): Likewise.
* spew.c (current_obstack, saveable_obstack): Likewise.
* tree.c (current_obstack, saveable_obstack): Likewise.
(scratch_ovl_cons): Remove.
(build_min_nt): Don't mess with obstacks.
(build_min): Likewise.
(min_tree_cons): Remove
* typeck.c (build_component_ref): Don't use scratch_ovl_cons.
(build_x_function_call): Likewise.
(build_c_cast): Don't use min_tree_cons.
From-SVN: r30743
|
|
From-SVN: r30742
|
|
* i386.c (ix86_expand_move): Never add clobbers to move patterns.
* i386.md (movsi_xor): New.
(movsi_or): New.
(movsi_1, movhi_1, movqi_1): Remove.
(movsi_2): Rename to movsi_1.
(movhi_2): Rename to movhi_1.
(movqi_2): Rename to movqi_1.
(movdi_1): Remove; remove splitter.
(movdi_2): Rename to movdi_1.
(divmodsi4 splitter): Do not emit clobbers for move patterns.
(long move peep2): Do not create QI or HI mode mov0s
(mov -1,reg -> or peep2s): Enable again, rewrite to single peephole.
From-SVN: r30741
|
|
splitters.
* i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns
rewrite splitters.
From-SVN: r30740
|
|
Thu Nov 11 01:57:14 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (lookup_method_invoke): Use lang_printable_name to
reliably build the type name during error report. Fixes PR gcj/97.
From-SVN: r30739
|
|
* i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
(abs?f2_if): Likewise.
From-SVN: r30738
|
|
1999-12-01 Jason Molenda (jsm@bugshack.cygnus.com)
* ChangeLog: Dummy commit to make sure the logging is working
right.
Oh, and test the PR system. PR other/4.
From-SVN: r30737
|
|
From-SVN: r30735
|
|
* ggc.h (ggc_test_and_set_mark): New macro.
(ggc_mark_rtx): Use ggc_test_and_set_mark.
(ggc_mark_tree): Likewise.
(ggc_mark_rtvec): Likewise.
* ggc-common.c (ggc_mark_rtx_children): Reduce recursion.
From-SVN: r30734
|
|
* dwarf2out.c (scope_die_for): Only handle types. Only search for
containing types.
(decl_scope_table): Just an array of trees now.
(push_decl_scope): Simplify.
(dwarf2out_init): Adjust.
(local_scope_p): New fn.
(gen_inlined_enumeration_type_die): Don't call scope_die_for.
(gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise.
(gen_typedef_die): Likewise.
(gen_lexical_block_die): Don't call push/pop_decl_scope.
(gen_inlined_subroutine_die): Likewise.
(gen_abstract_function): Set current_function_decl temporarily.
(gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration.
Handle block extern declarations. Don't call push/pop_decl_scope.
(gen_decl_die): Fix logic for block externs.
From-SVN: r30733
|
|
* ansidecl.h (ATTRIBUTE_MALLOC): New macro.
* libiberty.h (buildargv, dupargv, concat, choose_temp_base,
make_temp_file, xmalloc, xcalloc, xstrdup, xmemdup): Add
ATTRIBUTE_MALLOC.
(xatexit): Remove __GNUC__ check, add ATTRIBUTE_NORETURN.
From-SVN: r30732
|
|
of functions which have attribute...
* calls.c (special_function_p): Remove `realloc' and add `strdup'
to the list of functions which have attribute malloc by default.
From-SVN: r30731
|
|
* c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
integer constant does not match the traditional type, limit the
warnings to cases where the base of the type is ten.
* invoke.texi (-Wtraditional): Document it.
From-SVN: r30730
|
|
* combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
* rs6000.md: Only access a CONST_INT with INTVAL
From-SVN: r30729
|
|
* lcm.c (compute_laterin): Cast bb->aux to size_t not int.
(compute_nearerout): Likewise.
* ggc-page.c (ggc_page_print_statistics): Explicitly cast
size_t to unsigned long for formatting.
From-SVN: r30728
|
|
* config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
Allow the user to override call-used/fixed state of %g2-5
registers from the command line (with the exception of %g4 for
embedded model).
(REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
there is a higher chance of having a leaf function.
(MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
for ARCH64 which has %ccr register.
* config/sparc/sparc.md (return_losum_si, return_losum_di): New
patterns.
* config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
insn accept into delay slot any insn which does not use %[ol]
registers. Accept some LO_SUM and shift left by 1 for the normal
restore case.
(output_function_epilogue): Likewise.
(epilogue_renumber): Added argument which inhibits any renumbering
and just tests if the rtx does not use any %[ol] registers.
(output_return): Reflect above change.
From-SVN: r30727
|
|
bytes.
* config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg
aggregate passing for sizes <= 16 bytes.
From-SVN: r30726
|
|
* posix-threads.cc (_Jv_MutexInit): Use _Jv_PthreadGetMutex to get
mutex to initialize. Initialize `count' if required.
Fixes PR libgcj/98.
From-SVN: r30725
|
|
From-SVN: r30724
|
|
From-SVN: r30723
|
|
* sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define.
(TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags.
(ROUND_TYPE_ALIGN): Use better value of -mfaster-structs.
* sparc.md (sparclite86x_branch, sparclite86x_shift): New function
units for the sparclite86x chip.
(flush): Revert October 14th change; add SImode specifically.
(flushdi): Copy of flush, but DImode, to avoid genrecog warnings.
* invoke.texi: Document it.
From-SVN: r30722
|
|
PSImode.
From-SVN: r30721
|
|
* flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
(flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise.
(flow_loop_exits_find, flow_loop_nodes_find): Likewise.
(flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise.
(flow_loop_tree_node_add, flow_loops_tree_build): Likewise.
(flow_loop_level_compute, low_loops_level_compute): Likewise.
(flow_loops_find, flow_loop_outside_edge_p): Likewise.
* basic-block.h: Protect from multiple inclusion.
(flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes.
(struct loops, struct loop): Define structures.
* sbitmap.c (sbitmap_a_subset_b_p): New function.
* sbitmap.h: Protect from multiple inclusion.
(sbitmap_a_subset_b_p): Add prototype.
* Makefile.in (LOOP_H): New macro.
(stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H.
From-SVN: r30720
|
|
From-SVN: r30719
|
|
* cppinit.c (CAT): The argument list of this macro may not contain
spaces !
From-SVN: r30718
|
|
per-qty and per-register structure arrays respectively.
From-SVN: r30717
|
|
From-SVN: r30716
|
|
From-SVN: r30715
|
|
* fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse
operation if C is negative.
(extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects.
(extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive
law for some divisions if constant is negative and change other
divisions to the opposite rounding.
From-SVN: r30714
|
|
alignment of TARGET's mode, use BLKmode.
* expr.c (store_constructor_field): If bit position is not multiple
of alignment of TARGET's mode, use BLKmode.
From-SVN: r30713
|
|
when OP0 is in a register.
* expr.c (expand_expr_unaligned): Add more code from full case
that is needed when OP0 is in a register.
From-SVN: r30712
|
|
From-SVN: r30711
|
|
Tue Nov 23 10:55:18 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (catch_clause_parameter:): Still set `$$' to NULL_TREE
in case of error. Error message tuned.
This fixes a catch clause error handling reported on the java-discuss
mailing list:
http://sourceware.cygnus.com/ml/java-discuss/1999-q4/msg00358.html
From-SVN: r30710
|
|
1999-11-27 Per Bothner <per@bothner.com>
* exception.cc: Remove prototype declarations for malloc and free.
These clash with recent versions of glibc, which specifies `throws ()'
when __cplusplus is defined. Instead, #include <stdlib.h>.
From-SVN: r30709
|
|
Fix for gcc.c-torture/noncompile/920824-1.c on SH (and mips?)
* dwarfout.c (field_byte_offset): Size can be zero if there was
an error.
From-SVN: r30708
|
|
* parse.y (resolve_qualified_expression_name): Handle PLUS_EXPR.
(qualify_ambiguous_name): Likewise.
(This patch fixes the gcj PR #55.)
From-SVN: r30707
|
|
From-SVN: r30706
|
|
From-SVN: r30705
|
|
of mach
From-SVN: r30704
|
|
From-SVN: r30703
|
|
From-SVN: r30702
|
|
From-SVN: r30701
|
|
From-SVN: r30700
|
|
From-SVN: r30699
|
|
From-SVN: r30698
|