Robert Dewar
6411a62f36
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
2007-09-12 13:58:50 +02:00
Ed Schonberg
1ab9541bf8
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
2007-09-12 13:58:40 +02:00
Robert Dewar
2d9ea47f10
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
2007-09-12 13:58:21 +02:00
Olivier Hainque
09528ed9bf
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
2007-09-12 10:49:56 +00:00
Tobias Burnus
7ab8865432
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
2007-09-12 12:30:22 +02:00
Tobias Burnus
a1dde7d41c
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
2007-09-12 12:27:27 +02:00
Tobias Burnus
dd39f7830a
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
2007-09-12 11:49:04 +02:00
Jan Hubicka
750975041d
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
2007-09-12 09:14:44 +00:00
Ira Rosen
f5d8ed2c51
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
2007-09-12 08:48:44 +00:00
Richard Guenther
7323b6643e
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
2007-09-12 08:07:12 +00:00
Christopher D. Rickett
3e708b2571
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
2007-09-12 09:56:07 +02:00
Christian Bruel
54a5b59be2
fix log format
...
From-SVN: r128416
2007-09-12 09:21:58 +02:00
Dorit Nuzman
220e82b4ef
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
2007-09-12 07:09:38 +00:00
Jan Hubicka
bf019a1f7f
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
2007-09-12 07:02:31 +00:00
Christian Bruel
926e663ef1
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
2007-09-12 08:59:06 +02:00
Ira Rosen
f8f8fee8a2
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
2007-09-12 05:09:17 +00:00
Ira Rosen
8d888559bb
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
2007-09-12 05:05:04 +00:00
H.J. Lu
9f349f630e
Move the entry to proper ChangeLog.
...
From-SVN: r128410
2007-09-11 21:44:56 -07:00
James E Wilson
a480e8269b
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
2007-09-11 21:34:34 -07:00
Kaz Kojima
6ac9cbc5e8
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
2007-09-12 03:46:53 +00:00
Hans-Peter Nilsson
367985140f
* config/cris/t-linux (LIMITS_H_TEST): Only define if not inhibit_libc.
...
From-SVN: r128407
2007-09-12 02:38:10 +00:00
Hans-Peter Nilsson
31af2dca8c
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
2007-09-12 01:56:20 +00:00
Ben Elliston
8657bdee03
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
2007-09-12 11:03:10 +10:00
Ben Elliston
9943eb0be3
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
2007-09-12 10:48:49 +10:00
GCC Administrator
c592621442
Daily bump.
...
From-SVN: r128402
2007-09-12 00:17:01 +00:00
Janis Johnson
2b53935da9
* Makefile.in (dfp-filenames): Add bid128_noncomp.
...
From-SVN: r128399
2007-09-12 00:00:06 +00:00
John David Anglin
f3195fd461
Add missing '>' from last commit.
...
From-SVN: r128398
2007-09-11 23:22:07 +00:00
Bernd Schmidt
03848bd0e1
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
2007-09-11 23:20:10 +00:00
Steve Kenton
d4c56bd764
linux-unwind.h: Guard with inhibit_libc.
...
* pa/linux-unwind.h: Guard with inhibit_libc.
* pa/hpux-unwind.h: Likewise.
From-SVN: r128396
2007-09-11 23:16:01 +00:00
Johannes Singler
c2ba97097b
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
2007-09-11 22:32:51 +00:00
Hans-Peter Nilsson
f6ee8d7b73
* gcc.dg/cpp/trad/include.c: Don't run for newlib targets.
...
From-SVN: r128394
2007-09-11 21:15:24 +00:00
David Daney
66471b4708
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
2007-09-11 20:14:51 +00:00
Eric Botcazou
fa89b6ecba
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
2007-09-11 19:43:02 +00:00
Arnaud Charlet
868eaa1f42
Removed, noever used.
...
From-SVN: r128386
2007-09-11 18:17:13 +02:00
Christopher D. Rickett
9dc3595654
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
2007-09-11 17:53:22 +02:00
Daniel Jacobowitz
fa6763a6fc
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
2007-09-11 15:48:15 +00:00
Jason Merrill
5a69d1207d
add pr number
...
From-SVN: r128381
2007-09-11 11:08:57 -04:00
Jason Merrill
7e4aeb3297
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
2007-09-11 11:07:59 -04:00
Francois-Xavier Coudert
257fafe0c9
re PR libfortran/33386 (Fortran SELECT statement miscompiles)
...
PR libfortran/33386
* runtime/select.c (select_string): Initialize default_jump.
From-SVN: r128379
2007-09-11 14:53:02 +00:00
Maxim Kuvyrkov
c47b0cb466
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
2007-09-11 13:56:30 +00:00
Jakub Jelinek
ab0e176c5b
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
2007-09-11 15:40:14 +02:00
Zdenek Dvorak
e6ebd07f47
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
2007-09-11 13:38:08 +00:00
Javier Miranda
e18d6a151c
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
2007-09-11 15:31:51 +02:00
Arnaud Charlet
0f4cb75c68
Temporarily undo previous change, which seems to be causing random
...
failures.
From-SVN: r128372
2007-09-11 14:13:12 +02:00
Javier Miranda
97695e47b8
Resync.
...
From-SVN: r128371
2007-09-11 13:56:01 +02:00
Michael Matz
6e3a2cda33
* gcc.dg/tree-ssa/loadpre11.c: Add -fno-tree-cselim to flags.
...
From-SVN: r128370
2007-09-11 11:45:05 +00:00
Jan Hubicka
630ecd8d10
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
2007-09-11 11:38:05 +00:00
Javier Miranda
7986e000a9
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
2007-09-11 13:03:53 +02:00
Jan Hubicka
e89d601008
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
2007-09-11 10:39:53 +00:00
Richard Sandiford
8ce4afa36d
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
2007-09-11 10:18:35 +00:00