Tobias Burnus [Thu, 13 Sep 2007 18:03:39 +0000 (20:03 +0200)]
symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive): Allow prefixes only to be specified once.
2007-09-13 Tobias Burnus <burnus@net-b.de>
* symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive):
Allow prefixes only to be specified once.
2007-09-13 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/recursive_check_3.f90: New.
From-SVN: r128472
Tobias Burnus [Thu, 13 Sep 2007 17:58:10 +0000 (19:58 +0200)]
re PR fortran/33412 (Bind(C): ELEMENTAL procedure conflicts with BIND(C))
2007-09-13 Tobias Burnus <burnus@net-b.de>
PR fortran/33412
* symbol.c (check_conflict): Add conflict of ELEMENTAL with Bind(C).
2007-09-13 Tobias Burnus <burnus@net-b.de>
PR fortran/33412
* gfortran.dg/elemental_bind_c.f90: New.
From-SVN: r128471
Bernd Schmidt [Thu, 13 Sep 2007 17:16:29 +0000 (17:16 +0000)]
bfin.md (reload_outpdi, [...]): New patterns.
* config/bfin/bfin.md (reload_outpdi, reload_inpdi): New patterns.
* config/bfin/bfin.c (bfin_secondary_reload): Make sure we use them.
From-SVN: r128470
James E Wilson [Thu, 13 Sep 2007 16:33:49 +0000 (09:33 -0700)]
re PR tree-optimization/33389 (Revision 128239 causes libgomp failure)
2007-09-13 James E. Wilson <wilson@specifix.com>
PR tree-optimization/33389
* tree-ssa-operands.c (append_vuse): If ann->in_vdef_list true,
then set build_loads before returning.
From-SVN: r128469
Sandra Loosemore [Thu, 13 Sep 2007 14:54:12 +0000 (10:54 -0400)]
mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with {d}addiu and a negative immediate such that it works with...
2007-09-13 Sandra Loosemore <sandra@codesourcery.com>
David Ung <davidu@mips.com>
gcc/
* config/mips/mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with
{d}addiu and a negative immediate such that it works with MIPS16
instructions.
Co-Authored-By: David Ung <davidu@mips.com>
From-SVN: r128468
H.J. Lu [Thu, 13 Sep 2007 14:12:37 +0000 (14:12 +0000)]
re PR bootstrap/33418 ([4.1/4.2/4.3]: Gcc failed to detect HJL's binutils linker)
2007-09-13 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/33418
* configure.ac (ld_vers): Support Linux linker.
* configure: Regenerated.
From-SVN: r128465
Robert Dewar [Thu, 13 Sep 2007 12:52:18 +0000 (12:52 +0000)]
Implement pragma Compiler_Unit and adds it to relevant library units.
From-SVN: r128461
Richard Sandiford [Thu, 13 Sep 2007 12:44:10 +0000 (12:44 +0000)]
mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete.
gcc/
2007-09-13 Richard Sandiford <richard@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete.
(SYMBOL_REF_MIPS16_FUNC_P): Delete.
* config/mips/mips.c (mips_attribute_table): Turn mips16 and
nomips16 into decl attributes.
(TARGET_INSERT_ATTRIBUTES): Override.
(TARGET_MERGE_DECL_ATTRIBUTES): Likewise.
(TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Always return true.
(mips_mips16_type_p, mips_nomips16_type_p): Delete in favor of...
(mips_mips16_decl_p, mips_nomips16_decl_p): ...these new functions.
(mips_comp_type_attributes): Remove mips16 and nomips16 handling.
(mips_use_mips16_mode_p): Reimplement as a function that takes
a decl and considers only decl attributes. If the decl is nested
function, use its parent attributes.
(mips_function_ok_for_sibcall): Use mips_use_mips16_mode_p
instead of SYMBOL_REF_MIPS16_FUNC_P.
(mips_set_mips16_mode): Move call to sorry here from old
mips_use_mips16_mode_p.
(mflip_mips16_entry): New structure.
(mflip_mips16_htab): New variable.
(mflip_mips16_htab_hash, mflip_mips16_htab_eq): New functions.
(mflip_mips16_use_mips16_p, mips_insert_attributes): Likewise.
(mips_merge_decl_attributes): New function.
(mips_set_current_function): Reinstate call to mips_set_mips16_mode.
Use mips_use_mips16_mode_p.
(mips_output_mi_thunk): Use mips_use_mips16_mode_p instead of
SYMBOL_REF_MIPS16_FUNC_P.
(mips_encode_section_info): Don't set SYMBOL_FLAG_MIPS16_FUNC.
gcc/testsuite/
* gcc.dg/gcc-have-sync-compare-and-swap.c: Skip for -mflip-mips16.
* gcc.target/mips/mips16-attributes-2.c: New test.
* gcc.target/mips/mips16-attributes-3.c: Likewise.
* gcc.target/mips/args-3.c: Skip for -mflip-mips16. Do not use the
hard-float asm when __mips16 is defined.
* gcc.target/mips/atomic-memory-1.c (main): Add a nomips16 attribute.
* gcc.target/mips/atomic-memory-2.c (main): Likewise.
* gcc.target/mips/fpcmp-1.c (f1, f2): Likewise.
* gcc.target/mips/fpcmp-2.c (f1, f2): Likewise.
* gcc.target/mips/neg-abs-1.c (f1, f2, d1, f2): Likewise.
* gcc.target/mips/pr26765.c (foo): Likewise.
* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Run for all
targets, use dg-mips-options instead of dg-options, and use -mgp32
to force 32-bit mode.
* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise -mgp64
and 64-bit mode.
* gcc.target/mips/mips.exp (is_gp32_flag): Return true for -mips32*.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r128460
Richard Sandiford [Thu, 13 Sep 2007 12:27:00 +0000 (12:27 +0000)]
c-parser.c (c_parser_struct_declaration): Check for a null return.
gcc/
* c-parser.c (c_parser_struct_declaration): Check for a null return.
From-SVN: r128459
François-Xavier Coudert [Thu, 13 Sep 2007 10:10:11 +0000 (10:10 +0000)]
re PR bootstrap/33309 (gcc.c:6236: error: passing argument 1 of 'xputenv' discards qualifiers from pointer target type)
PR driver/33309
* gcc.c (xputenv): Make argument const, and use CONST_CAST.
From-SVN: r128457
Michael Meissner [Thu, 13 Sep 2007 02:17:51 +0000 (02:17 +0000)]
Add AMD SSE5 support; Add iterator over function arguments; Add stdarg_p, prototype_p, function_args_count functions
From-SVN: r128455
John David Anglin [Thu, 13 Sep 2007 00:43:04 +0000 (00:43 +0000)]
re PR testsuite/33153 (FAIL: gcc.dg/pr32912-[12].c (test for excess errors))
PR testsuite/33153
* gcc.dg/pr32912-1.c: Add -fno-common to options on hppa*-*-hpux*.
* gcc.dg/pr32912-2.c: Delete declaration of a, b, c, d, e and f.
From-SVN: r128454
GCC Administrator [Thu, 13 Sep 2007 00:17:04 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128452
Janis Johnson [Thu, 13 Sep 2007 00:07:54 +0000 (00:07 +0000)]
dfp-bit.c (dfp_conversion_exception): New function.
* config/dfp-bit.c (dfp_conversion_exception): New function.
(DFP_TO_DFP) Add new variants to use direct conversions in decNumber.
(DFP_TO_INT): Ditto.
(INT_TO_DFP): Ditto.
* config/dfp-bit.h (DEC_FLOAT_FROM_INT, DEC_FLOAT_TO_INT): New.
From-SVN: r128449
Benjamin Kosnik [Wed, 12 Sep 2007 23:06:27 +0000 (23:06 +0000)]
*: Change namespace pb_ds to __gnu_pbds.
2007-09-12 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/pb_ds/*: Change namespace pb_ds to __gnu_pbds.
* docs/html/ext/pb_ds/*: Same.
* testsuite/ext/pb_ds/*: Same.
* testsuite/performance/ext/pb_ds/*: Same.
* testsuite/util/*: Same.
From-SVN: r128448
Jakub Jelinek [Wed, 12 Sep 2007 21:19:51 +0000 (23:19 +0200)]
re PR target/32338 (Error: .prologue within prologue)
PR target/32338
* config/ia64/ia64.c (ia64_expand_epilogue): Emit blockage
before sp restoration even when total_size is 0, but
frame_pointer_needed.
* gcc.dg/pr32338-1.c: New test.
* gcc.dg/pr32338-2.c: New test.
From-SVN: r128446
Bob Wilson [Wed, 12 Sep 2007 17:57:05 +0000 (17:57 +0000)]
target-supports.exp (check_effective_target_sync_int_long): Revert change to add xtensa.
* lib/target-supports.exp (check_effective_target_sync_int_long):
Revert change to add xtensa.
(check_effective_target_sync_char_short): Likewise.
From-SVN: r128444
Bob Wilson [Wed, 12 Sep 2007 16:57:25 +0000 (16:57 +0000)]
xtensa.c (machine_function): Add vararg_a7_copy.
* config/xtensa/xtensa.c (machine_function): Add vararg_a7_copy.
(xtensa_copy_incoming_a7): Use start_sequence instead of
push_to_sequence. Stash insns in vararg_a7_copy for builtin_saveregs.
(xtensa_builtin_saveregs): Place code from vararg_a7_copy at the start
of the saveregs sequence.
From-SVN: r128443
Francois-Xavier Coudert [Wed, 12 Sep 2007 16:20:27 +0000 (16:20 +0000)]
* io/io.h: Include libgfortran.h first.
From-SVN: r128442
Eric Botcazou [Wed, 12 Sep 2007 15:52:57 +0000 (15:52 +0000)]
re PR ada/26797 (ACATS cxh1001 fails)
PR ada/26797
PR ada/32407
* utils.c (unchecked_convert): Use a subtype as the intermediate type
in the special VIEW_CONVERT_EXPR case.
From-SVN: r128441
Benjamin Kosnik [Wed, 12 Sep 2007 15:33:43 +0000 (15:33 +0000)]
find.h: Doxygen fixups.
2007-09-12 Benjamin Kosnik <bkoz@redhat.com>
* include/parallel/find.h: Doxygen fixups.
* include/bits/hashtable.h: Same.
From-SVN: r128440
David Daney [Wed, 12 Sep 2007 15:24:26 +0000 (15:24 +0000)]
configure.ac: Remove mips64*-*-linux* noconfigdirs section, thus enabling libgcj.
* configure.ac: Remove mips64*-*-linux* noconfigdirs section, thus
enabling libgcj.
* configure: Regenerate.
From-SVN: r128439
David Daney [Wed, 12 Sep 2007 15:16:23 +0000 (15:16 +0000)]
configure.host: Enable interpreter for mips64.
* configure.host: Enable interpreter for mips64. Enable hash
synchronization for all mips*-*-linux* targets.
* sysdep/mips/locks.h (compare_and_swap, compare_and_swap_release) Use
__sync_bool_compare_and_swap instead of in-line asm.
(release_set, read_barrier, write_barrier): Use __sync_synchronize
instead of in-line asm.
From-SVN: r128438
Richard Sandiford [Wed, 12 Sep 2007 13:16:42 +0000 (13:16 +0000)]
c-tree.h (grokfield): Add a "tree *" argument.
gcc/
* c-tree.h (grokfield): Add a "tree *" argument.
* c-decl.c (grokdeclarator): Take a pointer to the decl's attributes.
Chain nested decl attributes to it. Don't call decl_attributes here.
(groktypename): Pass grokdeclarator a pointer to the attribute list.
(start_decl, grokparm, push_parm_decl, start_function): Likewise.
(grokfield): Take a pointer to the decl's attributes and pass
it to grokdeclarator.
* c-parser.c (c_parser_struct_declaration): Update the calls to
grokfield. Call decl_attributes for anonymous struct and union
fields.
From-SVN: r128437
Arnaud Charlet [Wed, 12 Sep 2007 13:13:09 +0000 (15:13 +0200)]
Minor reformatting.
From-SVN: r128436
Arnaud Charlet [Wed, 12 Sep 2007 13:12:49 +0000 (15:12 +0200)]
Update header/comments.
From-SVN: r128435
Arnaud Charlet [Wed, 12 Sep 2007 13:11:54 +0000 (15:11 +0200)]
Minor reformatting.
From-SVN: r128434
Arnaud Charlet [Wed, 12 Sep 2007 13:10:58 +0000 (15:10 +0200)]
Remove s-crtl-vms64.ads, no longer used.
From-SVN: r128433
Arnaud Charlet [Wed, 12 Sep 2007 12:15:07 +0000 (14:15 +0200)]
New tests.
From-SVN: r128432
Arnaud Charlet [Wed, 12 Sep 2007 12:00:14 +0000 (14:00 +0200)]
Resync.
From-SVN: r128431
Arnaud Charlet [Wed, 12 Sep 2007 11:59:17 +0000 (13:59 +0200)]
a-extiti.ads (Timer): The discriminant is a "not null access constant" in the Reference Manual.
* a-extiti.ads (Timer): The discriminant is a "not null access
constant" in the Reference Manual.
(Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
* a-swuwha.adb: Remove junk RM header
* g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
indicator
* g-bytswa.ads: Minor reformatting
* g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads:
Add new constant Thread_Blocking_IO, always True by default, set False
on a per-runtime basis.
(Need_Netdb_Buffer): New constant.
* s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
Added renames for corresponding functions in System.Partition_Interface.
* Makefile.in: Remove VMS specific System.CRTL packages which are no
longer needed.
* s-crtl-vms64.ads: Removed.
From-SVN: r128430
Hristian Kirtchev [Wed, 12 Sep 2007 11:58:59 +0000 (13:58 +0200)]
bindusg.adb (Display): Correct comment for switch -X.
2007-09-12 Hristian Kirtchev <kirtchev@adacore.com>
* bindusg.adb (Display): Correct comment for switch -X. Add a line for
the usage of switch -y.
* switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
when switch -y is present.
* opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
leap seconds in Ada.Calendar and its children.
From-SVN: r128429
Robert Dewar [Wed, 12 Sep 2007 11:58:50 +0000 (13:58 +0200)]
g-thread.ads: Document use of "with GNAT.Threads" to ensure loading the tasking version of...
2007-09-12 Robert Dewar <dewar@adacore.com>
* g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
the tasking version of the Ada run time when foreign threads are
present and there are no explicit Ada tasks or tasking constructs.
* gnat_rm.texi: Clarify documentation of GNAT.Threads.
From-SVN: r128428
Ed Schonberg [Wed, 12 Sep 2007 11:58:40 +0000 (13:58 +0200)]
sem_aggr.adb (Resolve_Record_Aggregate): An others association with a box need not correspond to any component.
2007-09-12 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Resolve_Record_Aggregate): An others association with
a box need not correspond to any component.
From-SVN: r128427
Robert Dewar [Wed, 12 Sep 2007 11:58:21 +0000 (13:58 +0200)]
types.ads, [...]: Minor reformatting.
2007-09-12 Robert Dewar <dewar@adacore.com>
* types.ads, a-charac.ads, freeze.adb: Minor reformatting.
* a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
s-os_lib.adb, s-string.adb, s-utf_32.adb,
a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads,
g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads,
s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb,
s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb,
snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads,
s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads,
s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads,
s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads,
s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
pragma Compiler_Unit and adds it to relevant library units.
From-SVN: r128426
Olivier Hainque [Wed, 12 Sep 2007 10:49:56 +0000 (10:49 +0000)]
decl.c (gnat_to_gnu_entity): For a subtype with discriminant constraints...
2007-09-12 Olivier Hainque <hainque@adacore.com>
ada/
* decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
with discriminant constraints, generalize the code for BIT_FIELDs
to PACKED fields of constant size and propagate DECL_PACKED.
testsuite/
* gnat.dg/packed_subtype.adb: New test.
From-SVN: r128425
Tobias Burnus [Wed, 12 Sep 2007 10:30:22 +0000 (12:30 +0200)]
re PR fortran/33297 (SIZE intrinsic crashes gfortran on invalid usage)
2007-09-12 Tobias Burnus <burnus@net-b.de>
PR fortran/33297
* check.c (scalar_check): Move up in the file.
(kind_check): Call scalar_check.
(dim_check): If optional, do not call nonoptional_check; use
bool for optional.
(gfc_check_all_any,gfc_check_count,gfc_check_cshift,gfc_check_eoshift,
gfc_check_lbound,gfc_check_minloc_maxloc,check_reduction,
gfc_check_spread,gfc_check_ubound): Use true/false instead of 0/1
for dim_check; honor changed meaning of optional.
(gfc_check_int): Replace checks by kind_check.
(gfc_check_size): Replace checks by dim_check.
2007-09-12 Tobias Burnus <burnus@net-b.de>
PR fortran/33297
* gfortran.dg/intrinsic_size.f90: New.
From-SVN: r128424
Tobias Burnus [Wed, 12 Sep 2007 10:27:27 +0000 (12:27 +0200)]
re PR fortran/33284 (ENTRY and INTRINSIC with same name)
2007-09-12 Tobias Burnus <burnus@net-b.de>
PR fortran/33284
PR fortran/33310
* symbol.c (check_conflict): Add conflict between INTRINSIC and ENTRY
and between BIND(C) and PARAMETER.
2007-09-12 Tobias Burnus <burnus@net-b.de>
PR fortran/33284
PR fortran/33310
* gfortran.dg/conflicts_2.f90: New.
From-SVN: r128423
Tobias Burnus [Wed, 12 Sep 2007 09:49:04 +0000 (11:49 +0200)]
trans-expr.c (gfc_conv_initializer): Fix expr == NULL check.
2007-09-12 Tobias Burnus <burnus@net-b.de>
* trans-expr.c (gfc_conv_initializer): Fix expr == NULL check.
From-SVN: r128422
Jan Hubicka [Wed, 12 Sep 2007 09:14:44 +0000 (11:14 +0200)]
c-objc-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
* c-objc-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
* f95-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
* treetree.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
(treelang_expand_function): Kill.
From-SVN: r128421
Ira Rosen [Wed, 12 Sep 2007 08:48:44 +0000 (08:48 +0000)]
tree-vect-analyze.c (vect_analyze_data_ref_dependence): Distinguish between positive and negative dependence distance using DDR_REVERSED_P.
* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Distinguish
between positive and negative dependence distance using DDR_REVERSED_P.
From-SVN: r128420
Richard Guenther [Wed, 12 Sep 2007 08:07:12 +0000 (08:07 +0000)]
re PR middle-end/33382 (internal compiler error: in get_constraint_for_component_ref, at tree-ssa-structalias.c:2454)
2007-09-12 Richard Guenther <rguenther@suse.de>
PR middle-end/33382
* gcc.c-torture/compile/pr33382.c: New testcase.
* gcc.c-torture/execute/pr33382.c: Likewise.
From-SVN: r128419
Christopher D. Rickett [Wed, 12 Sep 2007 07:56:07 +0000 (07:56 +0000)]
re PR fortran/33395 ([ISO_C_BINDING ?] ICE (segfault) in gfc_conv_initializer)
2007-09-12 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/33395
* trans-expr.c (gfc_conv_initializer): Remove unnecessary test for
intmod_sym_id and use derived symbol to set new kind of C_NULL_PTR
and C_NULL_FUNPTR expressions.
2007-09-12 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/33395
* gfortran.dg/c_ptr_tests_12.f03: New test case.
From-SVN: r128418
Christian Bruel [Wed, 12 Sep 2007 07:21:58 +0000 (09:21 +0200)]
fix log format
From-SVN: r128416
Dorit Nuzman [Wed, 12 Sep 2007 07:09:38 +0000 (07:09 +0000)]
re PR tree-optimization/33373 (ICE in vectorizable_type_demotion, at tree-vect-transform.c:4098)
PR tree-optimization/33373
* tree-vect-analyze (vect_determine_vectorization_factor): Call
TREE_INT_CST_LOW when comparing TYPE_SIZE_UNIT.
From-SVN: r128415
Jan Hubicka [Wed, 12 Sep 2007 07:02:31 +0000 (09:02 +0200)]
re PR target/33393 (floatsisf2_sse_vector_nointernunit doesn't work on 32bit)
PR target/33393
* i386.md (floatsisf2_mixed_memory, floatsisf2_sse_memory): Disable for
!SSE_MATH
From-SVN: r128414
Christian Bruel [Wed, 12 Sep 2007 06:59:06 +0000 (08:59 +0200)]
sh.h (SH_DBX_REGISTER_NUMBER): Added fpscr, fixed sr/gbr regs.
http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00945.html
2007-09-12 Christian Bruel <christian.bruel@st.com>
* sh.h (SH_DBX_REGISTER_NUMBER): Added fpscr, fixed sr/gbr regs.
* linux-unwind.h (SH_DWARF_FRAME_GBR): fixed.
From-SVN: r128413
Ira Rosen [Wed, 12 Sep 2007 05:09:17 +0000 (05:09 +0000)]
tree-vect-transform.c (vect_get_slp_defs): Don't build a vector for oprnd1 if not required.
* tree-vect-transform.c (vect_get_slp_defs): Don't build a vector
for oprnd1 if not required.
(vectorizable_operation): Use scalar operand in SLP in case of
shift with scalar argument.
From-SVN: r128412
Ira Rosen [Wed, 12 Sep 2007 05:05:04 +0000 (05:05 +0000)]
params.def (PARAM_MIN_VECT_LOOP_BOUND): Change default and minimum to 1.
* params.def (PARAM_MIN_VECT_LOOP_BOUND): Change default and minimum
to 1.
From-SVN: r128411
H.J. Lu [Wed, 12 Sep 2007 04:44:56 +0000 (21:44 -0700)]
Move the entry to proper ChangeLog.
From-SVN: r128410
James E Wilson [Wed, 12 Sep 2007 04:34:34 +0000 (21:34 -0700)]
defaults.h (DWARF2_UNWIND_INFO): Don't define if TARGET_UNWIND_INFO is defined.
2007-09-11 James E. Wilson <wilson@specifix.com>
* defaults.h (DWARF2_UNWIND_INFO): Don't define if
TARGET_UNWIND_INFO is defined.
* config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Delete undef
after definition.
From-SVN: r128409
Kaz Kojima [Wed, 12 Sep 2007 03:46:53 +0000 (03:46 +0000)]
sh.c (calc_live_regs): Use current_function_saves_all_registers instead of...
* config/sh/sh.c (calc_live_regs): Use
current_function_saves_all_registers instead of
current_function_has_nonlocal_label.
(sh_allocate_initial_value): Likewise.
(sh_get_pr_initial_val): Likewise.
* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Likewise.
* config/sh/sh.md (load_ra): Likewise.
From-SVN: r128408
Hans-Peter Nilsson [Wed, 12 Sep 2007 02:38:10 +0000 (02:38 +0000)]
* config/cris/t-linux (LIMITS_H_TEST): Only define if not inhibit_libc.
From-SVN: r128407
Hans-Peter Nilsson [Wed, 12 Sep 2007 01:56:20 +0000 (01:56 +0000)]
re PR target/33360 (cris build failure)
PR target/33360
* config/cris/cris.c (cris_expand_pic_call_address): Fix typo in
GET_CODE (x) == CONST_INT to CONST_INT_P (x) transformation.
From-SVN: r128406
Ben Elliston [Wed, 12 Sep 2007 01:03:10 +0000 (01:03 +0000)]
target-supports.exp (check_effective_target_vect_no_double): Remove unused proc.
* lib/target-supports.exp (check_effective_target_vect_no_double):
Remove unused proc.
From-SVN: r128405
Ben Elliston [Wed, 12 Sep 2007 00:48:49 +0000 (10:48 +1000)]
spu.c (spu_emit_branch_or_set): Handle NaN values as operands to DFmode GE or LE compares.
* config/spu/spu.c (spu_emit_branch_or_set): Handle NaN values as
operands to DFmode GE or LE compares.
testsuite/
* gcc.target/spu/dfcgt-nan.c: New test.
From-SVN: r128404
GCC Administrator [Wed, 12 Sep 2007 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128402
Janis Johnson [Wed, 12 Sep 2007 00:00:06 +0000 (00:00 +0000)]
* Makefile.in (dfp-filenames): Add bid128_noncomp.
From-SVN: r128399
John David Anglin [Tue, 11 Sep 2007 23:22:07 +0000 (23:22 +0000)]
Add missing '>' from last commit.
From-SVN: r128398
Bernd Schmidt [Tue, 11 Sep 2007 23:20:10 +0000 (23:20 +0000)]
bfin.h (enum reg_class, [...]): Add P0REGS.
* config/bfin/bfin.h (enum reg_class, REG_CLASS_CONTENTS,
REG_CLASS_NAMES): Add P0REGS.
(REGNO_REG_CLASS): Return it where appropriate.
(REG_CLASS_FROM_CONSTRAINT): Add 'qA'.
(CLASS_LIKELY_SPILLED_P): P0REGS is likely_spilled.
* doc/md.texi (Blackfin family): Document 'q' constraints.
From-SVN: r128397
Steve Kenton [Tue, 11 Sep 2007 23:16:01 +0000 (23:16 +0000)]
linux-unwind.h: Guard with inhibit_libc.
* pa/linux-unwind.h: Guard with inhibit_libc.
* pa/hpux-unwind.h: Likewise.
From-SVN: r128396
Johannes Singler [Tue, 11 Sep 2007 22:32:51 +0000 (22:32 +0000)]
Add parallel mode.
2007-09-11 Johannes Singler <singler@ira.uka.de>
Leonor Frias Moya <lfrias@lsi.upc.edu>
Felix Putze <kontakt@felix-putze.de>
Marius Elvert <marius.elvert@ira.uka.de>
Felix Bondarenko <f.bondarenko@web.de>
Robert Geisberger <robert.geisberger@stud.uni-karlsruhe.de>
Robin Dapp <r.dapp@freenet.de>
Benjamin Kosnik <bkoz@redhat.com>
Add parallel mode.
* include/parallel: New.
* include/parallel/iterator.h: New.
* include/parallel/multiway_merge.h: New.
* include/parallel/parallel.h: New.
* include/parallel/algorithm
* include/parallel/find_selectors.h: New.
* include/parallel/losertree.h: New.
* include/parallel/list_partition.h: New.
* include/parallel/types.h: New.
* include/parallel/for_each.h: New.
* include/parallel/multiseq_selection.h: New.
* include/parallel/workstealing.h: New.
* include/parallel/base.h: New.
* include/parallel/par_loop.h: New.
* include/parallel/numeric
* include/parallel/features.h: New.
* include/parallel/quicksort.h: New.
* include/parallel/algorithmfwd.h: New.
* include/parallel/equally_split.h: New.
* include/parallel/compiletime_settings.h: New.
* include/parallel/for_each_selectors.h: New.
* include/parallel/basic_iterator.h: New.
* include/parallel/omp_loop_static.h: New.
* include/parallel/random_shuffle.h: New.
* include/parallel/balanced_quicksort.h: New.
* include/parallel/set_operations.h: New.
* include/parallel/tags.h: New.
* include/parallel/merge.h: New.
* include/parallel/tree.h: New.
* include/parallel/settings.h: New.
* include/parallel/unique_copy.h: New.
* include/parallel/multiway_mergesort.h: New.
* include/parallel/numericfwd.h: New.
* include/parallel/search.h: New.
* include/parallel/partition.h: New.
* include/parallel/compatibility.h: New.
* include/parallel/algobase.h: New.
* include/parallel/find.h: New.
* include/parallel/partial_sum.h: New.
* include/parallel/algo.h: New.
* include/parallel/omp_loop.h: New.
* include/parallel/queue.h: New.
* include/parallel/timing.h: New.
* include/parallel/sort.h: New.
* include/parallel/checkers.h: New.
* include/parallel/random_number.h: New.
* include/bits/algorithmfwd.h: New.
* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): New.
* configure.host: Add atomic_flags.
* configure.ac: Export ATOMIC_FLAGS, call GLIBCXX_ENABLE_PARALLEL.
* src/Makefile.am: Add parallel_list rules.
* include/Makefile.am: Add parallel files.
* testsuite/Makefile.am (check-parallel): Add.
(check-performance-parallel): Add.
* config.h.in: Regenerate.
* configure: Same.
* libsupc++/Makefile.in: Same.
* testsuite/Makefile.in: Same.
* Makefile.in: Same.
* libmath/Makefile.in: Same.
* include/Makefile.in: Same.
* src/Makefile.in: Same.
* po/Makefile.in: Same.
* config/abi/pre/gnu.ver: Export parallel list bits.
* docs/html/parallel_mode.html: New.
* docs/html/documentation.html: Add link.
* docs/doxygen/user.cfg.in: Adjust for new files and directory.
* docs/doxygen/doxygroups.cc: Adjust namespace markup.
* include/debug/set.h: Adjust for _GLIBCXX_STD_D or _P change.
* include/debug/bitset: Same.
* include/debug/multiset.h: Same.
* include/debug/vector: Same.
* include/debug/map.h: Same.
* include/debug/deque: Same.
* include/debug/list: Same.
* include/debug/debug.h: Same.
* include/debug/multimap.h: Same.
* include/std/algorithm: Same.
* include/std/numeric: Same.
* include/std/bitset: Same.
* include/std/string: Same.
* include/ext/hash_map: Same.
* include/ext/hash_set: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/c++config: Same.
* include/bits/vector.tcc: Same.
* include/bits/deque.tcc: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/list.tcc: Same.
* src/list.cc: Same.
* src/parallel_list.cc: New.
* testsuite/lib/libstdc++.exp (check_v3_target_parallel_mode): New.
* testsuite/lib/dg-options.exp (dg-require-parallel-mode): New.
* scripts/testsuite_flags.in (--cxxparallelflags): New.
* scripts/check_performance: Adjust.
* testsuite/25_algorithms/headers/parallel_algorithm.cc: New.
* testsuite/25_algorithms/headers/algorithm_parallel_mode.cc: New.
* testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc: New.
* testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc: New.
* testsuite/26_numerics/headers/numeric/parallel_numeric.cc: New.
* testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc: New.
* testsuite/26_numerics/headers/numeric/
parallel_numeric_mixed1.cc: New.
* testsuite/26_numerics/headers/numeric/
parallel_numeric_mixed2.cc: New.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
Co-Authored-By: Felix Bondarenko <f.bondarenko@web.de>
Co-Authored-By: Felix Putze <kontakt@felix-putze.de>
Co-Authored-By: Leonor Frias Moya <lfrias@lsi.upc.edu>
Co-Authored-By: Marius Elvert <marius.elvert@ira.uka.de>
Co-Authored-By: Robert Geisberger <robert.geisberger@stud.uni-karlsruhe.de>
Co-Authored-By: Robin Dapp <r.dapp@freenet.de>
From-SVN: r128395
Hans-Peter Nilsson [Tue, 11 Sep 2007 21:15:24 +0000 (21:15 +0000)]
* gcc.dg/cpp/trad/include.c: Don't run for newlib targets.
From-SVN: r128394
David Daney [Tue, 11 Sep 2007 20:14:51 +0000 (20:14 +0000)]
invoke.texi: Document new MIPS -mllsc and -mno-llsc options.
* doc/invoke.texi: Document new MIPS -mllsc and -mno-llsc options.
* doc/install.texi: Document new --with-llsc and --without-llsc
options.
* config.gcc: Handle --with-llsc and --without-llsc configure options.
* config/mips/mips.md (sync, memory_barrier): Wrap sync instrunction
in %| and %- operand codes. Depend on GENERATE_SYNC instead of
ISA_HAS_SYNC.
(sync_compare_and_swap<mode>, sync_add<mode>, sync_sub<mode>,
sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>,
sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
sync_new_nand<mode>, sync_lock_test_and_set<mode>): Depend on
GENERATE_LL_SC instead of ISA_HAS_LL_SC.
* config/mips/mips.opt (mllsc): New option.
* config/mips/mips.c (mips_llsc): Define variable.
(mips_handle_option): Handle mllsc option.
(override_options): Set mips_print_operand_punct for '|' and '-'.
(print_operand): Add new %| and %- operand codes.
* config/mips/mips.h (mips_llsc_setting): New enum type.
(mips_llsc): Declare.
(OPTION_DEFAULT_SPECS): Add llsc handling.
(GENERATE_SYNC): New macro.
(GENERATE_LL_SC): New macro.
(MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP, MIPS_SYNC_OLD_OP,
MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Wrap instructions
in %| and %- operand codes.
From-SVN: r128392
Eric Botcazou [Tue, 11 Sep 2007 19:43:02 +0000 (19:43 +0000)]
tree-ssa-structalias.c (push_fields_onto_fieldstack): Deal with TYPE_NONALIASED_COMPONENT like with DECL_NONADDRESSABLE_P.
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Deal with
TYPE_NONALIASED_COMPONENT like with DECL_NONADDRESSABLE_P.
ada/
* decl.c (array_type_has_nonaliased_component): New predicate.
(gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
set the TYPE_NONALIASED_COMPONENT flag on the type.
<E_Array_Subtype>: Likewise.
* gigi.h (type_for_nonaliased_component_p): Declare.
* utils.c (type_for_nonaliased_component_p): New predicate.
(create_field_decl): Invoke the above predicate to set the
DECL_NONADDRESSABLE_P flag on the field.
From-SVN: r128391
Arnaud Charlet [Tue, 11 Sep 2007 16:17:13 +0000 (18:17 +0200)]
Removed, noever used.
From-SVN: r128386
Christopher D. Rickett [Tue, 11 Sep 2007 15:53:22 +0000 (17:53 +0200)]
re PR fortran/33040 ([ISO_C_BINDING] ICE in gfc_trans_structure_assign)
2007-09-11 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/33040
* trans-expr.c (gfc_trans_structure_assign): Convert component
C_NULL_PTR and C_NULL_FUNPTR component initializers to (void *).
* trans-types.c (gfc_get_derived_type): Create a backend_decl for
the c_address field of C_PTR and C_FUNPTR and ensure initializer
is of proper type/kind for (void *).
2007-09-11 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/33040
* gfortran.dg/c_ptr_tests_11.f03: New test case.
From-SVN: r128385
Daniel Jacobowitz [Tue, 11 Sep 2007 15:48:15 +0000 (15:48 +0000)]
libstdc++.exp (libstdc++_init): Revert part of 2007-09-06 change.
* testsuite/lib/libstdc++.exp (libstdc++_init): Revert part of
2007-09-06 change.
From-SVN: r128384
Jason Merrill [Tue, 11 Sep 2007 15:08:57 +0000 (11:08 -0400)]
add pr number
From-SVN: r128381
Jason Merrill [Tue, 11 Sep 2007 15:07:59 +0000 (11:07 -0400)]
re PR middle-end/27945 (Packed struct of variable length has wrong size)
PR middle-end/27945
* stor-layout.c (layout_decl): Do pack variable size fields.
From-SVN: r128380
Francois-Xavier Coudert [Tue, 11 Sep 2007 14:53:02 +0000 (14:53 +0000)]
re PR libfortran/33386 (Fortran SELECT statement miscompiles)
PR libfortran/33386
* runtime/select.c (select_string): Initialize default_jump.
From-SVN: r128379
Maxim Kuvyrkov [Tue, 11 Sep 2007 13:56:30 +0000 (13:56 +0000)]
predicates.md (movsi_const0_operand, [...]): New predicates.
* config/m68k/predicates.md (movsi_const0_operand,
non_symbolic_call_operand): New predicates.
* config/m68k/constraints.md: (Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap, Ac):
New constraints.
* doc/md.texi (Constraints for Particular Machines: Motorola 680x0):
Document constraints N, O, P, R, S, T, Q, U, W, Cs, Ci, C0, Cj, CQ,
CW, CZ, CS, Ap and Ac.
* config/m68k/m68k.md (UNSPEC_IB): New constant.
(constraints.md): New include.
(cpu, type, type1, opx, opy, opx_type, opy_type, size, opx_access,
opx_mem, opy_mem, op_mem, guess, split): New attributes.
(movdf_internal): Name pattern. Fix to use alternatives. Add split.
Specify attributes.
(pushdi): Add split.
(tstsi_internal): Name pattern. Fix to use alternatives. Specify
attributes. Split tstsi_internal_68020_cf from it.
(tstsi_internal_68020_cf): New pattern.
(tsthi_internal, tstqi_internal): Name pattern. Specify attributes.
(tst<mode>_cf): Specify attributea.
(cmpsi_cf): Name pattern. Specify attributes.
(cmp<mode>_68881, cmp<mode>_cf): Specify type attribute.
(pushexthisi_const): Fix to use alternatives. Specify
attributes.
(movsi_const0): Split movsi_const0_68000_10 and movsi_const0_68040_60
from it. Fix to use alternatives. Specify attributes.
(movsi_const0_68040_10, movsi_const0_68040_60): New patterns.
(movsi_cf, movstrictqi_cf): Fix to use alternatives. Specify
attributes.
(movsf_cf_soft): Specify attributes.
(movdf_cf_soft): Add split.
(pushasi, zero_extendhisi2_cf, zero_extendqisi2_cfv4,
cfv4_extendhisi2, 68k_extendhisi2, extendqihi2, cfv4_extendqisi2,
68k_extendqisi2, truncdfsf2_cf): Specify attributes.
(truncdfsf2_68881): Name pattern. Specify attributes.
(floatsi<mode>2_cf, floathi<mode>2_68881, floathi<mode>2_cf,
floatqi<mode>2_68881, floatqi<mode>2_cf, ftrunc<mode>2_cf,
fix<mode>qi2_cf, fix<mode>hi2_cf, fix<mode>si2_cf, adddi_dishl32):
Specify attributes.
(addsi3_5200): Fix to use alternatives. Specify attributes.
Add splits.
(add<mode>3_cf, subdi_dishl32): Specify attributes.
(subsi3): Add alternative for subq.l. Specify attributes.
(sub<mode>3_cf, mulhi3, mulhisi3): Specify attributes.
(mulhisisi3_s, mulsi3_68020, mulsi3_cf): Name pattern. Specify
attributes.
(umulhisi3): Specify attributes.
(mulhisisi3_z): Name pattern. Specify attributes.
(fmul<mode>3_cf, div<mode>3_cf, negsi2_internal, negsi2_5200,
sqrt<mode>2_68881, clzsi2, one_cmplsi2_5200, subreghi1ashrdi_const32,
subregsi1ashrdi_const32, ashrsi3, subreg1lshrdi_const32, lshrsi3,
bsetmemqi): Specify attributes.
(bsetmemqi_ext): Name pattern. Specify attributes.
(bclrmemqi): Specify attributes.
(bclrmemqi_ext, scc, sls): Name pattern. Specify attributes.
(beq, bne, bgt, bgtu, blt, bltu, bge, bgeu, ble, bleu): Specify
attributes.
(beq2, bne2, bgt2, bgtu2, blt2, bltu2, bge2, bgeu2, ble2, bleu2): Name
pattern. Specify attributes.
(jump): Specify attributes.
(tablejump_internal): Name pattern. Specify attributes.
(call_value): Split into non_symbolic_call_value,
symbolic_call_value_jsr, symbolic_call_value_bsr. Fix to use
alternatives. Specify attributes.
(non_symbolic_call_value, symbolic_call_value_jsr,
symbolic_call_value_bsr): New patterns.
(nop, return, unlink, indirect_jump): Specify attributes.
(trap): Fix condition. Specify attributes.
(ib): New pattern.
* config/m68k/m68k.c (m68k_symbolic_call_var): New variable.
(override_options): Initialize it. Initialize m68k_sched_cpu.
(CONST_METHOD): Rename to M68K_CONST_METHOD, move to m68k.h.
(const_method): Make global, rename to m68k_const_method.
(const_int_cost, output_move_const_into_data_reg): Update.
(output_move_double): Parametrize to emit rtl code, rename to
handle_move_double.
(output_reg_adjust, emit_reg_adjust, output_compadr, output_movsi,
emit_movsi): New static functions.
(output_move_double): New function with semantics of old
output_move_double.
(m68k_emit_move_double): New function.
(m68k_sched_cpu): New variable.
(attr_op_type): New enum.
(sched_guess_p): New variable.
(sched_address_type, sched_operand_type, sched_attr_op_type):
New static functions.
(m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
m68k_sched_attr_size, m68k_sched_attr_op_mem): New functions.
(sched_branch_type): New static variable.
(m68k_sched_branch_type): New function.
* config/m68k/m68k.h (M68K_SYMBOLIC_CALL): New enum.
(m68k_symbolic_call_var): Declare.
(M68K_CONST_METHOD): Rename from CONST_METHOD. Move here from m68k.c.
(m68k_const_method, m68k_emit_move_double, m68k_sched_cpu,
m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
m68k_sched_attr_size, m68k_sched_attr_op_mem, m68k_sched_branch_type):
Declare.
From-SVN: r128377
Jakub Jelinek [Tue, 11 Sep 2007 13:40:14 +0000 (15:40 +0200)]
builtins.def (BUILT_IN_VA_ARG_PACK_LEN): New builtin.
* builtins.def (BUILT_IN_VA_ARG_PACK_LEN): New builtin.
* builtins.c (expand_builtin) <case BUILT_IN_VA_ARG_PACK_LEN>: Issue
error if __builtin_va_arg_pack_len () wasn't optimized out during
inlining.
* tree-inline.c (copy_bb): Replace __builtin_va_arg_pack_len ()
with the number of inline's anonymous arguments.
* doc/extend.texi: Document __builtin_va_arg_pack_len ().
* gcc.dg/va-arg-pack-len-1.c: New test.
* g++.dg/va-arg-pack-len-1.C: New test.
From-SVN: r128376
Zdenek Dvorak [Tue, 11 Sep 2007 13:38:08 +0000 (15:38 +0200)]
fold-const.c (extract_muldiv_1): Do not simplify var * c * c to var.
* fold-const.c (extract_muldiv_1): Do not simplify
var * c * c to var.
From-SVN: r128375
Javier Miranda [Tue, 11 Sep 2007 13:31:51 +0000 (13:31 +0000)]
Put back previous change, the random failure was caused by a makefile bug,
causing the Ada run-time not to be recompiled by the new compiler.
From-SVN: r128374
Arnaud Charlet [Tue, 11 Sep 2007 12:13:12 +0000 (14:13 +0200)]
Temporarily undo previous change, which seems to be causing random
failures.
From-SVN: r128372
Javier Miranda [Tue, 11 Sep 2007 11:56:01 +0000 (13:56 +0200)]
Resync.
From-SVN: r128371
Michael Matz [Tue, 11 Sep 2007 11:45:05 +0000 (11:45 +0000)]
* gcc.dg/tree-ssa/loadpre11.c: Add -fno-tree-cselim to flags.
From-SVN: r128370
Jan Hubicka [Tue, 11 Sep 2007 11:38:05 +0000 (13:38 +0200)]
i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
* i386.h (ix86_tune_indices): Add X86_TUNE_INTER_UNIT_CONVERSIONS.
(TARGET_INTER_UNIT_CONVERSIONS): New.
* i386.md (floatsi expanders): Remove redundant check for SImode
source; offload to memory when asked for.
(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse
floatdisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
Update conditions;
(floatsisf2_mixed_memory, floatsisf2_sse_memory,
floatsidf2_mixed_memory, floatsidf2_sse_memory
floatdisf2_mixed_memory, floatsisf2_sse_memory,
floatsidf2_mixed_memory, floatsidf2_sse_memory): New.
From-SVN: r128369
Javier Miranda [Tue, 11 Sep 2007 11:03:53 +0000 (13:03 +0200)]
einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute.
2007-09-11 Javier Miranda <miranda@adacore.com>
* einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
in library level record type entities if we are generating statically
allocated dispatch tables.
* exp_disp.adb (Make_Tags/Make_DT): Replace previous code
importing/exporting the _tag declaration by new code
importing/exporting the dispatch table wrapper. This change allows us
to statically allocate of the TSD.
(Make_DT.Export_DT): New procedure.
(Build_Static_DT): New function.
(Has_DT): New function.
* freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
True_Constant and Current_Value. Required to statically
allocate the dispatch tables.
(Check_Allocator): Make function iterative instead of recursive.
Also return inner allocator node, when present, so that we do not have
to look for that node again in the caller.
From-SVN: r128368
Jan Hubicka [Tue, 11 Sep 2007 10:39:53 +0000 (12:39 +0200)]
decl.c (java_expand_body): Kill.
* decl.c (java_expand_body): Kill.
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
* toplev.c (process_options): all frontends now do unit-at-a-time.
* cgraphunit.c: update comments.
(cgraph_expand_function): call passmanager dirrectly; emit thunks.
* c-decl.c (finish_function): use cgraph_add_new_function.
* method.c (use_thunk): Use tree_rest_of_compilation
* cp-objecp-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
(LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Define.
* cp-tree.h (expand_body): Kill.
(emit_associated_thunks): Declare.
* semantics.c (emit_associated_thunks): Export.
(expand_body): Kill.
* misc.c (gnat_expand_body): Kill.
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
* f95-lang.c (gfc_expand_function): Kill.
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
* function.c (expand_function_end): We are always unit-at-a-time.
From-SVN: r128367
Richard Sandiford [Tue, 11 Sep 2007 10:18:35 +0000 (10:18 +0000)]
mips.c (mips_set_mips16_mode): Use separate anchor settings for MIPS16.
gcc/
* config/mips/mips.c (mips_set_mips16_mode): Use separate anchor
settings for MIPS16.
(mips_use_anchors_for_symbol_p): Use default_use_anchors_for_symbol_p.
From-SVN: r128366
Richard Sandiford [Tue, 11 Sep 2007 09:51:17 +0000 (09:51 +0000)]
mips.c (mips_symbol_insns_1): Allow LEAs of SYMBOL_FORCE_TO_MEM constants.
gcc/
* config/mips/mips.c (mips_symbol_insns_1): Allow LEAs of
SYMBOL_FORCE_TO_MEM constants.
(mips_rtx_costs): Give a cost of 1 to force_to_mem_operands.
(mips16_rewrite_pool_refs_info): New structure.
(mips16_rewrite_pool_constant): New function, split out from...
(mips16_rewrite_pool_refs): ...here. Take a pointer to a
mips16_rewrite_pool_refs_info structure rather than a pointer
to a constant pool. Force force_to_mem_operands into memory.
(mips16_lay_out_constants): Update call to mips16_rewrite_pool_refs.
* config/mips/predicates.md (force_to_mem_operand): New predicate.
* config/mips/constraints.md (kf): New constraint.
* config/mips/mips.md (*movdi_64bit_mips16): Add a d <- kf alternative.
(*movsi_mips16): Likewise.
From-SVN: r128365
Richard Sandiford [Tue, 11 Sep 2007 09:24:59 +0000 (09:24 +0000)]
mips.h (CONSTANT_POOL_COST): Move to...
gcc/
2007-09-11 Richard Sandiford <richard@codesourcery.com>
Nigel Stephens <nigel@mips.com>
David Ung <davidu@mips.com>
* config/mips/mips.h (CONSTANT_POOL_COST): Move to...
* config/mips/mips.c: ...here and set to 4 for TARGET_MIPS16.
(mips16_constant_cost, mips_immediate_operand_p, mips_binary_cost)
(mips_fp_mult_cost, mips_fp_div_cost, mips_sign_extend_cost)
(mips_zero_extend_cost): New functions.
(mips_rtx_costs): Treat COMPARE constants as having zero cost.
Use the new functions. Tweak many cost estimates, both here
and in the new subroutines. Return false when the cost of the
operands has not been calculated. Check for *clear_upper32.
Check for floating-point multiply-add, reciprocal and rsqrt
patterns. Handle comparison and rotation codes.
Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>
From-SVN: r128364
Ben Elliston [Tue, 11 Sep 2007 03:30:24 +0000 (13:30 +1000)]
Add a missing blank line to separate the two most recent entries.
From-SVN: r128363
Danny Smith [Tue, 11 Sep 2007 01:38:40 +0000 (01:38 +0000)]
cygming.h (TARGET_STRIP_NAME_ENCODING): Don't override default.
* config/i386/cygming.h (TARGET_STRIP_NAME_ENCODING): Don't
override default.
* config/i386/i386.c (get_dllimport_decl): Don't strip
FASTCALL_PREFIX.
From-SVN: r128362
Janis Johnson [Tue, 11 Sep 2007 01:11:16 +0000 (01:11 +0000)]
re PR c/30013 (Multiple flaws in decimal floating-point arithmetic conversions fixed)
gcc/
PR c/30013
* config/dfp-bit.c: Don't skip TFmode conversions; move strto*
declarations to top.
(DFP_TO_BFP): Use for either XFmode or TFmode.
(BFP_TO_DFP): Use for either XFmode or TFmode; always use cast
of BFP_VIA_TYPE.
* config/dfp-bit.h: Include float.h.
(LONG_DOUBLE_HAS_XF_MODE, LONG_DOUBLE_HAS_TF_MODE): Define if long
double is one of these modes, rather than using LIBGCC_HAS_*F_MODE
which doesn't mean the same thing.
(BFP_KIND): Use 4 to mean TFmode.
(BFP_FMT): Specify the number of decimal digits based on the
number of mantissa digits.
(BFP_VIA_TYPE): Binary float type to use as cast for sprintf.
(BFP_TO_DFP, DFP_TO_BFP): Define names for TFmode variants.
(STR_TO_BFP): Use strtold for XFmode or TFmode.
(TFtype): Define if TFmode is supported.
* doc/libgcc.texi (Decimal float library routines): Document
TF conversion functions.
gcc/testsuite/
* gcc.dg/dfp/convert-bfp.c: Replace SKIP_LONG_DOUBLE with runtime
checks for size of long double.
* gcc.dg/dfp/convert.h: New file.
* gcc.dg/dfp/convert-bfp-2.c: New test.
* gcc.dg/dfp/convert-bfp-3.c: Ditto.
* gcc.dg/dfp/convert-bfp-4.c: Ditto.
* gcc.dg/dfp/convert-bfp-5.c: Ditto.
* gcc.dg/dfp/convert-bfp-6.c: Ditto.
* gcc.dg/dfp/convert-bfp-7.c: Ditto.
* gcc.dg/dfp/convert-bfp-8.c: Ditto.
* gcc.dg/dfp/convert-bfp-9.c: Ditto.
* gcc.dg/dfp/convert-bfp-10.c: Ditto.
* gcc.dg/dfp/convert-bfp-11.c: Ditto.
From-SVN: r128361
Chao-ying Fu [Tue, 11 Sep 2007 01:04:08 +0000 (01:04 +0000)]
mips.c (mips_scalar_mode_supported_p): Declare.
* config/mips/mips.c (mips_scalar_mode_supported_p): Declare.
(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
(mips_emit_compare): Process fixed-point modes.
(mips_pad_arg_upward): Support fixed-point types.
(override_options): Allow fixed-point modes in accumulators.
(mips_pass_by_reference): Pass DQ, UDQ, DA, and UDA modes in registers.
(mips_vector_mode_supported_p): Support V2HQmode, V2UHQmode, V2HAmode,
V2UHAmode, V4QQmode, and V4UQQmode when TARGET_DSP.
(mips_scalar_mode_supported_p): New function to accept fixed-point
modes if the width is not greater than two BITS_PER_WORD.
* config/mips/mips.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
LONG_LONG_ACCUM_TYPE_SIZE): Define.
* config/mips/mips.md ("d"): Update mode attribute for fixed-point
modes.
("IMODE"): New mode attribute.
(mips-fixed.md): Include.
* config/mips/mips-modes.def: Create VECTOR_MODES for FRACT, UFRACT,
ACCUM, UACCUM.
* config/mips/mips-fixed.md: New file.
From-SVN: r128360
Ben Elliston [Tue, 11 Sep 2007 00:41:19 +0000 (10:41 +1000)]
* config/spu/spu.md: Formatting fixes.
From-SVN: r128359
Janis Johnson [Tue, 11 Sep 2007 00:25:18 +0000 (00:25 +0000)]
dfp-bit.c (dfp_unary_func): Delete.
* config/dfp-bit.c (dfp_unary_func): Delete.
(dfp_unary_op): Delete.
(dfp_binary_op): Use decFloat functions instead of decNumber
functions for binary operations.
(d32_binary_op): Convert 32-bit operands to 64 bits for evaluation.
(dnn_binary_op): Call dfp_binary_op with decFloat rather than
DFP_C_TYPE.
(dfp_compare_op): Use decFloat functions insteadof decNumber
functions for comparisons.
(d32_compare_op): Convert 32-bit operands to 64 bits for evaluation.
(dnn_binary_op): Call dfp_compare_op with decFloat rather than
DFP_C_TYPE.
(DFP_ADD, DFP_SUB, DFP_MULTIPLE, DFP_DIVIDE): Use macros for
call to dxx_binary_op and decFloat function.
(DFP_EQ, DFP_NE, DFP_LT, DFP_GT, DFP_LE, DFP_GE): Use macros for
calls to dxx_binary_op and decFloat function.
* config/dfp-bit.h: Include decFloat header files.
(decFloat, DFP_BINARY_OP, DFP_COMPARE_OP, DEC_FLOAT_ADD,
DEC_FLOAT_SUBTRACT, DEC_FLOAT_MULTIPLY, DEC_FLOAT_DIVIDE,
DEC_FLOAT_COMPARE, DEC_FLOAT_IS_ZERO, DEC_FLOAT_IS_NAN,
DEC_FLOAT_IS_SIGNED: Define for each of 3 operand widths.
From-SVN: r128358
GCC Administrator [Tue, 11 Sep 2007 00:16:53 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r128356
Harsha Jagasia [Tue, 11 Sep 2007 00:13:47 +0000 (00:13 +0000)]
rsha Jagasia <harsha.jagasia@amd.com>
Jan Sjodin <jan.sjodin@amd.com>
* tree-vect-analyze.c (vect_analyze_operations): Change
comparison of loop iterations with threshold to less than
or equal to instead of less than. Reduce
min_scalar_loop_bound by one.
* tree-vect-transform.c (vect_estimate_min_profitable_iters):
Change prologue and epilogue iterations estimate to vf/2,
when unknown at compile-time. Change versioning guard
cost to taken_branch_cost. If peeling for alignment is
unknown at compile-time, change peel guard costs to one
taken branch and one not-taken branch per peeled loop.
If peeling for alignment is known but number of scalar loop
iterations is unknown at compile-time, change peel guard
costs to one taken branch per peeled loop. Change the cost
model equation to consider vector iterations as the loop
iterations less the prologue and epilogue iterations.
Change outside vector cost check to less than or equal to
zero instead of equal to zero.
(vect_do_peeling_for_loop_bound): Reduce
min_scalar_loop_bound by one.
* tree-vectorizer.h: Add TARG_COND_TAKEN_BRANCH_COST and
TARG_COND_NOT_TAKEN_BRANCH_COST.
* config/i386/i386.h (processor_costs): Add
scalar_stmt_cost, scalar_load_cost, scalar_store_cost,
vec_stmt_cost, vec_to_scalar_cost, scalar_to_vec_cost,
vec_align_load_cost, vect_unalign_load_cost,
vec_store_cost, cond_taken_branch_cost,
cond_not_taken_branch_cost.
Define macros for x86 costs.
* config/i386/i386.c:
(size_cost): Set scalar_stmt_cost, scalar_load_cost,
scalar_store_cost, vec_stmt_cost, vec_to_scalar_cost,
scalar_to_vec_cost, vec_align_load_cost,
vect_unalign_load_cost, vec_store_cost,
cond_taken_branch_cost, cond_not_taken_branch_cost to one.
(i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
geode_cost, k6_cost, athlon_cost, pentium4_cost, nocona_cost,
core2_cost, generic64_cost, generic32_cost): Set to default
untuned costs.
(k8_cost, amdfam10_cost): Costs for vectorization tuned.
(x86_builtin_vectorization_cost): New.
2007-09-10 Harsha Jagasia <harsha.jagasia@amd.com>
* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c:
Change dg-final to expect 1 non-profitable loop and
3 profitable loops.
* gcc.dg/vect/costmodel/x86-64/costmodel-vect-31.c:
Change dg-final to expect 1 non-profitable loop and
3 profitable loops.
* gcc.dg/vect/costmodel/x86-64/costmodel-fast-math-vect-pr29925.c:
Change dg-final to expect 1 profitable loop.
* gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c:
Change dg-final to expect 1 profitable loop.
Co-Authored-By: Jan Sjodin <jan.sjodin@amd.com>
From-SVN: r128353
Janis Johnson [Mon, 10 Sep 2007 20:44:08 +0000 (20:44 +0000)]
Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o
2007-09-10 Janis Johnson <janis187@us.ibm.com>
Ben Elliston <bje@au.ibm.com>
libdecnumber/
* Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o
(dependencies): Add Symbols headers.
* decContext.c: Upgrade to decNumber 3.53.
* decContext.h: Ditto.
* decDPD.h: Ditto.
* decNumber.c: Ditto.
* decNumber.h: Ditto.
* decNumberLocal.h: Ditto.
* decBasic.c: New file from decNumber 3.53.
* decCommon.c: Ditto.
* decDouble.c: Ditto.
* decDouble.h: Ditto.
* decQuad.c: Ditto.
* decQuad.h: Ditto.
* decSingle.c: Ditto.
* decSingle.h: Ditto.
* decPacked.c: Ditto.
* decPacked.h: Ditto.
* dpd/decimal128.c: Upgrade to decNumber 3.53.
* dpd/decimal128.h: Ditto.
* dpd/decimal32.c: Ditto.
* dpd/decimal32.h: Ditto.
* dpd/decimal64.c: Ditto.
* dpd/decimal64.h: Ditto.
* decLibrary.c (__dec_byte_swap): Remove.
* decContextSymbols.h: New file.
* decDoubleSymbols.h: New file.
* decNumberSymbols.h: New file.
* decPackedSymbols.h: New file.
* decQuadSymbols.h: New file.
* decSingleSymbols.h: New file.
* decUtility.c: Delete file.
* decUtility.h: Delete file.
* bid/decimal128Symbols.h: New file.
* bid/decimal128Local.h: New file.
* bid/decimal32Symbols.h: New file.
* bid/decimal64Symbols.h: New file.
* bid/host-ieee128.c (__swap128): Remove.
(__host_to_ieee_128, __ieee_to_host_128): Don't handle endianness.
* bid/host-ieee32.c (__dec_type_swap): Remove.
(__host_to_ieee_32, __ieee_to_host_32): Don't handle endianness.
* bid/host-ieee64.c (__swap64): Remove.
(__host_to_ieee_64, __ieee_to_host_64): Don't handle endianness.
* dpd/decimal32Symbols.h: New file.
* dpd/decimal64Symbols.h: New file.
* dpd/decimal128Symbols.h: New file.
* dpd/decimal128Local.h: New file.
libgcc/
* Makefile.in (dfp-filenames): Remove decUtility, add
decDouble, decPacked, decQuad, decSingle.
gcc/
* dfp.c: Include decimal128Local.h;
(dfp_byte_swap): Remove.
(encode_decimal32, decode_decimal32): Don't handle endianness.
(encode_decimal64, decode_decimal64): Ditto.
(encode_decimal128, decode_decimal128): Ditto.
* config/dfp-bit.c (host_to_ieee32, ieee_to_host_32): Ditto.
(__swap64): Remove.
(host_to_ieee_64, ieee_to_host_64): Don't handle endianness.
(__swap128): Remove
(host_to_ieee_128, ieee_to_host_128): Don't handle endianness.
* Makefile.in (DECNUM_H): Add decimal128Local.h.
Co-Authored-By: Ben Elliston <bje@au.ibm.com>
From-SVN: r128350
David Daney [Mon, 10 Sep 2007 18:23:27 +0000 (18:23 +0000)]
mips.md (UNSPEC_MEMORY_BARRIER): New entry in define_constants.
* config/mips/mips.md (UNSPEC_MEMORY_BARRIER): New entry in
define_constants.
(memory_barrier): Rewrote as an insn that clobbers memory.
From-SVN: r128349
Richard Sandiford [Mon, 10 Sep 2007 15:21:18 +0000 (15:21 +0000)]
mips.c (mips_global_pointer): Check call_really_used_regs instead of call_used_regs.
gcc/
* config/mips/mips.c (mips_global_pointer): Check
call_really_used_regs instead of call_used_regs.
(mips_save_reg_p): Likewise. Save all call-saved registers
if current_function_saves_all_registers. Fix indentation.
No longer treat $18 as a special case.
(compute_frame_size): Guard FPR loop with TARGET_HARD_FLOAT.
gcc/testsuite/
* gcc.target/mips/call-saved-1.c: New test.
* gcc.target/mips/call-saved-2.c: Likewise.
* gcc.target/mips/call-saved-3.c: Likewise.
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_gp64
instead of mips_mips64. Set mips_fp64 too.
(is_gp32_flag): Return true for -mips1 and -mips2.
(dg-mips-options): Use mips_gp64 instead of mips_mips64.
From-SVN: r128347
Richard Sandiford [Mon, 10 Sep 2007 14:51:48 +0000 (14:51 +0000)]
mips.h (MIPS_ARCH_FLOAT_SPEC): New macro.
gcc/
* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): New macro.
* config/mips/mips.c (mips_cpu_info_table): Mention it in the
the introductory comment.
(MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
(override_options): Don't test for it.
* config/mips/sde.h (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
(DRIVER_SELF_SPECS): Add MIPS_ARCH_FLOAT_SPEC.
* config/mips/vr.h: As for config/mips/sde.h.
From-SVN: r128346
Jakub Jelinek [Mon, 10 Sep 2007 14:28:13 +0000 (16:28 +0200)]
va-arg-pack-1.C: New test.
* g++.dg/ext/va-arg-pack-1.C: New test.
* g++.dg/ext/va-arg-pack-2.C: New test.
From-SVN: r128345
Rask Ingemann Lambertsen [Mon, 10 Sep 2007 14:20:10 +0000 (16:20 +0200)]
re PR other/32154 (sim-crt0.o/crt0.o isn't found during configure due to missing -L or -B)
PR other/32154
* configure.ac: For libgloss targets, point the linker to the linker
script, startup code and simulator library.
* configure: Regenerate.
From-SVN: r128344
Trevor Smigiel [Mon, 10 Sep 2007 13:16:38 +0000 (13:16 +0000)]
New target hook to calculate MII
Co-Authored-By: Revital Eres <eres@il.ibm.com>
From-SVN: r128343
Andreas Krebbel [Mon, 10 Sep 2007 13:10:57 +0000 (13:10 +0000)]
s390.c (s390_dump_pool): Create copy of constant pool entries since they might hold values that must not...
2007-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_dump_pool): Create copy of constant
pool entries since they might hold values that must not be shared.
From-SVN: r128342