aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2001-05-05Daily bump.GCC Administrator2-2/+2
From-SVN: r41863
2001-05-05m68hc11.c (m68hc11_gen_movhi): Optimize moves between X and Y by using ↵Stephane Carrez2-4/+33
sequences of xgdx and xgdy. * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves between X and Y by using sequences of xgdx and xgdy. From-SVN: r41861
2001-05-05m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead of '!' for the 'D' ↵Stephane Carrez2-23/+35
alternative ('!' is too strong). * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead of '!' for the 'D' alternative ('!' is too strong). ("*logicalsi3_silshl16"): Likewise. ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'. ("movstrictsi"): Remove spurious '+'. ("movstrictqi"): Don't accept 'A' and remove spurious '+'. ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'. ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid a reload to them. From-SVN: r41859
2001-05-0420001227-1.c: Remove duplicate of gcc.c-torture/execute/20000412-3.c with no ↵David Edelsohn2-32/+5
ChangeLog entry. * gcc.c-torture/execute/20001227-1.c: Remove duplicate of gcc.c-torture/execute/20000412-3.c with no ChangeLog entry. From-SVN: r41858
2001-05-04* calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.David Edelsohn2-3/+7
From-SVN: r41856
2001-05-05simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1 into -a.Lars Brinkhoff2-1/+14
2001-05-04 Lars Brinkhoff <lars@nocrew.org> * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1 into -a. From-SVN: r41854
2001-05-04rs6000.md (ashldi3 splits): Guard with TARGET_POWERPC64.Franz Sirl2-5/+9
2000-05-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * config/rs6000/rs6000.md (ashldi3 splits): Guard with TARGET_POWERPC64. From-SVN: r41852
2001-05-04m68hc11.md (lshrhi3_const1): Fix shift of soft register, use ror instead of rol.Stephane Carrez2-1/+6
* config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of soft register, use ror instead of rol. From-SVN: r41850
2001-05-04m68hc11.c (m68hc11_check_z_replacement): Take into account pre/post ↵Stephane Carrez2-6/+50
increment decrement for 68HC12. * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take into account pre/post increment decrement for 68HC12. Fix other problems in replacement and fix call to reg_mentioned_p. From-SVN: r41848
2001-05-04larith.asm (L_regs_frame): New for _.frame.Stephane Carrez3-11/+52
* config/m68hc11/larith.asm (L_regs_frame): New for _.frame. Put the soft registers in bss for 68HC12. (L_regs_d3_4): New for _.d3 and _.d4. (L_regs_d5_6): Likewise. (L_regs_d1_2): Likewise. * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts. From-SVN: r41846
2001-05-04m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__ to the pre-processor when ↵Stephane Carrez3-2/+10
-fshort-double is specified. * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__ to the pre-processor when -fshort-double is specified. * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise. From-SVN: r41843
2001-05-04larith.asm (divmodhi4): Empty for 68HC12.Stephane Carrez3-11/+118
* config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12. (__mulsi3): Rewrite for 68HC12. * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12. Mark 'x' constraint with earlyclobber to prevent a RELOAD_FOR_OTHER_ADDRESS to go in it. (mulhi3_m68hc12): New pattern. (mulhi3_m68hc11): Rename of mulhi3. (mulhi3): New expand for 68HC12 optimisation. (umulhisi3, mulhisi3): New patterns for 68HC12. From-SVN: r41841
2001-05-04* gcc.c-torture/execute/longlong.c: Update for 16 bit int issues.Neil Booth2-1/+5
From-SVN: r41838
2001-05-04m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.Stephane Carrez2-6/+215
* config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12. (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12. (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12. From-SVN: r41836
2001-05-04m68hc11.h (CONST_COSTS): Make the cost of constants cheap after reload.Stephane Carrez3-9/+17
* config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of constants cheap after reload. * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32 are cheap. (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive so that gcc prefers a shift by 16. (m6811_cost, m6812_cost): Make the shift cheap compared to an add. From-SVN: r41834
2001-05-04Add alignment parameter to .comm directives for ELF targets.Nick Clifton2-0/+15
From-SVN: r41832
2001-05-04alpha.h: NULL_PTR -> NULL.Kaveh R. Ghazi21-66/+88
* alpha.h: NULL_PTR -> NULL. * arm.c: Likewise. * arm.h: Likewise. * avr.h: Likewise. * c4x.c: Likewise. * c4x.h: Likewise. * i386.c: Likewise. * i386.md: Likewise. * i860.c: Likewise. * ia64.c: Likewise. * m68hc11.h: Likewise. * rs6000.h: Likewise. * sh.c: Likewise. * sh.h: Likewise. * sparc.h: Likewise. * v850.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * gcc.c: Likewise. * recog.c: Likewise. From-SVN: r41831
2001-05-04i386.c (ix86_emit_restore_regs_using_mov, [...]): Change `bool' parameter to ↵Kaveh R. Ghazi5-10/+21
`int'. * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change `bool' parameter to `int'. * hash.c (hash_lookup): Likewise. * hash.h (hash_lookup): Likewise. * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise. From-SVN: r41829
2001-05-04* i386.c (x86_initialize_trampoline): Fix mode of constant.Jan Hubicka1-0/+4
From-SVN: r41828
2001-05-04Daily bump.GCC Administrator2-2/+2
From-SVN: r41826
2001-05-04invoke.texi (i386 Options): Delete references to -malign-jumps, ↵Geoffrey Keating4-71/+59
-malign-loops, -malign-functions. * invoke.texi (i386 Options): Delete references to -malign-jumps, -malign-loops, -malign-functions. * i386.c (ix86_align_funcs): Delete. (ix86_align_loops): Delete. (ix86_align_jumps): Delete. (override_options): Mark -malign-* as obsolete. Emulate their behaviour with the -falign-* options. Default -falign-* from the processor table. * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's patch of Wed May 2 13:09:36 2001. (LOOP_ALIGN): Delete. (LOOP_ALIGN_MAX_SKIP): Delete. (LABEL_ALIGN_AFTER_BARRIER): Delete. (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete. From-SVN: r41825
2001-05-04cp-tree.h (enum cp_tree_index): Add CPTI_PFN_VFLAG_IDENTIFIER.Geoffrey Keating5-57/+106
* cp-tree.h (enum cp_tree_index): Add CPTI_PFN_VFLAG_IDENTIFIER. (pfn_vflag_identifier): Define. Update comment about layout of pointer functions. (build_ptrmemfunc1): Update prototype. (expand_ptrmemfunc_cst): Update prototype. * decl.c (initialize_predefined_identifiers): Initialize pfn_vflag_identifier. (build_ptrmemfunc_type): When FUNCTION_BOUNDARY < 16, add an extra field to the type. * expr.c (cplus_expand_constant): Pass 'flag' between expand_ptrmemfunc_cst and build_ptrmemfunc1. * typeck.c (get_member_function_from_ptrfunc): When FUNCTION_BOUNDARY < 16, look at additional field to determine if a pointer-to-member is a real pointer or a vtable offset. (build_ptrmemfunc1): Add new parameter to contain extra field. (build_ptrmemfunc): Pass the extra field around. (expand_ptrmemfunc_cst): Add new parameter to return extra field. (pfn_from_ptrmemfunc): Ignore the extra field. From-SVN: r41824
2001-05-04except.h: Add prototype declaration for expand_builtin_init_dwarf_reg_sizes.Andreas Jaeger2-7/+14
* except.h: Add prototype declaration for expand_builtin_init_dwarf_reg_sizes. From-SVN: r41823
2001-05-04cp-tree.h (flag_inline_trees): Update documentation.Mark Mitchell4-10/+35
* cp-tree.h (flag_inline_trees): Update documentation. * decl.c (init_decl_processing): Adjust handling of flag_inline_functions and flag_inline_trees to support -O3. (grokfndecl): Set DECL_INLINE on all functions if that's what the user requested. (save_function_data): Clear DECL_INLINE in current_function_cannot_inline is non-NULL. * decl2.c (flag_inline_trees): Update documentation. From-SVN: r41822
2001-05-04Index: gcc/gcc/ChangeLogGeoffrey Keating4-2/+16
2001-05-03 Geoffrey Keating <geoffk@redhat.com> * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE. Index: gcc/gcc/testsuite/ChangeLog 2001-05-03 Geoffrey Keating <geoffk@redhat.com> * lib/g++.exp (g++_include_flags): Don't use any special flags if TESTING_IN_BUILD_TREE is not defined. (g++_init): Use a plain 'c++' as the compiler if TESTING_IN_BUILD_TREEE is not defined. From-SVN: r41820
2001-05-03lex.c (java_new_lexer): Call iconv_close on temp handle used to check for ↵Mo DeJong2-0/+6
byte swap. 2001-05-03 Mo DeJong <mdejong@redhat.com> * lex.c (java_new_lexer): Call iconv_close on temp handle used to check for byte swap. (http://gcc.gnu.org/ml/java-patches/2001-q2/msg00185.html ) From-SVN: r41818
2001-05-03m68hc11.md ("bitcmpqi"): New pattern for bitb instruction.Stephane Carrez2-0/+88
* config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb instruction. ("bitcmpqi2"): New pattern for bit-extract and test. ("bitcmphi"): New pattern for bitb/bita instructions. From-SVN: r41812
2001-05-03gccbug.in: Use a temporary directory when the mktemp command is not available.Joseph Myers2-17/+13
* gccbug.in: Use a temporary directory when the mktemp command is not available. From-SVN: r41809
2001-05-03m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register instead of _.d1.Stephane Carrez4-11/+69
* config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register instead of _.d1. (INITIALIZE_TRAMPOLINE): Call it. (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12. (TRAMPOLINE_TEMPLATE): Remove. * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New. * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline): Declare. From-SVN: r41808
2001-05-03t-freebsd: Don't install "assert.h" in gcc.David O'Brien2-0/+11
2001-05-03 David O'Brien <obrien@FreeBSD.org> * config/t-freebsd: Don't install "assert.h" in gcc. Compile crtbeginS.o and crtendS.o with PIC. Approved by: Richard Henderson <rth@redhat.com> Message-ID: <20010503125836.A15813@redhat.com> From-SVN: r41803
2001-05-03Report fixes from 3_0-branch made on 2001-03-04:Stephane Carrez6-365/+764
* config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two negative numbers. (___subdi3, ___adddi3): Use x instead of y as index register. (__init_bss_section, __map_data_section): Optimize for 68HC12. (__memset, __memcpy): Likewise. (regs): Put the soft registers in bss for 68HC12. (abort): Use trap to abort for 68hc12. (__mulhi3, __mulhi32): Use emul for 68hc12. (__mulsi3): Avoid to use the tmp soft register for 68hc12. * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define. * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove. * config/m68hc11/m68hc11.c (limit_reload_class): Remove. (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin. Set 68HC12 min offset to -65536. (print_operand): Put parenthesis arround the operand if it refers to a symbol having the same name as a register. (m68hc11_z_replacement): When z register is replaced by its equivalent soft register, force the insn to be re-recognized. (m68hc11_check_z_replacement): Fix the test when destination is the index register and z dies in the insn. (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them. * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize costs according to processor variant. (m68hc11_shift_cost): New function to compute shift costs. (m68hc11_rtx_costs): Define costs according to processor variant. (m6811_cost): Costs for 68HC11. (m6812_cost): Costs for 68HC12. (COSTS_N_INSNS): Remove. * config/m68hc11/m68hc11.h (RTX_COSTS): New. (DEFAULT_RTX_COSTS): Remove. (CONST_COSTS): Define costs according to OUTER_CODE. (processor_costs): New struct to define costs. (m68hc11_cost): Pointer to current costs. * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation and use m68hc11_notice_keep_cc when using leax/leay. (addhi3 split): Reject split if the insn is handled by leax/leay above. * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the push must be handled in a special way if the source operand uses sp as index register. (m68hc11_notice_keep_cc): New function. (m68hc11_gen_movhi): Use it when an insn changes a register but not the flags. (m68hc11_gen_movqi): Fix move for 68HC12. * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare. * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST and don't pass operands[0] to emit_library_call_value. * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12. (zero_extendsi split): Simplify and use (zero_extendhi). (*addhi3): Remove 'w' constraint since stack pointer is handled by (addhi3_sp). (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint. (*ashlhi3, *ashrhi3, *lshrhi3): Likewise. (*ashrhi3_const): Fix shift by 7. (*lshrsi3_const16): Fix template. (call, call_value): Fix constraint and predicate. * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant. (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise. (CC_REGNUM): Likewise. (*unnamed splits): Use above constants instead of hard coded numbers. (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise. (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise. (*return_16bit, *unnamed peepholes): Likewise. From-SVN: r41802
2001-05-03config.gcc (rs6000-ibm-aix|powerpc-ibm-aix): Do not include rs6000/rs6000.h ↵David O'Brien2-1/+6
twice. 2001-05-03 David O'Brien <obrien@FreeBSD.org> * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix): Do not include rs6000/rs6000.h twice. Approved by: David Edelsohn <dje@watson.ibm.com> <200105031901.PAA24582@makai.watson.ibm.com> From-SVN: r41799
2001-05-03djgpp.h (CPP_PREDEFINES): Define __GO32__.Mark Elbrecht2-13/+28
* config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__. (CPP_SPEC): Conditionally define MSDOS and GO32. (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210. (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are ignored. (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove. From-SVN: r41798
2001-05-03* config/mn10300/mn10300.md: Sign-extend GEN_INT operands.Alexandre Oliva2-6/+12
From-SVN: r41797
2001-05-03Wrong ChangeLog entry.Jakub Jelinek1-2/+1
From-SVN: r41792
2001-05-03integrate.h (struct inline_remap): Add leaf_reg_map table.Mark Mitchell4-14/+35
* integrate.h (struct inline_remap): Add leaf_reg_map table. * integrate.c (expand_inline_function): Use xcalloc to allocate memory. (copy_rtx_and_substitute): Use the leaf_reg_map for leaf registers. From-SVN: r41791
2001-05-03c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME if it is not set.Mark Mitchell2-1/+6
* c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME if it is not set. From-SVN: r41788
2001-05-03mn10300.h (LINK_SPEC): Pass --relax to the linker if -mrelax is given.Alexandre Oliva2-0/+6
* config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the linker if -mrelax is given. (TARGET_SWITCHES): Document -mrelax. From-SVN: r41787
2001-05-03Re-installed 2001-01-09's patch:Alexandre Oliva2-0/+30
* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long if it's wider than long and the target's long is wider than the host's. From-SVN: r41785
2001-05-03dump.c (cp_dump_tree, [...]): New case.Nathan Sidwell4-10/+29
* dump.c (cp_dump_tree, USING_STMT case): New case. * tree.c (cp_statement_code_p): Add USING_STMT. * decl2.c (do_using_directive): Add the using directive statement. * tree.c (walk_tree): Reformat an if block. From-SVN: r41783
2001-05-03config.gcc, [...]: Do not directly include rs6000/rs6000.h.David O'Brien4-7/+7
2001-05-02 David O'Brien <obrien@FreeBSD.org> * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h: Do not directly include rs6000/rs6000.h. Instead do it in tm.h. Approved by: Geoff Keating <geoffk@geoffk.org> Message-ID: <jmae4vtdi0.fsf@geoffk.org> From-SVN: r41782
2001-05-03Daily bump.GCC Administrator2-2/+2
From-SVN: r41780
2001-05-02objc-act.c (STRING_OBJECT_CLASS_NAME): Default to NSConstantString for ↵Stan Shebs2-1/+64
NeXT-style runtimes. * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to NSConstantString for NeXT-style runtimes. (STRING_OBJECT_GLOBAL_NAME): New macro. (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and OCTI_STRING_CLASS_DECL. (constant_string_global_id): New macro. (string_class_decl): Ditto. (setup_string_decl): New function. (build_objc_string_object): Use it to build a NeXT runtime compatible string initializer. From-SVN: r41776
2001-05-02catch13.C: New test.Jakub Jelinek3-0/+57
* g++.old-deja/g++.eh/catch13.C: New test. * g++.old-deja/g++.eh/catch14.C: New test. From-SVN: r41774
2001-05-02tradcpp.c (do_define): Make sure we don't walk past limit.Jakub Jelinek4-3/+13
* tradcpp.c (do_define): Make sure we don't walk past limit. * gcc.dg/cpp/tr-define.c: New test. From-SVN: r41773
2001-05-02rs6000.c (rs6000_legitimate_address): Allow any stack offsets if not ↵Franz Sirl4-79/+138
REG_OK_STRICT. 2000-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack offsets if not REG_OK_STRICT. * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro. (INT_REG_OK_FOR_INDEX_P): Likewise. (INT_REG_OK_FOR_BASE_P): Likewise. (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P. (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P. (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and REG_OK_FOR_BASE_P. Take an additional parameter. (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise. (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise. (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise. (GO_IF_LEGITIMATE_ADDRESS): Move code into new function rs6000_legitimate_address() and use it. * config/rs6000/rs6000.c: Update all callers. (rs6000_legitimate_address): New function. From-SVN: r41772
2001-05-02[multiple changes]David Edelsohn3-53/+50
2001-05-02 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.c (rs6000_emit_move): Merge special_constant conditional blocks together. 2001-05-02 Dale Johannesen <dalej@apple.com> * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED parameter. (STRICT_ARGUMENT_NAMING): Define. * config/rs6000/rs6000.c (function_arg_advance, function_arg, function_arg_partial_nregs, setup_incoming_varargs): Remove args logic which depends on "named" now that STRICT_ARGUMENT_NAMING is defined. From-SVN: r41771
2001-05-02decl.c (compute_array_index_type): Don't try to do anything with the indices ↵Mark Mitchell3-6/+22
when processing a template. * decl.c (compute_array_index_type): Don't try to do anything with the indices when processing a template. From-SVN: r41770
2001-05-02* config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.Richard Kenner2-1/+5
From-SVN: r41767
2001-05-02function.c (fixup_var_regs_1, [...]): Use promoted mode for replacement.Richard Kenner2-1/+4
* function.c (fixup_var_regs_1, case SUBREG): Use promoted mode for replacement. From-SVN: r41765