- 17 Jul, 2002 17 commits
-
-
From-SVN: r55532
J"orn Rennecke committed -
* config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian. * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian. From-SVN: r55531
J"orn Rennecke committed -
* config/sh/lib1funcs.asm (init_trampoline): New entry point. * sh-protos.h (sh_initialize_trampoline): Declare. * sh.c (sh_initialize_trampoline): New function. * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32. (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA. (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline. (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact. * sh.md (initialize_trampoline, double_shori): New patterns. (initialize_trampoline_compact): Likewise. (shmedia32_initialize_trampoline_big): Remove. (shmedia32_initialize_trampoline_little): Likewise. From-SVN: r55529
J"orn Rennecke committed -
* sh-protos.h (binary_float_operator): Remove declaration. (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare. * sh.c (print_operand, case 'N'): Check against CONST0_RTX. (unary_float_operator, sh_expand_unop_v2sf): New functions. (sh_expand_binop_v2sf): Likewise. (zero_vec_operand): Delete. (SH_BLTIN_UDI): New builtin shared signature define. Renumbered all non-shared ones. (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI. Enable nsb and byterev. * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS. (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode in general regs. (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS. (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for immediate operands. (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands. Add DF_HI_REGS. (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow lowpart fp regs - only for big endian for now. (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors when FPU is in use. (EXTRA_CONTRAINT_U): Check against CONST0_RTX. (LOAD_EXTEND_OP): NIL for SImode. (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between general and fp registers is 4. PREDICATE_CODES: Amend binary_float_operator entry. Remove zero_vec_operand. Add unary_float_operator. * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical subreg SET_DEST. (truncdisi2, truncdihi2, movv2sf): Allow memory destinations. (truncdiqi2): Do sign extension. (movsi_media, movdi_media): Allow to use r63 to an fp register. (movdf_media, movsf_media): Likewise. (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS. Collapse to one define_insn_and_split. Allow immediate sources. (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns. (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg. (movv4sf): Allow immediate sources. (movsf_media_nofpu+1): Don't split moves to FP registers. (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns. (movv8qi_i+3): Check against CONST0_RTX. (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode for input and output operands. Fix argument 3 to gen_mextr_rl. (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/ (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise. (mshf0_w, fipr, ftrv): Likewise. (mshfhi_l_di): Now insn_and_split. Can handle FP regs. From-SVN: r55528
J"orn Rennecke committed -
PR c++/2862, c++/2863 * pt.c (determine_specialization): Compare the length of TYPE_ARG_TYPES. Tidy. * g++.dg/template/instantiate2.C: New test. * g++.dg/template/spec4.C: New test. From-SVN: r55527
Kriang Lerdsuwanakij committed -
PR c++/3797 * decl.c (duplicate_decls): Don't propagate inlining parameters from olddecl to newdecl when newdecl is a specialization of the instantiation olddecl. From-SVN: r55525
Kriang Lerdsuwanakij committed -
PR c++/4802, c++/5387 * decl.c (make_typename_type): Use enforce_access. * g++.dg/template/access2.C: New test. * g++.dg/template/access3.C: New test. From-SVN: r55517
Kriang Lerdsuwanakij committed -
PR c++/7320 * rtti.c (get_tinfo_decl): Set DECL_COMDAT. From-SVN: r55516
Scott Snyder committed -
* arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed. * arm.c: Similarly. From-SVN: r55515
Jeroen Dobbelaere committed -
* config/mips/mips-protos.h (mips_sign_extend): Declare. * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove. (TARGET_SWITCHES): Remove debugh. (ISA_HAS_TRUNC_W): New macro. (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64. (PREDICATE_CODES): Remove se_nonimmediate_operand. * config/mips/mips.c (movdi_operand): Allow sign-extensions of any SImode move_operand. (se_nonimmediate_operand): Remove. (mips_sign_extend): New. (mips_move_2words): Use it for sign-extended source operands. (override_options): Allow integers to be put into single FPRs. (mips_secondary_reload_class): Handle integers in float registers. * config/mips/mips.md (extendsidi2): Turn into a define_expand. (fix_truncsfsi2, fix_truncdfsi2): Likewise. (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New. (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New. (fix_truncdfdi2): Provide only a single alternative, in which the integer is in a float register. Depend on TARGET_FLOAT64 rather than TARGET_64BIT. (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise. (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency. (movdi_internal2): Don't allow the source operand to be sign-extended. Add alternatives for float registers. (*movdi_internal2_extend): New. Version of movdi_internal2 that allows sign-extension. (*movdi_internal2_mips16): Name the existing mips16 movdi pattern. (movsi_internal2): Rename to movsi_internal. Add alternatives for float registers. Remove TARGET_DEBUG_H_MODE test. (movhi_internal1): Rename to movhi_internal. Don't check TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints. (movqi_internal1): Rename to movqi_internal and remove TARGET_DEBUG_H_MODE dependency. (movsi_internal1, movhi_internal2, movqi_internal2): Remove. From-SVN: r55514
Richard Sandiford committed -
From-SVN: r55513
GCC Administrator committed -
* toplev.c (lang_dependent_init): Create function context for init_expr_once. From-SVN: r55508
Jim Wilson committed -
* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't --gc-sections if -r. * config/cris/cris.h: Ditto. From-SVN: r55507
Hans-Peter Nilsson committed -
i386.c (ix86_expand_int_movcc): In the case where the comparison directly gives a mask suppress addition when... * config/i386/i386.c (ix86_expand_int_movcc): In the case where the comparison directly gives a mask suppress addition when cf is zero by complementing the mask. From-SVN: r55505
Rodney Brown committed -
* config/darwin.h (ASM_OUTPUT_LABEL): Move to here from config/rs6000/darwin.h. (ASM_OUTPUT_SKIP): Ditto. (TEXT_SECTION_ASM_OP): Ditto. (DATA_SECTION_ASM_OP): Ditto. (ASM_APP_ON): Define. (ASM_APP_OFF): Define. * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove. From-SVN: r55504
Stan Shebs committed -
2002-07-16 Chris Demetriou <cgd@broadcom.com> * config.guess: Update to 2002-07-09 version. * config.sub: Update to 2002-07-03 version. From-SVN: r55503
Chris Demetriou committed -
(gcc) * Makefile.in: Delete references to enquire. * enquire.c: Move to contrib. (contrib) * enquire.c: Move from gcc. From-SVN: r55502
Nathanael Nerode committed
-
- 16 Jul, 2002 23 commits
-
-
* darwin.c (func_name_maybe_scoped): Remove unused decl. (machopic_function_base_name): Declare result to be const. (machopic_non_lazy_ptr_name): Ditto. (machopic_stub_name): Ditto. * darwin-protos.h: Ditto for the prototypes. From-SVN: r55501
Stan Shebs committed -
From-SVN: r55500
Jan Hubicka committed -
* i386.md (prefetch): Fix for 64bit mode. (prefetch_sse_rex, prefetch_3dnow_rex): New patterns. From-SVN: r55499
Jan Hubicka committed -
* i386.h (MACHINE_DEPENDENT_REORG): New macro. * i386.c (x86_machine_dependent_reorg): New function. * i386-protos.h (x86_machine_dependent_reorg): Declare. From-SVN: r55498
Jan Hubicka committed -
2002-07-16 H.J. Lu <hjl@gnu.org> * gcc_update (touch_files): Pass -s to ${MAKE}. From-SVN: r55497
H.J. Lu committed -
* java/io/StreamTokenizer.java (pushBack): Update documentation. (whitespaceChars): call resetChar(). From-SVN: r55496
Mark Wielaard committed -
* builtins.c (std_expand_builtin_va_start): Remove unused first argument. (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and std_expand_builtin_va_start with just two arguments. * expr.h: Update prototypes. * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h, arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h, i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h, m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h, mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c, rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h, s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h, sparc.c, stormy16-protos.h, stormy16.h, stormy16.c, xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first argument from all implementations of EXPAND_BUILTIN_VA_START and all uses of std_expand_builtin_va_start. From-SVN: r55495
Zack Weinberg committed -
From-SVN: r55493
J"orn Rennecke committed -
From-SVN: r55491
Steve Ellcey committed -
* gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define. (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL. * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function. From-SVN: r55490
Steve Ellcey committed -
* doc/invoke.texi (NS32K Options): Document -mieee-compare option * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge into addsi3 using register class "x" and "y". * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf): "earlyclobber" constraint modifier for some alternative. * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble) (*ble, *blt): Flag to indicate bCOND and sCOND should check for unordered. config/ns32k/ns32k.h (CC_UNORD): define corresponding mask. * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE) (TARGET_SWITCHES): Add -mieee-compare option. (OVERRIDE_OPTIONS): 32332 is a subset of 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations. (TARGET_SWITCHES): Fix description of bitfield option. * config/ns32k/netbsd.h (TARGET_DEFAULT): Add -mieee-compare option. Remove 32332 flag. From-SVN: r55489
Ian Dall committed -
* gcc/explow.c (convert_memory_address): Remove special handling when POINTERS_EXTEND_UNSIGNED < 0. * gcc/config/ia64.md (movsi_symbolic): New instruction for ILP32 mode. (movedi_symbolic): Fix typo. (load_fptr): Remove mode restriction so it works for SI and DI. (load_fptr_internal1): Ditto. (load_gprel): Ditto. (load_symptr_internal1): Ditto. (call_pic): Ditto. * gcc/config/ia64.c (call_operand): Modify mode check. (ia64_expand_load_address): Handle DI and SI addresses and symbols. (ia64_expand_move): Ditto. (ia64_assemble_integer): Handle SImode function pointers. (ia64_expand_fetch_and_op): Handle SImode mem addresses. (ia64_expand_op_and_fetch): Ditto. (ia64_expand_compare_and_swap): Ditto. (ia64_expand_lock_test_and_set): Ditto. (ia64_expand_lock_release): Ditto. From-SVN: r55488
Steve Ellcey committed -
From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF. From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> and Richard Earnshaw <rearnsha@arm.com> * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic. Co-Authored-By: Richard Earnshaw <rearnsha@arm.com> From-SVN: r55487
Jeroen Dobbelaere committed -
* arm.md (stack_tie): New insn. Use an idiom that the alias code understands to be a memory clobber. * arm.c (arm_expand_prologue): Use it. From-SVN: r55486
Richard Earnshaw committed -
* ra.c: New file. * ra.h: New file. * ra-build.c: New file. * ra-colorize.c: New file. * ra-debug.c: New file. * ra-rewrite.c: New file. * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o, (ra-rewrite.o): New .o files for libbackend.a. (GTFILES): Add basic-block.h. * toplev.c (flag_new_regalloc): New. (f_options): New option "new-ra". (rest_of_compilation): Call initialize_uninitialized_subregs() only for the old allocator. If flag_new_regalloc is set, call new allocator, instead of local_alloc(), global_alloc() and friends. * doc/invoke.texi: Document -fnew-ra. * basic-block.h (FOR_ALL_BB): New. * config/rs6000/rs6000.c (print_operand): Write small constants as @l+80. * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg. (df_reg_table_realloc): Make size at least as large as max_reg_num(). (df_insn_table_realloc): Size argument now is absolute, not relative. Changed all callers. * gengtype.c (main): Add the pseudo-type "HARD_REG_SET". * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's. 2002-06-20 Michael Matz <matz@suse.de> * df.h (struct ref.id): Make unsigned. * df.c (df_bb_reg_def_chain_create): Remove unsigned cast. 2002-06-13 Michael Matz <matz@suse.de> * df.h (DF_REF_MODE_CHANGE): New flag. * df.c (df_def_record_1, df_uses_record): Set this flag for refs involving subregs with invalid mode changes, when CLASS_CANNOT_CHANGE_MODE is defined. 2002-05-07 Michael Matz <matz@suse.de> * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge. 2002-05-03 Michael Matz <matz@suse.de> * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size. Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru> * regclass.c (regclass): Work with all regs which have sets or refs. (reg_scan_mark_refs): Count regs inside (clobber ...). 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de> * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs. (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only add new refs. (df_bb_refs_update): Don't clear insns_modified here, ... (df_analyse): ... but here. * sbitmap.c (dump_sbitmap_file): New. (debug_sbitmap): Use it. * sbitmap.h (dump_sbitmap_file): Add prototype. 2001-08-07 Daniel Berlin <dan@cgsoftware.com> * df.c (df_insn_modify): Grow the UID table if necessary, rather than assume all emits go through df_insns_modify. 2001-07-26 Daniel Berlin <dan@cgsoftware.com> * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS, increase REG_N_REFS (like flow does), so that regclass doesn't think a reg is useless, and thus, not calculate a class, when it really should have. 2001-01-28 Daniel Berlin <dberlin@redhat.com> * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for dataflow analysis. From-SVN: r55485
Michael Matz committed -
From-SVN: r55484
Hans-Peter Nilsson committed -
* ra-rewrite.c: #include reload.h, insn-config.h * ra-build.c: #include reload.h * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to depend on reload.h, insn-config.h. From-SVN: r55483
Daniel Berlin committed -
* expr.c (emit_move_insn_1): Handle arbitrary moves that are the same size as a word. * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN / BYTES_BIG_ENDIAN into account. From-SVN: r55482
J"orn Rennecke committed -
* i386.md (prefetch): Fix for 64bit mode. (prefetch_sse_rex, prefetch_3dnow_rex): New patterns. * i386.md (movss, movsd): Use xorps/xorpd for Athlon. From-SVN: r55481
Jan Hubicka committed -
* libsupc++/new (set_new_handler): Declare to not throw any exceptions. * libsupc++/new_handler.cc (set_new_handler): Likewise. From-SVN: r55480
Andreas Schwab committed -
From-SVN: r55479
GCC Administrator committed -
From-SVN: r55474
Marek Michalkiewicz committed -
* ginclude/varargs.h: Replace with stub which issues #error. * ginclude/stdarg.h: __builtin_stdarg_start is renamed __builtin_va_start. * builtins.def (BUILT_IN_VARARGS_START): Delete. (BUILT_IN_VA_START): New. * builtins.c (expand_builtin_va_start): Eliminate first argument and code to implement pre-ISO varargs. (std_expand_builtin_va_start): Ignore first argument; it is always 1. (expand_builtin): Handle BUILT_IN_VA_START and BUILT_IN_STDARG_START identically. Delete BUILT_IN_VARARGS_START case. * function.c (assign_parms): Delete hide_last_arg and all its uses. (mark_varargs): Delete function. * function.h (struct function): Delete 'varargs' bit. (current_function_varargs): Delete macro. * tree.h: Don't declare mark_varargs. * c-decl.c (c_function_varargs, c_mark_varargs): Delete. (c_expand_body): Don't call mark_varargs. * c-objc-common.c: Handle BUILT_IN_VA_START and BUILT_IN_STDARG_START identically. Delete BUILT_IN_VARARGS_START case. * c-tree.h: Don't declare c_mark_varargs. * c-parse.in: Remove grammar rules for '&...' (which has been commented out since before 2.7.2) and for '...' in K+R argument declarations. * builtins.c, function.c, integrate.c, sibcall.c, config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h, config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c, config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c, config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h, config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h, config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c, config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.c: Delete all references to current_function_varargs, and code predicated on that flag. * config/alpha/alpha.c (alpha_va_start), config/arc/arc.c (arc_va_start), config/i386/i386.c (ix86_va_start), config/mips/mips.c (mips_va_start), config/mn10300/mn10300.c (mn10300_va_start), config/rs6000/rs6000.c (rs6000_va_start), config/s390/s390.c (s390_va_start), config/sh/sh.c (sh_va_start), Ignore first argument; it is always 1. * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start. * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start. * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c: Delete m68hc11_va_start. * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h: No need to define EXPAND_BUILTIN_VA_START. * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Remove references to GCC-provided <varargs.h>. testsuite: * c-torture/execute/991216-3.c, c-torture/execute/strct-varg-1.c, c-torture/execute/va-arg-7.c, c-torture/execute/va-arg-8.c, c-torture/execute/va-arg-15.c, c-torture/execute/va-arg-16.c, c-torture/execute/va-arg-17.c, c-torture/execute/va-arg-19.c: Convert to use <stdarg.h>. * c-torture/execute/va-arg-3.c, c-torture/execute/va-arg-3.x: Delete. * gcc.dg/va-arg-2.c: New. * lib/gcc.exp, lib/objc.exp: Remove code to set -DNO_VARARGS. From-SVN: r55472
Zack Weinberg committed
-