Age | Commit message (Collapse) | Author | Files | Lines |
|
2004-08-23 Eric Christopher <echristo@redhat.com>
* defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
* system.h (VECTOR_MODE_SUPPORTED_P): Poison.
* target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
* target.h: Ditto.
* hooks.h: Include machmode.h.
(hook_bool_mode_false): Declare.
* hooks.c (hook_bool_mode_false): Define.
* expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
* stor-layout.c (layout_type): Ditto.
* config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
Define to target macro.
* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
* config/arm/arm.c: Ditto. Use.
* config/arm/arm.h: Ditto.
* config/arm/arm-protos.h: Ditto.
* config/i386/i386.c: Ditto.
* config/i386/i386.h: Ditto.
* config/rs6000/rs6000.c: Ditto.
* config/rs6000/rs6000.h: Ditto.
* config/sh/sh.c: Ditto.
* config/sh/sh.h: Ditto.
* config/sh/sh-protos.h: Ditto.
* config/sh/sh.md: Use.
* doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
to TARGET_VECTOR_MODE_SUPPORTED_P.
2004-08-23 Eric Christopher <echristo@redhat.com>
* trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
usage. Use build_vector_type_for_mode for vector types.
From-SVN: r86453
|
|
From-SVN: r86449
|
|
slllowwwly and shows quadratic behaviour.)
PR 13465
* data.c (find_con_by_offset): Search ordered list; handle
elements with repeat counts.
(gfc_assign_data_value_range): New.
* gfortran.h (struct gfc_data_value): Make repeat unsigned.
(gfc_assign_data_value_range): Declare.
* match.c (top_val_list): Extract repeat count into a temporary.
* resolve.c (values): Make left unsigned.
(next_data_value): Don't decrement left.
(check_data_variable): Use gfc_assign_data_value_range.
From-SVN: r86443
|
|
2004-08-22 Andrew Pinski <apinski@apple.com>
Revert:
2004-08-22 Andrew Pinski <apinski@apple.com>
PR c++/14029
* typeck.c (build_unary_op): Use &a.b if the foldded lowered
expression is not constant.
[[Split portion of a mixed commit.]]
From-SVN: r86431.2
|
|
* Makefile.in (BUILD_ERRORS): Set to build-errors.
(errors.o): New target for host.
(build-errors.o): New target for build.
(genobjs): Replace errors.o with build-errors.
(gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
(GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
(fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
(fix-header.o): Add errors.h
* collect2.c (fancy_abort): Add parameters.
* collect2.h (fancy_abort): Don't declare.
* errors.h (fancy_abort): Don't declare.
* errors.c: Include either bconfig.h or config.h.
(fancy_abort): Trim filename.
* fix-header.c (v_fatal, fatal): Remove.
(progname): Remove definition.
(main): Set progname here.
* gcc.c (fancy_abort): Add parameters.
* gcc.h (fancy_abort): Remove declaration.
* gcov.c (fancy_abort): Remove.
* rtl.h (fancy_abort): Don't declare.
(abort): Don't define.
* tree.h (fancy_abort): Don't declare.
(abort): Don't define.
* system.h (fancy_abort): Declare.
(abort): Define to fancy_abort.
* fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
* java/jv-scan.c (fancy_abort): Add.
From-SVN: r86424
|
|
* tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
(usize_type, ubitsizetype): Remove.
* stor-layout.c (set_sizetype): Don't initialize usizetype,
ubitsizetype.
* fold-const.c (size_diffop): TYPE can never be ubitsizetype.
From-SVN: r86422
|
|
* tree.h (build_distinct_type_copy): New.
(build_type_copy): ... here. Rename to ...
(build_variant_type_copy): ... here.
* tree.c (build_qualified_type): Rename build_type_copy call.
(build_distinct_type_copy): New, broken out of ...
(build_type_copy): ... here. Rename to ...
(build_variant_type_copy): ... here. Use
build_distinct_type_copy.
(build_common_tree_nodes_2): Rename build_type_copy call.
* c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
call.
(handle_packed_attribute, handle_unused_attribute,
handle_transparanet_union_attribute, handle_aligned_attribute,
handle_deprecated_attribute): Likewise.
* c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
Likewise.
* config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
* config/rs6000/rs6000.c (rs6000_init_builtins): Use
build_distinct_type_copy.
* cp/name-lookup.c (pushdecl): Rename build_type_copy call.
* cp/tree.c (cp_build_qualified_type_real,
build_exception_variant, handle_java_interface_attribute): Likewise.
From-SVN: r86421
|
|
* config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode
attribute.
From-SVN: r86420
|
|
* config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
loads and stores.
(*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
formerly unnamed patterns. Redefine using :P for the address. Remove
explicit length attributes.
From-SVN: r86419
|
|
* tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
New functions.
(single_reachable_address): Use them.
(schedule_sm): Add dump.
(is_call_clobbered_ref): New function.
(determine_lsm_reg): Check whether the reference is call clobbered.
Only work for gimple_reg_type values.
From-SVN: r86418
|
|
* config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
$31 store insns. Redefine using :GPR.
From-SVN: r86417
|
|
* config/mips/mips.md (P): New mode macro.
(*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
(*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
Add mode attributes.
From-SVN: r86416
|
|
From-SVN: r86415
|
|
* config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
(UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants. Shuffle
later constants to cover the gap.
(load, store): New mode attributes.
(mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
Use new unspec constants.
From-SVN: r86414
|
|
* config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
(and[sd]3, ior[sd]i3, xor[sd]i3): Likewise. Change 32-bit patterns
to use register_operand rather than uns_arith_operand as the predicate
for operand 1. Remove redundant MIPS16 force_reg() for operand 1.
(*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
Redefine using :GPR. Make same predicate change here. Extend the
commutativity of operands 1 and 2 from the SImode version to the
DImode one.
(*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
but with no predicate changes.
(*nor[sd]i3): Redefine using :GPR.
From-SVN: r86413
|
|
functions.
* tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
noreturn functions.
From-SVN: r86411
|
|
* config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
* config/mips/mips.md (abs[sd]i2): Redefine using :GPR. Only use
branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY. Use "%."
rather than "%z2" (with a fake const0_rtx for operand 2).
(ffs[sd]i2): Redefine using :GPR.
(clz[sd]i2): Likewise. Use ISA_HAS_CLO_CLZ for the 64-bit case.
From-SVN: r86409
|
|
From-SVN: r86408
|
|
* config/mips/mips.md (any_extend): New code macro.
(u, su): New code attributes.
({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
(*{s,u}mul_acc_di): Redefine using any_extend.
(*{,u}muls_di, *{s,u}msac_di): Likewise. Change names of patterns
to reflect real insn names.
(*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
with an any_extend template.
({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
Add '*' to name.
From-SVN: r86407
|
|
* config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
* config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
(mul[sd]i3_r4000): Redefine using :GPR.
(mulsi3_mult3): Don't check TARGET_MAD separately.
(muldi3_mult3): Moved after mulsi_mult3.
From-SVN: r86406
|
|
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
|
|
* read-rtl.c (map_value, mapping, macro_group): New structures.
(BELLWETHER_CODE): New macro.
(modes, codes, bellwether_codes): New variables.
(find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
(uses_code_macro_p, apply_code_macro, apply_macro_to_string)
(apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
(add_condition_to_rtx, apply_macro_traverse, add_mapping)
(add_map_value, initialize_macros): New functions.
(def_hash, def_hash_eq_p): Generalize to anything that points to,
or starts with, a char * field.
(find_macro, read_mapping, check_code_macro): New functions.
(read_rtx_1): New, split out from read_rtx. Handle the new
define_{mode,code}_{macro,attr} constructs. Use find_macro
to parse the name of a code or mode. Use BELLWETHER_CODE to
extract the format and to choose a suitable code for rtx_alloc.
Modify recursive invocations to use read_rtx_1.
(read_rtx): Call initialize_macros. Apply code and mode macros
to the rtx returned by read_rtx_1. Cache everything after the
first macro expansion for subsequent read_rtx calls.
* doc/md.texi: Document new .md constructs.
* config/mips/mips.md (GPR): New mode macro.
(d, si8_di5): New mode attributes.
(any_cond): New code macro.
(add[sd]i3): Redefine using :GPR.
(*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
(*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
previously unnamed MIPS16 patterns.
(*addsi3_extended): Renamed from addsi3_internal_2. Fix overly long
lines. Don't match (plus (const_int 0) ...).
(*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
Use a define_split to generate the addition.
(sub[sd]i3): Redefine using :GPR. Turn subsi3 into a define_insn.
(subsi3_internal): Delete.
(*subsi3_extended): Renamed from subsi3_internal_2.
(bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
(beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
using an any_cond template.
From-SVN: r86404
|
|
From-SVN: r86403
|
|
* read-rtl.c (string_obstack): New file-scope variable.
(read_string, read_quoted_string, read_braced_string)
(read_escape): Remove obstack parameter and use string_obstack instead.
(read_rtx): Remove function-local rtl_obstack and initialize
string_obstack instead. Update call to read_string.
From-SVN: r86402
|
|
addressable fields)
2004-08-22 Andrew Pinski <apinski@apple.com>
PR c/15262
* c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
expression is not constant.
(c_finish_return): Do not go through INDIRECT_REF when looking
for the inner expression of an ADDR_EXPR for warning about.
2004-08-22 Andrew Pinski <apinski@apple.com>
* g++.dg/opt/pr14029.C: New test.
* gcc.c-torture/execute/pr15262.c: New test.
2004-08-22 Andrew Pinski <apinski@apple.com>
PR c++/14029
* typeck.c (build_unary_op): Use &a.b if the foldded lowered
expression is not constant.
From-SVN: r86396
|
|
From-SVN: r86392
|
|
PR 17075
* cfgexpand.c (expand_gimple_tailcall): Detect when we can both
create new blocks and fall through.
(expand_gimple_basic_block): Update to match.
From-SVN: r86389
|
|
* reload.c (find_reloads_address): Make return value tri-state.
Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
(find_reloads): Assume that reloaded addresses match 'o' or
EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
returned 1 (not -1). Omit optional reloads for address operands
only if find_reloads_address returned 1 (not -1).
* config/s390/s390.c (legitimize_reload_address): New function.
* config/s390/s390-protos.h (legitimize_reload_address): Declare.
* config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define. Call
legitimize_reload_address.
From-SVN: r86388
|
|
* tree.h (SAVE_EXPR_RESOLVED_P): New.
* gimplify.c (gimplify_save_expr): Use it.
* expr.c (expand_expr_real_1): Likewise. Also set DECL_IGNORED_P
on the temporary variable.
From-SVN: r86387
|
|
From-SVN: r86385
|
|
2004-08-22 Andrew Pinski <pinskia@physics.uc.edu>
* fold-const.c (rtl_expr_nonnegative_p): Delete.
* tree.h (rtl_expr_nonnegative_p): Remove.
From-SVN: r86381
|
|
* config/i386/ppro.md (ppro_complex_insn): Add missing check
for cpu==pentiumpro.
* combine.c (struct reg_stat): Fix comment typo.
From-SVN: r86380
|
|
From-SVN: r86379
|
|
From-SVN: r86378
|
|
* check.c (gfc_check_reduction): Rename to ...
(check_reduction): ... this. Make static. Don't check type of
first argument.
(gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions.
* intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT and
SUM to use new check functions.
(check_specific): Change logic to call new functions.
* intrinsic.h (gfc_check_minval_maxval, gfc_check_product_sum):
Add prototypes.
(gfc_check_reduction): Remove prototype.
From-SVN: r86377
|
|
From-SVN: r86371
|
|
* c-decl.c (set_array_declarator_type): Rename to
set_array_declarator_inner.
(build_c_parm, build_attrs_declarator, build_function_declarator):
New functions.
(make_pointer_declarator): Call build_attrs_declarator.
* c-tree.h (set_array_declarator_type): Rename to
set_array_declarator_inner.
(build_c_parm, build_attrs_declarator, build_function_declarator):
New prototypes.
* c-parse.in (after_type_declarator,
parm_declarator_starttypename, parm_declarator_nostarttypename,
notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
firstparm): Use these functions
From-SVN: r86367
|
|
bool.
* c-decl.c (build_array_declarator, set_array_declarator_type,
start_decl, grokdeclarator, grokparms): Change boolean parameters
to type bool.
* c-tree.h (build_array_declarator, set_array_declarator_type,
start_decl): Update prototypes.
* c-decl.c, c-parse.in: All callers changed.
From-SVN: r86366
|
|
* config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
(darwin_fix_and_continue): Likewise.
(darwin_fix_and_continue_switch): Likewise.
* config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
(darwin_fix_and_continue): Likewise.
(darwin_fix_and_continue_switch): Likewise.
From-SVN: r86365
|
|
2004-08-21 Bud Davis <bdavis9659@comcast.net>
PR 16908
* io/transfer.c (next_record_w): Do not blank pad.
* io/transfer.c (next_record): Take into account partial records.
testsuite/
* gfortran.dg/direct_io.f90: New test.
From-SVN: r86361
|
|
From-SVN: r86358
|
|
* config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
Remove, merging into ...
(gen_stdcall_or_fastcall_suffix): New function, returning tree
rather than const char*, and accepting additional parameter.
Don't add suffix to '*'-prefixed symbols or variadic functions.
(i386_pe_encode_section_info): Adjust for call to new function.
Call change_decl_assembler_name.
From-SVN: r86357
|
|
* config/darwin.c (machopic_indirect_data_reference): Mark
stubs as defined.
* config/386/386.c (darwin_local_data_pic): Add.
(legitimate_constant_p): Reorder so that PLUS handling runs
before darwin_local_data_pic to match the ordering in
legitimate_pic_address_disp_p and so that MINUS runs after
darwin_local_data_pic as otherwise the darwin_local_data_pic
logic can be skipped, which would be very bad.
(legitimate_pic_address_disp_p): Move from from here to
darwin_local_data_pic so it can be reused.
From-SVN: r86355
|
|
* config/rs6000/linux64.h (DOT_SYMBOLS): Define.
(CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
(ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
(ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
(RS6000_ABI_NAME): Define as "linux".
(SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
* config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
* config/rs6000/rs6000.c (dot_symbols): New global var.
(rs6000_output_function_entry): New function, modified for
!DOT_SYMBOLS..
(print_operand <case 'z'>): ..extracted from here.
(rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
(rs6000_output_function_epilogue): Likewise.
(rs6000_elf_declare_function_name): Likewise.
* config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
(ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
* configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r86354
|
|
PR c++/17121
* decl.c (expand_static_init): Use DECL_FUNCTION_SCOPE_P.
PR c++/17121
* g++.dg/inherit/local2.C: New test.
From-SVN: r86353
|
|
truth value)
cp:
PR c++/17120
* pt.c (tsubst_copy_and_build): Avoid clearing TREE_NO_WARNING for
MODOP_EXPR.
testsuite:
* g++.dg/warn/Wparentheses-4.C: New test.
From-SVN: r86351
|
|
From-SVN: r86349
|
|
From-SVN: r86345
|
|
* gcc.dg/darwin-longlong.c: Include <stdlib.h>.
* gcc.dg/ppc-ldstruct.c: Likewise.
* gcc.dg/ppc64-abi-2.c: Likewise.
From-SVN: r86344
|
|
* reload.c (find_reloads_address): Reload the sum of a LO_SUM and
a CONST_INT.
From-SVN: r86342
|