calls.c (precompute_register_parameters): Force all PARALLELs into pseudo registers.
* calls.c (precompute_register_parameters): Force all PARALLELs
into pseudo registers.
(load_register_parameters): Copy PARALLELs into hard registers.
* function.c (assign_parm_setup_block): Copy PARALLELS into
pseudo registers. Do emit_group_store in conversion_insns.
* expr.c (emit_group_load_1): Rename from emit_group_load, take
tmps as an argument. Move final copy loop ...
(emit_group_load): ... here. New function.
(emit_group_load_into_temps, emit_group_move_into_temps): New.
* expr.h: Declare them.
re PR target/18347 (mmix-knuth-mmixware testsuite failure: gcc.dg/uninit-C.c)
PR target/18347
* config/mmix/mmix.c (mmix_function_outgoing_value): Handle
TImode. Sorry for other non-complex larger-than-64-bit modes.
* config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
Mike Stump [Sat, 13 Nov 2004 06:46:45 +0000 (06:46 +0000)]
cppinternals.texi (Index): Fix html generation with makeinfo by renaming this node to Concept Index.
* doc/cppinternals.texi (Index): Fix html generation with makeinfo by
renaming this node to Concept Index.
* doc/gccint.texi (Index): Likewise. Also minor formatting tweaks
to more closely match gcc.texi.
Jeff Law [Sat, 13 Nov 2004 04:18:54 +0000 (21:18 -0700)]
tree-cfg.c (hashtab.h): Include.
* tree-cfg.c (hashtab.h): Include.
(struct edge_to_case_leader_elt): New structure.
(edge_to_case_leader): New.
(edge_to_case_leader_hash): New hashtable hasing function.
(edge_to_case_leader_eq): New hashtable equality function.
(record_switch_edge): New function.
(get_case_leader_for_edge, get_case_leader_for_edge): New functions.
(make_switch_expr_edges): Build the edge-to-case-leader
hash table. Tear down the hash table when we're done.
(cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
CASE_LABEL.
(tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
(tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
to use new concept of case leaders to reduce overhead of
redirecting outgoing edges from switch statements.
* tree.c (get_case_label): New function.
* tree.h (CASE_LABEL): Define in terms of get_case_label.
(CASE_LEADER_OR_LABEL): Define.
Andrew Pinski [Fri, 12 Nov 2004 19:43:57 +0000 (19:43 +0000)]
re PR testsuite/14264 (testsuite should set LC_ALL/LANG to C)
2004-11-12 Andrew Pinski <pinskia@physics.uc.edu>
PR other/14264
* lib/g++.exp: Set LC_ALL and LANG to C.
* lib/gcc-dg.exp: Likewise.
* lib/gfortran.exp: Likewise.
* lib/objc.exp: Likewise.
* lib/treelang.exp: Likewise.
2004-11-12 Andrew Pinski <pinskia@physics.uc.edu>
PR other/14264
* testsuite/lib/libstdc++.exp: Set LC_ALL and LANG to C.
2004-11-12 Andrew Pinski <pinskia@physics.uc.edu>
PR other/14264
* testsuite/lib/libjava.exp: Set LC_ALL and LANG to C.
Casey Marshall [Fri, 12 Nov 2004 19:15:27 +0000 (19:15 +0000)]
FileLock.java (isValid): locks are valid if the channel is open.
2004-11-11 Casey Marshall <csm@gnu.org>
* gnu/java/nio/FileLock.java (isValid): locks are valid if the
channel is open.
* gnu/java/nio/channels/natFileChannelPosix.cc (lock): use
'F_RDLCK' for shared locks, 'F_WRLCK' for exclusive locks.
Geoffrey Keating [Fri, 12 Nov 2004 19:15:22 +0000 (19:15 +0000)]
re PR other/18423 (powerpc-eabisim build broken due to configure skipping fixincludes)
PR 18423
* configure.in: Remove all instances of build-fixincludes from
noconfigdirs.
(build_configargs): Supply --target to subdirectories.
* configure: Regenerate.
Mark Mitchell [Fri, 12 Nov 2004 16:37:52 +0000 (16:37 +0000)]
re PR c++/18416 (ICE in import_export_decl)
PR c++/18416
* passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
when deciding whether to pass a variable to
cgraph_varpool_finalize_decl or assemble_variable.
* toplev.c (check_global_declarations): Do not clear DECL_RTL.
Steven Bosscher [Fri, 12 Nov 2004 00:08:41 +0000 (00:08 +0000)]
tree-ssa.c (walk_use_def_chains_1): Make the visited map a pointer set instead of a bitmap.
* tree-ssa.c (walk_use_def_chains_1): Make the visited map a
pointer set instead of a bitmap.
(walk_use_def_chains): Create, pass and clean up that pointer_set.
* tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
field an sbitmap.
(init_alias_info): Allocate and zero it here.
(delete_alias_info): Delete it here.
(collect_points_to_info_for): Use it.
Kazu Hirata [Thu, 11 Nov 2004 23:15:52 +0000 (23:15 +0000)]
varasm.c (get_named_section_flags, [...]): Make them static.
* varasm.c (get_named_section_flags, decl_tls_model): Make
them static.
* output.h: Remove the prototype for get_named_section_flags.
* tree.h: Remove the prototype for decl_tls_model.
Kazu Hirata [Thu, 11 Nov 2004 23:08:56 +0000 (23:08 +0000)]
alias.c (record_alias_subset, [...]): Make them static.
* alias.c (record_alias_subset, addr_side_effect_eval):
Make them static.
* alias.h: Remove the prototype for record_alias_subset.
* expr.h: Remove the commented-out prototype for
record_alias_subset.
* rtl.h: Remove the prototype for addr_side_effect_eval.
Janis Johnson [Thu, 11 Nov 2004 18:00:30 +0000 (18:00 +0000)]
linkage.exp: Prepend directory name to pass/fail message...
* gcc.misc-tests/linkage.exp: Prepend directory name to pass/fail
message, delete generated files, use more descriptive name for
executable, and make the test unsupported when it cannot be run.
Janis Johnson [Thu, 11 Nov 2004 17:59:05 +0000 (17:59 +0000)]
gcc-dg.exp (skip_test_and_clear_xfail): New procedure.
* lib/gcc-dg.exp (skip_test_and_clear_xfail): New procedure.
(dg-require-weak, dg-require-visibility, dg-require-alias,
dg-require-gc-sections, dg-require-profiling, dg-require-dll,
dg-require-iconv, dg-require-named-sections): Use it.
Nathan Sidwell [Thu, 11 Nov 2004 17:03:36 +0000 (17:03 +0000)]
re PR target/16457 (PowerPC - Combine two rldicr instructions into a single rlwinm.)
.: PR target/16457
* config/rs6000/rs6000.c (mask64_2_operand): Stub to call
mask64_1or2_operand.
(mask64_1or_2_operand): Broken out of mask64_2_operand, add flag
to spot rlwinm opportunities.
(and64_2_operand): Use mask_1or2_operand.
* config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
testsuite:
PR target/16457
* gcc.dg/ppc-and-1: New
* tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
(vect_update_ivs_after_vectorizer): Update function documentation.
Avoid quadratic behavior and direct write to PHI_ARG_DEF.
Nathan Sidwell [Thu, 11 Nov 2004 10:36:27 +0000 (10:36 +0000)]
bitmap.h (nBITMAP_WORD_BITS): Remove.
* bitmap.h (nBITMAP_WORD_BITS): Remove.
(BITMAP_WORD_BITS): Force unsigned by use of 1u.
(BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
unnecessary casts.
(bitmap_first_set_bit): Return unsigned, use ctzl.
(bitmap_last_set_bit): Remove.
* bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
unsigned.
(bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
remove special case code for two word elements.
(bitmap_last_set_bit): Remove.
* ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
bitmap_first_set_bit with bitmap_empty_p.
* tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
* tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
bitmap_last_bit_set.
Nathan Sidwell [Thu, 11 Nov 2004 08:40:43 +0000 (08:40 +0000)]
re PR target/16458 (PowerPC - redundant compare)
.: PR target/16458
* config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
unsigned equality compare when we know the operands are unsigned.
testsuite:
PR target/16458
* gcc.dg/ppc-compare-1.c: New.
linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ only if TARGET_ABICALLS.
2004-11-10 Peter S. Mazinger <ps.m@gmx.net>
* config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
__PIC__ and __pic__ only if TARGET_ABICALLS.
(SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
(SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
-KPIC only if not -mno-abicalls.
* config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
* config/sparc/linux.h, config/sparc/linux64.h
(TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
David Edelsohn [Wed, 10 Nov 2004 21:57:14 +0000 (21:57 +0000)]
rs6000.md (define_attr "type"): Add two and three.
* config/rs6000/rs6000.md (define_attr "type"): Add two and three.
Change multi-instruction sequences to new attribute.
* config/rs6000/{40x.md,440.md,603.md,6xx.md,
7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.