Age | Commit message (Collapse) | Author | Files | Lines |
|
register variables.
* dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
global register variables.
From-SVN: r63768
|
|
From-SVN: r63767
|
|
* reload.c (reload_adjust_reg_for_mode): New function.
(subst_reloads): Call it.
(operands_match_p): Adjust registers using HARD_REGNO_NREGS.
* reload.h (reload_adjust_reg_for_mode): Declare.
* reload1.c (emit_input_reload_insns, emit_output_reload_insns):
Call it.
From-SVN: r63766
|
|
From-SVN: r63763
|
|
* optabs.c (add_equal_note): Delete SUBREG_REG use.
Fixes PR c/7872.
From-SVN: r63762
|
|
* config/h8300/h8300.md (*ixorsi3_ashift_16): New.
(*ixorsi3_lshiftrt_16): New.
(*iorsi3_ashift_16): Remove.
From-SVN: r63756
|
|
* config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
pattern.
From-SVN: r63755
|
|
* decl.c (finish_enum): Do set the type in a template. Simplify.
* pt.c (tsubst_enum, tsubst_copy): Revert last patch.
From-SVN: r63754
|
|
From-SVN: r63751
|
|
From-SVN: r63742
|
|
From-SVN: r63740
|
|
From-SVN: r63739
|
|
* config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
(rs6000_variable_issue): Do not return negative value.
(rs6000_issue_rate): Uniformly set issue rate to 1 for first
scheduling pass.
From-SVN: r63736
|
|
PR c++/9878
* call.c (convert_class_to_reference): Correct conversion
sequences.
(reference_binding): Add ref_bound_directly_to_rvalue_p parameter.
(implicit_conversion): Adjust call to reference_binding.
(add_candidate): Change type of candidates parameter.
(add_function_candidate): Likewise.
(add_conv_candidate): Likewise.
(build_builtin_candidate): Likewise.
(add_builtin_candidate): Likewise.
(add_builtin_candidates): Likewise.
(add_template_candidate_real): Likewise.
(add_template_candidate): Likewise.
(add_template_conv_candidate): Likewise.
(build_user_type_conversion_1): Adjust accordingly.
(build_object_call): Likewise.
(build_conditional_expr): Likewise.
(add_candidates): Likewise.
(build_new_op): Likewise.
(convert_like_real): Use USER_CONV_CAND. Use build_nop.
(build_new_method_call): Adjust calls to add_function_candidate.
(make_temporary_var_for_ref_to_temp): New function.
(initialize_reference): Add decl parameter.
* class.c (build_rtti_vtbl_entries): Use build_address and
build_nop.
* cp-tree.h (initialize_reference): Change prototype.
(make_temporary_var_for_ref_to_temp): New function.
(build_type_conversion): Change prototype.
(build_address): New function.
(build_nop): Likewise.
* cvt.c (cp_convert_to_pointer): Adjust call to
build_type_conversion. Avoid indicating redundant NOP_EXPRs.
Use build_nop.
(convert_to_pointer_force): Use build_nop.
(build_up_reference): Use make_temporary_var_for_ref_to_temp.
(convert_to_reference): Adjust call to build_type_conversion.
(ocp_convert): Likewise.
(build_type_conversion): Remove for_sure parameter.
* decl.c (grok_reference_init): Use initialize_reference.
* typeck.c (build_address): New function.
(build_nop): Likewise.
(build_unary_op): Use them.
(build_ptrmemfunc): Tidy slightly.
(convert_for_initialization): Adjust call to
initialize_reference.
* typeck2.c (store_init_value): Remove #if 0'd code.
PR c++/9878
* g++.dg/init/ref1.C: New test.
From-SVN: r63735
|
|
prune_unused_types calls.
* dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
prune_unused_types calls.
From-SVN: r63734
|
|
input_filename.
* tree-inline.c (find_builtin_longjmp_call): Save and restore
lineno and input_filename.
(find_alloca_call): Likewise.
(inlinable_function_p): Run the langhook earlier.
* calls.c (compute_argument_addresses): Give the new MEMs a
minimum alignment of PARM_BOUNDARY.
cp/
* decl.c (start_function): Clear DECL_NUM_STMTS.
* class.c (get_vtable_decl): Use vtbl_type_node.
(build_primary_vtable): Check for it.
From-SVN: r63733
|
|
gcc:
* config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
subtarget_asm_isa_spec.
(SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
(ASM_SPEC): Define as SH_ASM_SPEC.
(SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
* config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
(SUBTARGET_ASM_ISA_SPEC): Undef / define.
gcc/testsuite:
gcc.dg/sh-relax.c: New test.
include/elf:
* sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E,
and SH2E & SH4 merge to SH4, not SH2E.
gas:
* config/tc-sh.c (sh_dsp): Replace with preset_target_arch.
(md_begin): Use preset_target_arch.
(md_longopts): Make isa option unconditional.
(md_parse_option): Make OPTION_DSP and OPTION_ISA sh4 / any
set preset_target_arch.
(md_apply_fix3): If BFD_ASSEMBLER, adjust SWITCH_TABLE fixups
by -S_GET_VALUE (fixP->fx_subsy).
(tc_gen_reloc): For SWITCH_TABLE fixups, the symbol is fixp->fx_subsy,
and the addend is 0.
Adjust addend of R_SH_IND12W relocations by fixp->fx_offset - 4.
* config/tc-sh.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
bfd:
elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
relocation (no special function), and make it non-partial_inplace.
(sh_elf_relax_section): When creating a bsr, use a consistent value
no matter if the symbol is extern or not; set addend to -4.
Don't swap load / non-load instructions for SH4.
(sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
rather than if the symbol is external to determine if adjusting the
offset makes sense. Adjust the addend too if appropriate.
(sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
relocation.
From-SVN: r63732
|
|
if not set.
* sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
and align_jumps if not set.
Force align_jumps to be at least 2.
When relaxing, force align_functions to be at least the maximum of
align_loops, align_jumps and 4.
* sh.c (find_barrier, barrier_align): Honour align_jumps_log.
(sh_loop_align): Honour align_loops_log.
* sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
to check for indirect_jump_scratch.
(indirect_jump_scratch): Add second set.
* sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
when looking for indirect_jump_scratch.
Extract scratch register taking new structure of indirect_jump_scratch
into account.
(gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
From-SVN: r63728
|
|
* gcc.c-torture/compile/20010327-1.c: Back out last change. Add
comment explaining purpose of testcase.
From-SVN: r63726
|
|
* calls.c (rtx_for_function_call): Take the address as an argument
(expand_call): Do not modify the expression.
From-SVN: r63725
|
|
* toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
optimizing.
From-SVN: r63723
|
|
* config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
TARGET_H8300H and TARGET_H8300S.
From-SVN: r63720
|
|
From-SVN: r63719
|
|
different.
* config/h8300/h8300.md (*extzv_8_8): Use shorter code when
operands[0] and operands[1] are different.
From-SVN: r63718
|
|
From-SVN: r63717
|
|
2003-03-02 Aldy Hernandez <aldyh@redhat.com>
* cp/decl.c (check_initializer): Check for vector_opaque_p.
From-SVN: r63713
|
|
From-SVN: r63712
|
|
* ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
warnings.
From-SVN: r63704
|
|
registers).
* gcc.c-torture/execute/960312-1.x: New file, must pass -mshort
for HC11/HC12 (asm needs two int registers).
* gcc.c-torture/compile/20020312-1.x: New file, don't execute on
HC11/HC12 because the test uses an asm which needs two 32-bit
registers.
From-SVN: r63697
|
|
* configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
* config.in, configure: Rebuild.
* config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
* config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
paired ldtoffx and ldxmov annotations.
(load_symptr_internal1): Remove.
(load_symptr_high, load_symptr_low): New.
From-SVN: r63696
|
|
otherwise).
* gcc.c-torture/compile/920501-12.x: New file, must pass -mshort
for HC11/HC12 (array is too large otherwise).
* gcc.c-torture/compile/920501-4.x: New file, likewise.
* gcc.c-torture/compile/20010518-2.x: Likewise.
* gcc.c-torture/compile/980506-1.x: Don't execute this test on
HC11/HC12 (array is too large).
From-SVN: r63693
|
|
From-SVN: r63692
|
|
for the RTL inliner.
2003-03-02 Kurt Garloff <garloff@suse.de>
* params.def: Introduce parameter max-inline-insns-rtl for
a separate limit for the RTL inliner.
* params.h: Likewise.
* integrate.c (function_cannot_inline_p): Use it.
* toplev.c (decode_f_option): Set multiple parameters
controlling inlining with -finline-limit.
* params.def: Fix orthographic and typographic errors.
* doc/invoke.texi: Document parameters controlling inlining
and the way -finline-limit sets multiple of them.
* tree.h (struct tree_decl): Introduce inlined_function_flag,
recording whether the function became eligible for inlining
by a compiler flag rather than the declaration.
Provide DID_INLINE_FUNC macro to access it.
* c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
* cp/decl.c (grokfndecl): Likewise.
* toplev.c (rest_of_compilation): Likewise.
* cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
* print-tree.c (print_node): Report it.
* params.def: Introduce new max-inline-insns-auto limit.
* params.h: Likewise.
* tree-inline.c (inlinable_function_p): Apply it to functions
with DID_INLINE_FUNC set.
* toplev.c (decode_f_option): Initialize it from -finline-limit
value.
* doc/invoke.texi: Document new parameter.
From-SVN: r63688
|
|
* gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
gnat_ug_wnt.texi: Regenerate.
From-SVN: r63687
|
|
From-SVN: r63684
|
|
default as may result in reload errors.
* config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
min/max instructions by default as may result in reload errors.
From-SVN: r63682
|
|
define split for it.
* config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
avoid reload problems; define split for it.
From-SVN: r63680
|
|
* config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
* config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
* config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
rotatert and rotate.
("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
("*rotrhi3_addr"): New split for shift insns on address register.
("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
* config/m68hc11/larith.asm (___rotlhi3): New asm function.
(___rotrhi3): Likewise.
* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
From-SVN: r63677
|
|
* toplev.c (aux_base_name): Moved from toplev.h.
(filename): Constify.
(lang_dependent_init): Don't duplicate name.
(process_options): Set aux_base_name here, not...
(do_compile): ...here. Change protoype.
(toplev_main): Move some code from do_compile.
* toplev.h: Remove aux_base_name.
From-SVN: r63676
|
|
* config/h8300/h8300-protos.h: Add a prototype for
iorxor_operator.
* config/h8300/h8300.c (print_operand): Handle 'c'.
(iorxor_operator): New.
* config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
* config/h8300/h8300.md (*iorhi3_zext): Remove.
(*iorsi3_zexthi): Likewise.
(*iorsi3_zextsi): Likewise.
(*xorhi3_zextqi): Likewise.
(*xorsi3_zexthi): Likewise.
(*xorsi3_zextsi): Likewise.
(*ixorhi3_zext): New.
(*ixorsi3_zext_qi): Likewise.
(*ixorsi3_zext_hi): Likewise.
From-SVN: r63671
|
|
* c-incpath.c (remove_component_p, simplify_path): Move back to
cppfiles.c.
(remove_duplicates): Use cpp_simplify_path.
* c-incpath.h (simplify_path): Remove.
* c-lex.c: Don't include c-incpath.h.
(init_c_lex): Remove simplify_path.
* cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
(find_or_create_entry, validate_pch): Revert.
From-SVN: r63669
|
|
cpp during compilation.
* gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
an external cpp during compilation.
(option_map): Likewise.
* cp/lang-specs.h (default_compilers): Similarly.
* objc/lang-specs.h (default_compilers): Similarly.
* doc/invoke.texi: Document -no-integrated-cpp flag.
From-SVN: r63664
|
|
* config/h8300/h8300.md (zero_extendqisi2): Change to an
expander.
(*zero_extendqisi2_h8300): New.
(*zero_extendqisi2_h8300hs): New.
(two splitters): New.
From-SVN: r63660
|
|
From-SVN: r63658
|
|
2003-03-02 Laurent Guerby <guerby@acm.org>
* Makefile.in (install-gnatlib): Match previous change there
so it works.
From-SVN: r63655
|
|
From-SVN: r63653
|
|
* lib/gcc-dg.exp (gcc-dg-test): Change .pch to .gch.
* lib/g++-dg.exp (g++-dg-test): Likewise.
From-SVN: r63652
|
|
From-SVN: r63651
|
|
PR c++/9367
* builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
(BT_FN_INT_CONST_STRING_VALIST_ARG,
BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
BT_FN_INT_STRING_CONST_STRING_VAR,
BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
ATTR_NONNULL_3): Also include the nothrow attribute.
(sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
vsnprintf, vscanf, vsscanf): Don't define attributes here.
* builtins.def (putchar, puts): Make full C89 built-ins.
(snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
vsscanf, vsnprintf, vsprintf): New built-ins.
* c-common.c (c_common_nodes_and_builtins): Handle new macro
DEF_FUNCTION_TYPE_VAR_3.
* doc/extend.texi: Document these new built-in functions.
* java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
(initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
* g++.old-deja/g++.other/builtins10.C: New test for PR 9367.
* gcc.dg/format/attr-5.c: Handle new conflicting types warning.
From-SVN: r63650
|
|
From-SVN: r63643
|