aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-10-16forward_list.tcc (operator==): Use auto.Paolo Carlini2-5/+7
2008-10-16 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/forward_list.tcc (operator==): Use auto. From-SVN: r141173
2008-10-16re PR tree-optimization/37664 (ice in remove_range_assertions, at ↵Jakub Jelinek4-1/+25
tree-vrp.c:5116) PR tree-optimization/37664 * fold-const.c (fold_binary): When optimizing comparison with highest or lowest type's value, don't consider TREE_OVERFLOW. * gcc.c-torture/compile/pr37664.c: New test. From-SVN: r141171
2008-10-16re PR c++/35483 (GCC on AIX doesn't support dollar in symbols name.)David Edelsohn10-7/+31
gcc/ PR target/35483 * Makefile.in (coverage.o): Depend on $(TM_P_H). * coverage.c: Include tm_p.h. * config/rs6000/x-aix (jc1): Override LDFLAGS. * config/rs6000/xcoff.h (ASM_GENERATE_INTERNAL_LABEL): Strip dollar signs from PREFIX. * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME instead of manual strip_name_encoding. java/ PR target/35483 * Make-lang.in (class.o): Depend on $(TM_P_H). (expr.o): Same. * class.c: Include tm_p.h. * expr.c: Include tm_p.h. From-SVN: r141170
2008-10-16forward_list.h (_Fwd_list_base<>::_M_insert_after): Move out of line, tweak ↵Paolo Carlini3-109/+141
to return _Fwd_list_node_base*. 2008-10-16 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after): Move out of line, tweak to return _Fwd_list_node_base*. (forward_list<>::insert_after(const_iterator, const _Tp&), forward_list<>::insert_after(const_iterator, _Tp&&)): Use it. * include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after): Define. * include/bits/forward_list.h (forward_list<>): Consistently qualify calls of base class functions with this->. * include/bits/forward_list.tcc (forward_list<>): Likewise. * include/bits/forward_list.h: Move some functions out of line... * include/bits/forward_list.tcc: ... here. * include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix. From-SVN: r141168
2008-10-16re PR libfortran/34670 (bounds checking for array intrinsics)Thomas Koenig2-2/+6
2008-10-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/34670 * generated/spread_r4.c: Regenerated. From-SVN: r141167
2008-10-16re PR middle-end/37418 (error: type mismatch in address expression, ↵Richard Biener7-3/+46
verify_gimple failed) 2008-10-16 Joseph Myers <joseph@codesourcery.com> Richard Guenther <rguenther@suse.de> PR middle-end/37418 * tree-ssa.c (useless_type_conversion_p_1): Do not treat volatile qualified functions or methods as relevant. * gcc.c-torture/compile/pr37418-1.c, gcc.c-torture/compile/pr37418-2.c, gcc.c-torture/compile/pr37418-3.c, gcc.c-torture/compile/pr37418-4.c: New tests. From-SVN: r141165
2008-10-16re PR tree-optimization/37525 (IVOPTS difference causing 20% degradation in ↵Jakub Jelinek2-32/+79
173.applu benchmark) PR tree-optimization/37525 * tree.c (int_fits_type_p): Rewrite using double_int. Zero extend sizetype unsigned constants, both in the case of C and bounds. From-SVN: r141164
2008-10-15ira-emit.c (change_regs): Return false when replacing reg by itself.Jan Hubicka2-1/+10
2008-10-15 Jan Hubicka <jh@suse.cz> * ira-emit.c (change_regs): Return false when replacing reg by itself. From-SVN: r141163
2008-10-16re PR target/37633 (wrong register use on sh64)Vladimir Makarov2-2/+8
2008-10-14 Vladimir Makarov <vmakarov@redhat.com> PR target/37633 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Check HARD_REGNO_CALL_PART_CLOBBERED. From-SVN: r141161
2008-10-16re PR middle-end/37535 (gcc/libgcc2.c:404: internal compiler error: Floating ↵Vladimir Makarov3-35/+193
point exception) 2008-10-15 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37535 * ira-lives.c (mark_early_clobbers): Remove. (make_pseudo_conflict, check_and_make_def_use_conflicts, check_and_make_def_conflicts, make_early_clobber_and_input_conflicts, mark_hard_reg_early_clobbers): New functions. (process_bb_node_lives): Call make_early_clobber_and_input_conflicts and mark_hard_reg_early_clobbers. Make hard register inputs live again. * doc/rtl.texi (clobber): Change descriotion of RA behaviour for early clobbers of pseudo-registers. From-SVN: r141160
2008-10-16re PR middle-end/37674 (Bootstrap failure due to miscompilation of genattrtab)Vladimir Makarov2-22/+26
2008-10-15 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37674 * ira-build.c (ira_flattening): Recalculate ALLOCNO_TOTAL_NO_STACK_REG_P and ALLOCNO_TOTAL_CONFLICT_HARD_REGS from the scratch instead of the propagation. From-SVN: r141159
2008-10-16Daily bump.GCC Administrator1-1/+1
From-SVN: r141157
2008-10-15Commit omitted ChangeLog from r141134David Edelsohn1-0/+17
From-SVN: r141154
2008-10-15forward_list.h: Remove pointless const qualifiers in const_casts.Paolo Carlini5-36/+120
2008-10-15 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/forward_list.h: Remove pointless const qualifiers in const_casts. * include/bits/forward_list.tcc: Likewise. * include/bits/forward_list.h (forward_list<>::pointer, const_pointer, reference, const_reference): Fix, use _Tp_alloc_type. * testsuite/23_containers/forward_list/requirements/ explicit_instantiation/1.cc: New. * testsuite/23_containers/forward_list/requirements/ explicit_instantiation/1.cc: Likewise. From-SVN: r141153
2008-10-15forward_list.h (forward_list<>::max_size): Use Node_allocator; minor ↵Paolo Carlini3-20/+23
cosmetic changes. 2008-10-15 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/forward_list.h (forward_list<>::max_size): Use Node_allocator; minor cosmetic changes. * testsuite/23_containers/forward_list/capacity/1.cc: Adjust. From-SVN: r141151
2008-10-15rtl.texi (const_double): Remove the "addr" operand.Richard Sandiford3-57/+55
gcc/ * doc/rtl.texi (const_double): Remove the "addr" operand. Describe CONST_DOUBLE_* macros under const_double rather than const_vector. (const_fixed): Fix the operand description. (const): Add an @findex directive. (CONST0_RTX, CONST1_RTX, CONST2_RTX): Move description after the constant rtl table. (fix): Combine floating-point and fixed-point descriptions. Fix hyphenation. * sched-deps.c (sched_analyze_2): Remove reference to CONST_DOUBLE_CHAIN. From-SVN: r141149
2008-10-15mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTSYM_OFFs.Richard Sandiford5-15/+25
gcc/ * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTSYM_OFFs. * config/mn10300/mn10300.c (legitimate_pic_operand_p): Return true for UNSPEC_GOTSYM_OFFs. * config/mn10300/mn10300.md (UNSPEC_GOTSYM_OFF): New unspec. (add_GOT_to_pic_reg): Use it. * config/mn10300/constraints.md (S): Allow UNSPEC_GOTSYM_OFF. From-SVN: r141148
2008-10-15forward_list: New.Edward Smith-Rowland35-1/+3444
2008-10-15 Edward Smith-Rowland <3dw4rd@verizon.net> * include/std/forward_list: New. * include/bits/forward_list.h: Likewise. * include/bits/forward_list.tcc: Likewise. * include/precompiled/stdc++.h: Modified to include forward_list. * include/Makefile.am: Add forward_list, forward_list.h, and forward_list.tcc. * include/Makefile.in: Regenerate. * testsuite/23_containers/forward_list/modifiers/1.cc: New. * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise. * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise. * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise. * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise. * testsuite/23_containers/forward_list/cons/1.cc: Likewise. * testsuite/23_containers/forward_list/cons/2.cc: Likewise. * testsuite/23_containers/forward_list/cons/3.cc: Likewise. * testsuite/23_containers/forward_list/cons/4.cc: Likewise. * testsuite/23_containers/forward_list/cons/5.cc: Likewise. * testsuite/23_containers/forward_list/cons/6.cc: Likewise. * testsuite/23_containers/forward_list/cons/7.cc: Likewise. * testsuite/23_containers/forward_list/cons/8.cc: Likewise. * testsuite/23_containers/forward_list/cons/9.cc: Likewise. * testsuite/23_containers/forward_list/requirements/1.cc: Likewise. * testsuite/23_containers/forward_list/operations/1.cc: Likewise. * testsuite/23_containers/forward_list/operations/2.cc: Likewise. * testsuite/23_containers/forward_list/operations/3.cc: Likewise. * testsuite/23_containers/forward_list/operations/4.cc: Likewise. * testsuite/23_containers/forward_list/operations/5.cc: Likewise. * testsuite/23_containers/forward_list/operations/6.cc: Likewise. * testsuite/23_containers/forward_list/operations/7.cc: Likewise. * testsuite/23_containers/forward_list/capacity/1.cc: Likewise. * testsuite/23_containers/forward_list/comparable.cc: Likewise. * testsuite/23_containers/forward_list/moveable.cc: Likewise. * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise. * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update. * testsuite/17_intro/headers/c++200x/all: Likewise. From-SVN: r141146
2008-10-15re PR libfortran/34670 (bounds checking for array intrinsics)Thomas Koenig20-5/+307
2008-10-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/34670 * intrinsics/reshape_generic.c: Add bounds checking. * m4/reshape.m4: Likewise. * generated/reshape_c10.c: Regenerated. * generated/reshape_c16.c: Regenerated. * generated/reshape_c4.c: Regenerated. * generated/reshape_c8.c: Regenerated. * generated/reshape_i16.c: Regenerated. * generated/reshape_i4.c: Regenerated. * generated/reshape_i8.c: Regenerated. * generated/reshape_r10.c: Regenerated. * generated/reshape_r16.c: Regenerated. * generated/reshape_r4.c: Regenerated. * generated/reshape_r8.c: Regenerated. * generated/spread_r4.c: Regenerated. 2008-10-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/34670 * gfortran.dg/reshape_3.f90: New test. * gfortran.dg/reshape_4.f90: New test. * gfortran.dg/reshape_order_1.f90: Use correct shape. * gfortran.dg/reshape_order_2.f90: Likewise. * gfortran.dg/reshape_order_3.f90: Likewise. * gfortran.dg/reshape_order_4.f90: Likewise. From-SVN: r141144
2008-10-15[multiple changes]Sebastian Pop6-57/+308
2008-10-15 Jan Sjodin <jan.sjodin@amd.com> Harsha Jagasia <harsha.jagasia@amd.com> PR tree-optimization/37485 * graphite.c (gmp_cst_to_tree): Moved. (iv_stack_entry_is_constant): New. (iv_stack_entry_is_iv): New. (loop_iv_stack_push): Renamed to loop_iv_stack_push_iv. (loop_iv_stack_insert_constant): New. (loop_iv_stack_pop): Use new datatpype. (loop_iv_stack_get_iv): Same. (loop_iv_stack_get_iv_from_name): Same. (loop_iv_stack_debug): Renamed to debug_loop_iv_stack. (loop_iv_stack_patch_for_consts): New. (loop_iv_stack_remove_constants): New. (graphite_create_new_loop): Use loop_iv_stack_push_iv. (translate_clast): Call loop_iv_stack_patch_for_consts and loop_iv_stack_remove_constants. (gloog): Use new datatype. Redirect construction edge to end block to avoid accidental deletion. * graphite.h (enum iv_stack_entry_kind): New. Tag for data in iv stack entry. (union iv_stack_entry_data): New. Data in iv stack entry. (struct iv_stack_entry): New. Datatype for iv stack entries. 2008-10-15 Sebastian Pop <sebastian.pop@amd.com> * tree-data-ref.c (stmt_simple_memref_p): Fix memleak. * graphite.c (free_scop): Same. (build_scops): Same. (free_scattering): New. (build_cloog_prog): Call free_scattering. (patch_phis_for_virtual_defs): Fix memleak. (graphite_trans_bb_strip_mine): Same. (limit_scops): Same. From-SVN: r141143
2008-10-15re PR middle-end/37828 ([graphite] ICE in expand_scalar_variables_expr, at ↵Sebastian Pop4-3/+47
graphite.c:3421 with -floop-block) 2008-10-15 Sebastian Pop <sebastian.pop@amd.com> Harsha Jagasia <harsha.jagasia@amd.com> PR tree-optimization/37828 * testsuite/gcc.dg/graphite/pr37828.c: New. * graphite.c (graphite_trans_loop_block): Do not loop block single nested loops. Co-Authored-By: Harsha Jagasia <harsha.jagasia@amd.com> From-SVN: r141142
2008-10-15re PR tree-optimization/37686 (Building of CPU2000's bzip2 with peak flags ↵Sebastian Pop6-14/+91
with -mcpu=power4 fails with an ICE.) 2008-10-15 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/37686 * testsuite/gcc.dg/tree-ssa/pr37686.c: New. * tree-loop-linear.c (linear_transform_loops): Build a loop nest vector. Pass it to lambda_compute_access_matrices. * tree-data-ref.h (struct access_matrix): Store the loop nest relative to which it encodes the information. (AM_LOOP_NEST_NUM): Renamed AM_LOOP_NEST. (am_vector_index_for_loop): Reimplemented: iterate over the loop nest for finding the loop index in the access matrix. (lambda_compute_access_matrices): Update declaration. * lambda-code.c (build_access_matrix): Pass the loop nest and record it. (lambda_compute_access_matrices): Same. From-SVN: r141141
2008-10-15s390.h: (TARGET_DFP): This requires TARGET_HARD_FLOAT.Andreas Krebbel3-21/+29
2008-10-15 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.h: (TARGET_DFP): This requires TARGET_HARD_FLOAT. * config/s390/s390.md: Replace "TARGET_HARD_FLOAT && TARGET_(HARD_)DFP" with only TARGET_(HARD_)DFP since this already implies hard float. Also fix several insn condition with TARGET_DFP which shall require TARGET_HARD_DFP instead. From-SVN: r141138
2008-10-15fix ChangeLog entry to mention correct PR numberPaolo Bonzini1-1/+1
From-SVN: r141136
2008-10-15re PR tree-optimization/37717 (verify_ssa failed for legal C++ with -O2)Paolo Bonzini2-5/+10
2008-10-15 Paolo Bonzini <bonzini@gnu.org> PR bootstrap/37717 * Makefile.in (LIBCFLAGS): Remove. (FLAGS_TO_PASS): Don't mention it. (COMPILE.c, MULTIOSDIR): Replace it with CFLAGS. From-SVN: r141135
2008-10-15re PR c++/35483 (GCC on AIX doesn't support dollar in symbols name.)David Edelsohn8-11/+108
PR target/35483 Based on patches by Laurent Vivier. * xcoffout.h (DBX_FINISH_STABS): Translate dollar sign to underscore. * config/rs6000/rs6000-protos.h (rs6000_xcoff_strip_dollar): Declare. * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Translate dollar sign to underscore. (ASM_OUTPUT_EXTERNAL): Same. (ASM_OUTPUT_LABELREF): New. * config/rs6000/rs6000.c (rs6000_xcoff_strip_dollar): New. * config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Define. * config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Define. * config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Define. * config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Define. From-SVN: r141134
2008-10-15constants.c (build_constant_data_ref): Make sure we only build one copy of ↵Andrew Haley2-13/+22
the decl for the constant pool. 2008-10-14 Andrew Haley <aph@redhat.com> * constants.c (build_constant_data_ref): Make sure we only build one copy of the decl for the constant pool. From-SVN: r141133
2008-10-15re PR tree-optimization/36881 (Creating runtime relocations for code which ↵Jakub Jelinek4-5/+57
does not need it) PR tree-optimization/36881 * tree-switch-conversion.c (check_final_bb): For flag_pic, check that each value doesn't need runtime relocations, for !flag_pic check that each value is just a valid initializer constant. * gcc.dg/tree-ssa/pr36881.c: New test. From-SVN: r141129
2008-10-15Revert unintended commit.Jakub Jelinek1-22/+5
From-SVN: r141128
2008-10-15Daily bump.GCC Administrator1-1/+1
From-SVN: r141126
2008-10-14re PR c++/37819 (ice for bitfield code)Jakub Jelinek4-2/+30
PR c++/37819 * cp-gimplify.c (cp_genericize_r): Only fold_convert COND_EXPR arguments if they don't already have COND_EXPR's type. * g++.dg/expr/bitfield11.C: New test. From-SVN: r141118
2008-10-14mips.h (reg_class): Remove HI_AND_GR_REGS...Richard Sandiford3-54/+77
gcc/ * config/mips/mips.h (reg_class): Remove HI_AND_GR_REGS, LO_AND_GR_REGS, HI_AND_FP_REGS, COP0_AND_GR_REGS, COP2_AND_GR_REGS, COP3_AND_GR_REGS, ALL_COP_REGS and ALL_COP_AND_GR_REGS. Add GR_AND_MD0_REGS, GR_AND_MD1_REGS, GR_AND_MD_REGS and GR_AND_ACC_REGS. (REG_CLASS_NAMES): Update accordingly. (REG_CLASS_CONTENTS): Likewise. Use the class name in the comments, rather than an unpredictable descriptive string. * config/mips/mips.c (mips_register_move_cost): Remove comment. (mips_register_move_cost): Check for specific COP*_REGS classes, instead of ALL_COP_AND_GR_REGS. (mips_ira_cover_classes): New function. (mips_secondary_reload_class): Remove MTLO and MTHI workarounds. (TARGET_IRA_COVER_CLASSES): Define. From-SVN: r141117
2008-10-14re PR c++/37650 (ICE with broken default template parameter)Paolo Carlini4-4/+27
/cp 2008-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/37650 * pt.c (push_template_decl_real): Check that current_template_parms is not null. (process_partial_specialization): Assert current_template_parms not null. /testsuite 2008-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/37650 * g++.dg/template/crash83.C: New. From-SVN: r141115
2008-10-14stl_list.h (_List_node<>::_List_node<>(_Args&&...)): Add in C++0x mode.Paolo Carlini7-8/+38
2008-10-14 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/stl_list.h (_List_node<>::_List_node<>(_Args&&...)): Add in C++0x mode. (list<>::_M_create_node<>(_Args&&...)): Use _M_get_Node_allocator. (list<>::_M_erase(iterator): Likewise, in C++0x mode. * include/bits/list.tcc (_List_base<>::_M_clear): Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. From-SVN: r141113
2008-10-14re PR c++/37553 (ICE in build_c_cast)Douglas Gregor4-5/+56
2008-10-14 Douglas Gregor <doug.gregor@gmail.com> PR c++/37553 * tree.c (build_type_attribute_qual_variant): Hash on the unqualified type, and don't overwrite an existing (type_hash_eq): Make the TYPE_NAME of the types significant, to allow distinguishing between wchar_t and its underlying type. This also means that we'll retain a little more typedef information. 2008-10-14 Douglas Gregor <doug.gregor@gmail.com> PR c++/37553 * g++.dg/ext/alias-canon2.C: New. From-SVN: r141111
2008-10-14stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator for improved accuracy.Paolo Carlini8-13/+34
2008-10-14 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator for improved accuracy. * include/bits/stl_list.h (list<>::max_size): Likewise. * testsuite/23_containers/multimap/capacity/29134.cc: Adjust. * testsuite/23_containers/set/capacity/29134.cc: Likewise. * testsuite/23_containers/multiset/capacity/29134.cc: Likewise. * testsuite/23_containers/list/capacity/29134.cc: Likewise. * testsuite/23_containers/map/capacity/29134.cc: Likewise. From-SVN: r141110
2008-10-14target.h (struct gcc_target): Update prototypes of needs_block_p and ↵Andrey Belevantsev10-437/+1214
gen_spec_check. 2008-10-14 Andrey Belevantsev <abel@ispras.ru> Dmitry Melnik <dm@ispras.ru> Dmitry Zhurikhin <zhur@ispras.ru> Alexander Monakov <amonakov@ispras.ru> Maxim Kuvyrkov <maxim@codesourcery.com> * target.h (struct gcc_target): Update prototypes of needs_block_p and gen_spec_check. * haifa-sched.c (create_check_block_twin): Update calls to the above. * sel-sched.c (create_speculation_check): Likewise. * doc/tm.texi: Provide documentation for new target hooks. * config/ia64/ia64.c: Include sel-sched.h. Rewrite speculation hooks. (ia64_gen_spec_insn): Removed. (get_spec_check_gen_function, insn_can_be_in_speculative_p, ia64_gen_spec_check): New static functions. (ia64_alloc_sched_context, ia64_init_sched_context, ia64_set_sched_context, ia64_clear_sched_context, ia64_free_sched_context, ia64_get_insn_spec_ds, ia64_get_insn_checked_ds, ia64_skip_rtx_p): Declare functions. (ia64_needs_block_p): Change prototype. (ia64_gen_check): Rename to ia64_gen_spec_check. (ia64_adjust_cost): Rename to ia64_adjust_cost_2. Add new parameter into declaration, add special memory dependencies handling. (TARGET_SCHED_ALLOC_SCHED_CONTEXT, TARGET_SCHED_INIT_SCHED_CONTEXT, TARGET_SCHED_SET_SCHED_CONTEXT, TARGET_SCHED_CLEAR_SCHED_CONTEXT, TARGET_SCHED_FREE_SCHED_CONTEXT, TARGET_SCHED_GET_INSN_SPEC_DS, TARGET_SCHED_GET_INSN_CHECKED_DS, TARGET_SCHED_SKIP_RTX_P): Define new target hooks. (TARGET_SCHED_GEN_CHECK): Rename to TARGET_SCHED_GEN_SPEC_CHECK. (ia64_optimization_options): Turn on selective scheduling with -O3, disable -fauto-inc-dec. Set mflag_sched_control_spec to true by default with selective scheduling. (ia64_override_options): Initialize align_loops and align_functions to 32 and 64, respectively. Set global selective scheduling flags according to target-dependent flags. (rtx_needs_barrier): Support UNSPEC_LDS_A. (group_barrier_needed): Use new mstop-bit-before-check flag. Add heuristic. (dfa_state_size): Make global. (spec_check_no, max_uid): Remove. (mem_ops_in_group, current_cycle): New variables. (ia64_sched_init): Disable checks for !SCHED_GROUP_P after reload. Initialize new variables. (is_load_p, record_memory_reference): New functions. (ia64_dfa_sched_reorder): Lower priority of loads when limit is reached. (ia64_variable_issue): Change use of current_sched_info to sched_deps_info. Update comment. Note if a load or a store is issued. (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Require a cycle advance if maximal number of loads or stores was issued on current cycle. (scheduled_good_insn): New static helper function. (ia64_dfa_new_cycle): Assert that last_scheduled_insn is set when a group barrier is needed. Fix vertical spacing. Guard the code doing state transition with last_scheduled_insn check. Mark that a stop bit should be before current insn if there was a cycle advance. Update current_cycle and mem_ops_in_group. (ia64_h_i_d_extended): Change use of current_sched_info to sched_deps_info. Reallocate stops_p by larger chunks. (struct _ia64_sched_context): New structure. (ia64_sched_context_t): New typedef. (ia64_alloc_sched_context, ia64_init_sched_context, ia64_set_sched_context, ia64_clear_sched_context, ia64_free_sched_context): New static functions. (gen_func_t): New typedef. (get_spec_load_gen_function): New function. (SPEC_GEN_EXTEND_OFFSET): Declare. (ia64_set_sched_flags): Check common_sched_info instead of *flags. (get_mode_no_for_insn): Change the condition that prevents use of special hardware registers so it can now handle pseudos. (get_spec_unspec_code): New function. (ia64_skip_rtx_p, get_insn_spec_code, ia64_get_insn_spec_ds, ia64_get_insn_checked_ds, ia64_gen_spec_load): New static functions. (ia64_speculate_insn, ia64_needs_block_p): Support branchy checks during selective scheduling. (ia64_speculate_insn): Use ds_get_speculation_types when determining whether we need to change the pattern. (SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): Declare. (ia64_spec_check_src_p): Support new speculation/check codes. (struct bundle_state): New field. (issue_nops_and_insn): Initialize it. (insert_bundle_state): Minimize mid-bundle stop bits. (important_for_bundling_p): New function. (get_next_important_insn): Use important_for_bundling_p. (bundling): When shifting TImode from unimportant insns, ignore also group barriers. Assert that best state is found before the backward bundling pass. Print number of mid-bundle stop bits. Minimize mid-bundle stop bits. Check correct calculation of mid-bundle stop bits. (ia64_sched_finish, final_emit_insn_group_barriers): Fix formatting. (final_emit_insn_group_barriers): Emit stop bits before insns starting a new cycle. (sel2_run): New variable. (ia64_reorg): When flag_selective_scheduling2 is set, run the selective scheduling pass instead of schedule_ebbs. * config/ia64/ia64.md (speculable1, speculable2): New attributes. (UNSPEC_LDS_A): New UNSPEC. (movqi_internal, movhi_internal, movsi_internal, movdi_internal, movti_internal, movsf_internal, movdf_internal, movxf_internal): Make visible. Add speculable* attributes. (output_c_nc): New mode attribute. (mov<mode>_speculative_a, zero_extend<mode>di2_speculative_a, mov<mode>_nc, zero_extend<mode>di2_nc, advanced_load_check_nc_<mode>): New insns. (zero_extend*): Add speculable* attributes. * config/ia64/ia64.opt (msched_fp_mem_deps_zero_cost): New option. (msched-stop-bits-after-every-cycle): Likewise. (msched-max-memory-insns, msched-max-memory-insns-hard-limit): Likewise. (msched-spec-verbose): Remove. (msched-prefer-non-data-spec-insns, msched-prefer-non-control-spec-insns, msched-count-spec-in-critical-path, msel-sched-dont-check-control-spec): Use Target Report Var instead of Common Report Var. * config/ia64/itanium2.md: Remove incorrect bypass. * config/ia64/t-ia64 (ia64.o): Add dependency on sel-sched.h. Co-Authored-By: Alexander Monakov <amonakov@ispras.ru> Co-Authored-By: Dmitry Melnik <dm@ispras.ru> Co-Authored-By: Dmitry Zhurikhin <zhur@ispras.ru> Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com> From-SVN: r141108
2008-10-14re PR middle-end/37805 (gcc --help=separate)Jakub Jelinek2-3/+7
PR middle-end/37805 * opts.c (common_handle_option): Don't ICE on -fhelp=joined and -fhelp=separate. From-SVN: r141106
2008-10-14MAINTAINERS (Write After Approval): Added myself.Antoniu Pop2-0/+5
2008-10-14 Antoniu Pop <antoniu.pop@gmail.com> * MAINTAINERS (Write After Approval): Added myself. From-SVN: r141105
2008-10-14* config/rs6000/rs6000.md (cell_micro): Fix formatting.Ben Elliston2-4/+7
From-SVN: r141103
2008-10-14re PR fortran/37083 (Formatted read of line without trailing new-line fails)Jerry DeLisle3-1/+20
2008-10-13 Jerry DeLisle <jvdelisle@gcc.gnu.org PR libfortran/37083 * gfortran.dg/list_read_9.f90: New test. * gfortran.dg/arrayio_8.f90: Fix some typos. From-SVN: r141102
2008-10-14re PR fortran/37083 (Formatted read of line without trailing new-line fails)Jerry DeLisle2-8/+16
2008-10-13 Jerry DeLisle <jvdelisle@gcc.gnu.org PR libfortran/37083 * io/list_read.c (next_char): Simplify EOF tests and set endfile flag. (finish_list_read): Add EOF check. From-SVN: r141101
2008-10-14Daily bump.GCC Administrator1-1/+1
From-SVN: r141099
2008-10-13combine.c (simplify_set): Avoid calling LOAD_EXTEND_OP on non-integer modes.Joseph Myers2-0/+6
* combine.c (simplify_set): Avoid calling LOAD_EXTEND_OP on non-integer modes. From-SVN: r141096
2008-10-13linux-atomic.c: Work around missing header file for hppa64-linux-gnu targets.Matthias Klose2-0/+11
2008-10-13 Matthias Klose <doko@ubuntu.com> * gcc/config/pa/linux-atomic.c: Work around missing header file for hppa64-linux-gnu targets. From-SVN: r141095
2008-10-13invoke.texi (-mgen-cell-microcode): Document.Andrew Pinski10-139/+404
2008-10-13 Andrew Pinski <andrew_pinski@playstation.sony.com> Kaushal Kantawala <Kaushal_Kantawala@playstation.sony.com> Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> Grace Cao <grace_cao@playstation.sony.com> * doc/invoke.texi (-mgen-cell-microcode): Document. (-mwarn-cell-microcode): Document. * cfglayout.c (locator_location): Export. * rtl.h (locator_location): Define prototype. * config/rs6000/predicates.md (cc_reg_not_micro_cr0_operand): New predicate. * rs6000/rs6000-protos.h (rs6000_final_prescan_insn): Define prototype. * config/rs6000/rs6000.opt (mgen-cell-microcode): New option. (mwarn-cell-microcode): New option. * rs6000/rs6000.c (rs6000_cell_dont_microcode): Delete unused variable. (rs6000_override_options): Set rs6000_gen_cell_microcode if tuning for cell and not already set. Turn off string instructions if not generating cell microcode. (rs6000_final_prescan_insn): New function that warns about microcoded instructions. * config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Define. * config/rs6000/rs6000.md Replace cc_reg_not_cr0_operand with cc_reg_not_micro_cr0_operand if the instruction would have been microcoded on the Cell. Set cell_micro to always on unnamed patterns for the string instructions. (cell_micro): Update definition, remove load/store conditional microcoded. (sign_extend:DI): Define new pattern for non microcoded version. (sign_extend:SI): Likewise. (compare (div:P)): Set cell_micro to not. (andsi3): Define as an expand. (andsi3_mc): New pattern. (andsi3_nomc): New pattern. (andsi3_internal0_nomc): New pattern. (andsi3_internal2): Rename to ... (andsi3_internal2_mc): this and enable iff generating microcode. (andsi3_internal3): Rename to ... (andsi3_internal3_mc): this and enable iff generating microcode. (andsi3_internal4): Enable iif generating microcode. (andsi3_internal5): Rename to .. (andsi3_internal5_mc): this and enable iff generating microcode. (andsi3_internal5_nomc): New pattern. (extzvdi_internal1): Enable iff generating microcode. (extzvdi_internal2): Likewise. (rotlsi3_internal7): Set cell_micro to always if non immediate form. (anddi3): Change to expand. (anddi3_mc): Rename from anddi3. (anddi3_no_mc): New pattern. (anddi3_internal2): Rename to .. (anddi3_internal2_mc): this and enable iff generating microcode. (anddi3_internal2_nomc): New pattern. (anddi3_internal3): Rename to .. (anddi3_internal3_mc): this and enable iff generating microcode. (anddi3_internal3_nomc): New pattern. (movti_string): Set cell_micro to always if TARGET_STRING. (stmsi8): Set cell_micro to always. (stmsi7): Likewise. (stmsi6): Likewise. (stmsi5): Likewise. (stmsi4): Likewise. (stmsi3): Likewise. (stmsi8_power): Likewise. (stmsi7_power): Likewise. (stmsi6_power): Likewise. (stmsi5_power): Likewise. (stmsi4_power): Likewise. (stmsi3_power): Likewise. (movsi_update2): Enable iff generating microcode. (movhi_update3): Likewise. (lmw): Set cell_micro to always. Co-Authored-By: Grace Cao <grace_cao@playstation.sony.com> Co-Authored-By: Kaushal Kantawala <Kaushal_Kantawala@playstation.sony.com> Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> From-SVN: r141094
2008-10-13re PR middle-end/37601 (gcc-4.4-20080919 ada build failure)Jakub Jelinek2-4/+13
PR middle-end/37601 * gcc-interface/utils.c (gnat_types_compatible_p): Handle NULL TYPE_DOMAIN. From-SVN: r141092
2008-10-13s390.md (UNSPEC_POOL_OFFSET): New constant.Richard Sandiford3-30/+42
gcc/ * config/s390/s390.md (UNSPEC_POOL_OFFSET): New constant. * config/s390/s390.c (machine_function): Remove decomposed_literal_pool_addresses_ok_p. (s390_decompose_address): Check for UNSPEC_POOL_OFFSET instead of the difference of two labels. (s390_output_addr_const_extra): Handle UNSPEC_POOL_OFFSET. (s390_pool_offset): New function. (s390_find_constant, s390_find_execute, s390_dump_pool): Use it. (s390_reorg): Don't set decomposed_literal_pool_addresses_ok_p. From-SVN: r141091
2008-10-13install.texi (powerpc-*-*): Require binutils 2.15.Nathan Froyd22-345/+384
* doc/install.texi (powerpc-*-*): Require binutils 2.15. (powerpc*-*-linux-gnu*): Describe. * config/rs6000/ppc-asm.h (HIDDEN_FUNC): New macro. * config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm, config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm, config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm, config/rs6000/e500crtres32gpr.asm, config/rs6000/e500crtres64gpr.asm, config/rs6000/e500crtres64gprctr.asm, config/rs6000/e500crtrest32gpr.asm, config/rs6000/e500crtrest64gpr.asm, config/rs6000/e500crtresx32gpr.asm, config/rs6000/e500crtresx64gpr.asm, config/rs6000/e500crtsav32gpr.asm, config/rs6000/e500crtsav64gpr.asm, config/rs6000/e500crtsav64gprctr.asm, config/rs6000/e500crtsavg32gpr.asm, config/rs6000/e500crtsavg64gpr.asm, config/rs6000/e500crtsavg64gprctr.asm: Use it. * config/rs6000/crtsavres.asm: Really remove. From-SVN: r141090
2008-10-13* cp-tree.h (DECL_MAIN_P): Fix parentheses around expression.Doug Evans2-2/+6
From-SVN: r141088