- Oct 14, 2012
-
-
Steven Bosscher authored
PR rtl-optimization/38711 * df.h (df_get_live_out, df_get_live_in): Make static inline functions. * df-problems.c (df_get_live_out, df_get_live_in): Moved to df.h. * ira-lives.c (process_bb_node_lives): Use df_get_live_out instead of DF_LR_OUT. * ira-build.c (create_bb_allocnos): Likewise. (create_loop_allocnos): Likewise, and use df_get_live_in instead of DF_LR_IN. * ira-emit.c (generate_edge_moves): Likewise. (add_ranges_and_copies): Likewise. * ira-color.c (ira_loop_edge_freq): Use df_get_live_out instead of DF_LR_OUT, and df_get_live_in instead of DF_LR_IN. * ira.c (mark_elimination): Update DF_LR and DF_LIVE. (build_insn_chain): Use df_get_live_out instead of DF_LR_OUT. (do_reload): Remove the DF_LIVE problem for -O1. From-SVN: r192440
-
Steven Bosscher authored
gcc/ PR rtl-optimization/54919 * loop-unroll.c (struct var_to_expand): Remove accum_pos field. (analyze_insn_to_expand_var): Do not record accum_pos. (expand_var_during_unrolling): Use validate_replace_rtx_group to perform replacement of all references to SET_DEST (set) with the new register, including references in REG_EQUAL notes. (insert_var_expansion_initialization): Insert initializatio insns at the bottom of the pre-header of the loop. testsuite/ PR rtl-optimization/54919 * gcc.dg/pr54919.c: New testcase. From-SVN: r192439
-
Paolo Carlini authored
2012-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53581 * g++.dg/template/crash113.C: New. From-SVN: r192438
-
Jan Hubicka authored
tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically. * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically. * cfgloopanal.c (single_likely_exit): New function. From-SVN: r192434
-
Jan Hubicka authored
tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically. * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically. * cfgloopanal.c (single_likely_exit): New function. * gcc.dg/unroll_5.c: New testcase. From-SVN: r192433
-
Paolo Carlini authored
re PR c++/52643 (Stack overflow ICE in cc1plus when templates, exceptions, and continue out of try used) 2012-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52643 * g++.dg/opt/pr52643.C: New. From-SVN: r192432
-
Uros Bizjak authored
* config/alpha/alpha.md: Remove empty predicates and/or constraints. * config/alpha/sync.md: Ditto. From-SVN: r192431
-
GCC Administrator authored
From-SVN: r192430
-
- Oct 13, 2012
-
-
Uros Bizjak authored
* config/alpha/alpha.md (I24MODE): New mode iterator. (any_divmod): New code iterator. (<code>si3): Macroize expander from {div,mod,udiv,umod}si3 using any_divmod code iterator. (<code>si3): Macroize expander from {div,mod,udiv,umod}di3 using any_divmod code iterator. (extendqi<mode>2): Macroize insn from extendqi{hi,si}2 using I24MODE mode iterator. (unaligned_store<mode>): Macroize expander from unaligned_store{qi,hi} using I12MODE mode iterator. (mov<mode>): Macroize expander from mov{qi,hi} using I12MODE mode iterator. From-SVN: r192427
-
Eric Botcazou authored
PR rtl-optimization/54871 * loop-iv.c (simplify_using_initial_values): When scanning previous basic blocks, prune the recorded conditions if the current insn was not used to make a replacement. * loop-unroll.c (decide_unroll_constant_iterations): Clean up message. (unroll_loop_constant_iterations): Clarify head comment. (decide_unroll_runtime_iterations): Clean up message. (unroll_loop_runtime_iterations): Clarify head comment. (decide_peel_simple): Clean up message. (peel_loop_simple): Clarify head comment. (decide_unroll_stupid): Clean up message. (unroll_loop_stupid): Clarify head comment. From-SVN: r192426
-
Andreas Schwab authored
PR gcov-profile/44728 * gcov.c (create_file_names): When stripping extension only look at base name. From-SVN: r192425
-
Jan Hubicka authored
* loop-iv.c (determine_max_iter): Fix handling of AND. (iv_number_of_iterations): Record upper bounds as unsigned values. From-SVN: r192424
-
Steven Bosscher authored
* ira.c (ira): Set current_loops to &ira_loops before recording loop exits. Release recorded exits and loops early. From-SVN: r192423
-
Chung-Lin Tang authored
builtins.c (expand_builtin_set_thread_pointer): Use create_input_operand() instead of create_fixed_operand(). 2012-10-13 Chung-Lin Tang <cltang@codesourcery.com> * builtins.c (expand_builtin_set_thread_pointer): Use create_input_operand() instead of create_fixed_operand(). From-SVN: r192422
-
Uros Bizjak authored
* config/alpha/alpha.md (FMODE): New mode iterator. (modesuffix): Handle SF and DF modes. (opmode): New mode attribute. (abs<mode>2): Macroize insn from abs{sf,df}2 using FMODE mode iterator. (*nabs<mode>2): Macroize insn from *nabs{sf,df}2 using FMODE mode iterator. (neg<mode>2): Macroize insn from neg{sf,df}2 using FMODE mode iterator. (copysign<mode>3): Macroize insn from copysign{sf,df}3 using FMODE mode iterator. (*ncopysign<mode>3): Macroize insn from *ncopysign{sf,df}3 using FMODE mode iterator. (*add<mode>3_ieee): Macroize insn from *add{sf,df}_ieee using FMODE mode iterator. (add<mode>3): Macroize insn from add{sf,df}3 using FMODE mode iterator. (*sub<mode>3_ieee): Macroize insn from *sub{sf,df}3_ieee using FMODE mode iterator. (sub<mode>3): Macroize insn from sub{sf,df}3 using FMODE mode iterator. (*mul<mode>3_ieee): Macroize insn from *mul{sf,df}3_ieee using FMODE mode iterator. (mul<mode>3): Macroize insn from mul{sf,df}3 using FMODE mode iterator. (*div<mode>3_ieee): Macroize insn from *div{sf,df}3_ieee using FMODE mode iterator. (div<mode>3): Macroize insn from div{sf,df}3 using FMODE mode iterator. (*sqrt<mode>2_ieee): Macroize insn from *sqrt{sf,df}2_ieee using FMODE mode iterator. (sqrt<mode>2): Macroize insn from sqrt{sf,df}2 using FMODE mode iterator. (*mov<mode>cc_internal): Macroize insn from *mov{sf,df}cc_internal using FMODE mode iterator. (mov<mode>cc): Macroize expander from mov{sf,df}cc using FMODE mode iterator. From-SVN: r192421
-
GCC Administrator authored
From-SVN: r192420
-
- Oct 12, 2012
-
-
Oleg Endo authored
PR target/54602 * config/sh/sh.md: Correct define_delay for return insns. (*movsi_pop): Delete. PR target/54602 * gcc.target/sh/pr54602-1.c: New. * gcc.target/sh/pr54602-2.c: New. * gcc.target/sh/pr54602-3.c: New. * gcc.target/sh/pr54602-4.c: New. From-SVN: r192417
-
Oleg Endo authored
PR target/54680 * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped comments. * config/sh/predicates.md (fpul_operand): Add comment. (fpul_fsca_operand, fsca_scale_factor): New predicates. * config/sh/sh.md (fsca): Move below sincossf3 expander. Convert to insn_and_split. Use fpul_fsca_operand and fsca_scale_factor predicates. Simplify fpul operand in splitter. PR target/54680 * gcc.target/sh/pr54680.c: New. From-SVN: r192416
-
Jan Hubicka authored
* tree-ssa-threadupdate.c (def_split_header_continue_p): Do not escape the loop. From-SVN: r192414
-
Jan Hubicka authored
From-SVN: r192413
-
Janis Johnson authored
* gcc.dg/vect/pr48765.c: Skip for conflicting options, don't specify -m64. From-SVN: r192412
-
Janis Johnson authored
* gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for GNU/Linux. From-SVN: r192410
-
Janis Johnson authored
target-supports.exp (check_effective_target_arm_hard_vfp_ok): Return 0 if already specifying -mfloat-abi other than hard. * lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok): Return 0 if already specifying -mfloat-abi other than hard. From-SVN: r192409
-
Joe Seymour authored
2012-10-12 Joe Seymour <jseymour@codesourcery.com> * gcc.dg/pr53060.c: Prune irrelevant warning. From-SVN: r192407
-
Jakub Jelinek authored
PR c/54381 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype. * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3 locs and array of 3 trees instead of just single loc and single sizeof_arg tree. Handle __builtin___*_chk builtins too, and also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins. For *cmp* builtins that take two sources strings report warnings about first and second source, not about destination and source. * c-parser.c (struct c_tree_loc_pair): Removed. (c_parser_expr_list): Remove struct c_tree_loc_pair * argument, add location_t * and tree * arguments, fill in array of 3 sizeof_arg trees and corresponding locs. (c_parser_attributes, c_parser_objc_keywordexpr): Adjust c_parser_expr_list callers. (c_parser_postfix_expression_after_primary): Likewise. Pass array of 3 sizeof_arg trees and locs (corresponding to first 3 arguments) to sizeof_pointer_memaccess_warning. * semantics.c (finish_call_expr): Pass array of 3 sizeof_arg trees and locs (corresponding to first 3 arguments) to sizeof_pointer_memaccess_warning. * c-c++-common/Wsizeof-pointer-memaccess1.c: New test. * c-c++-common/Wsizeof-pointer-memaccess2.c: New test. * gcc.dg/Wsizeof-pointer-memaccess1.c: New test. * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Test also stpncpy. Adjust expected wording of warnings for *cmp* builtins. * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise. * g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise. From-SVN: r192406
-
Diego Novillo authored
This patch combines the changes from http://gcc.gnu.org/ml/gcc-patches/2012-08/msg02016.html with other additions to support C++ inside GTY'd structures. The main changes wrt Aaron's original patch are: - Support for function declarations inside classes. - Support scoping in identifiers. This does not mean that gengtype supports scopes, it just knows that 'Foo::id' is a single entity. - Explicit non-support for typedef and enum inside class/struct. Since gengtype does not really know about scopes, it cannot understand these types, but it knows enough to recognize and reject them. GTY'd struct/class that need to typedef their own types should use GTY((user)). - Documentation on what is and is not supported. There is one check I needed to remove that gave me some trouble. When a ctor is detected, we have already parsed the name of the ctor as a type, which is then registered in the list of structures. We go on to recognize it as a ctor *after* the type has been registered. We reject the field in declarator() and it is never added to the list of fields for the class. However, when we reach the end of the class, we find that the type we created while parsing the ctor has line number information in it (the line where the ctor was) and gengtype thinks that it is a duplicate structure definition. I took out this check for two reasons: (a) It is actually unnecessary because if there were really duplicate definitions of this structure, the code would not compile, and (b) all the other alternatives required making the parser much more convoluted and I'm trying hard not to make gengtype parser too smart. 2012-10-12 Aaron Gray <aaronngray.lists@gmail.com> Diego Novillo <dnovillo@google.com> * gengtype-lex.l: Support for C++ single line comments. Support for classes. (CXX_KEYWORD): New. Support C++ keywords inline, public, protected, private, template, operator, friend, &, ~. (TYPEDEF): New. Support typedef. * gengtype-parser.c: updated 'token_names[]' (direct_declarator): Add support for parsing functions and ctors. 2012-10-12 Diego Novillo <dnovillo@google.com> * doc/gty.texi: Document C++ limitations in gengtype. * gengtype-lex.l (CID): Rename from ID. (ID): Include scoping '::' as part of the identifier name. * gengtype-parse.c (token_names): Update. (token_value_format): Update. (consume_until_eos): Rename from consume_until_semi. Remove unused argument IMMEDIATE. Update all callers. Also consider '}' as a finalizer. (consume_until_comma_or_eos): Rename from consume_until_comma_or_semi. Remove unused argument IMMEDIATE. Update all callers. Also consider '}' as a finalizer. (direct_declarator): Add documentation on ctor support. Add argument IN_STRUCT. If the token following ID is a '(', consider ID a function and return NULL. If the token following '(' is not a '*', and IN_STRUCT is true, conclude that this is a ctor and return NULL. If the token is IGNORABLE_CXX_KEYWORD, return NULL. (inner_declarator): Add argument IN_STRUCT. Update all callers. (declarator): Add argument IN_STRUCT with default value false. Update all callers. (type): Document argument NESTED. Skip over C++ inheritance specifiers. If a token TYPEDEF is found, emit an error. If an enum is found inside a class/structure, emit an error. (typedefs, structures, param_structs, variables): Initialize. (new_structure): Do not complain about duplicate structures if S has a line location set. * gengtype-state.c (write_state_type): Remove default handler. Add handler for TYPE_NONE. (read_state_scalar_char_type): * gengtype.c: Fix spacing. * gengtype.h (enum gty_token): Add name. Add token IGNORABLE_CXX_KEYWORD. From-SVN: r192405
-
Edward Smith-Rowland authored
From-SVN: r192404
-
Edward Smith-Rowland authored
From-SVN: r192403
-
Paolo Carlini authored
/cp 2012-10-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/24449 * decl.c (grokfndecl): When checking for ::main declarations use PROCESSING_REAL_TEMPLATE_DECL_P(). /testsuite 2012-10-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/24449 * g++.dg/parse/friend-main.C: New. From-SVN: r192402
-
Marc Glisse authored
2012-10-12 Marc Glisse <marc.glisse@inria.fr> PR c++/53055 gcc/c-family/ * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New. gcc/cp/ * call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref. * typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR. gcc/testsuite/ * g++.dg/pr53055.C: New testcase. From-SVN: r192401
-
Chung-Lin Tang authored
2012-10-12 Chung-Lin Tang <cltang@codesourcery.com> * config/arm/arm.md (get_thread_pointersi): Moved to place with other TLS related patterns. From-SVN: r192399
-
Richard Biener authored
2012-10-12 Richard Biener <rguenther@suse.de> * tree-streamer-out.c (pack_ts_target_option): Rename from ... (write_ts_target_option): ... this. (pack_ts_optimization): Rename from ... (write_ts_optimization): ... this. (streamer_pack_tree_bitfields): Pack them in the bitfield section ... (streamer_write_tree_body): ... not here. * tree-streamer-in.c (unpack_ts_target_option): Rename from ... (lto_input_ts_target_option): ... this. (unpack_ts_optimization): Rename from ... (lto_input_ts_optimization): ... this. (unpack_value_fields): Unpack them from the bitfield section ... (streamer_read_tree_body): ... not from here. From-SVN: r192398
-
Richard Biener authored
2012-10-12 Richard Biener <rguenther@suse.de> PR lto/54898 * lto.c (gimple_types_compatible_p_1): Also compare TYPE_MAIN_VARIANT. (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT. From-SVN: r192397
-
Uros Bizjak authored
* config/alpha/alpha.md (vecmodesuffix): New mode attribute. (modesuffix): Handle V8QI and V4HI modes. (any_maxmin): New code iterator. (maxmin): New code attribute. (<code><mode>3): Macroize insn from {smax,smin,umax,umin}{qi,hi}3 using any_maxmin code iterator and I12MODE mode iterator. (<code><mode>3): Macroize insn from {smax,smin,umax,umin}{v8qi,v4hi}3 using any_maxmin code iterator and VEC12 mode iterator. From-SVN: r192396
-
Kirill Yukhin authored
From-SVN: r192394
-
Marc Glisse authored
2012-10-12 Marc Glisse <marc.glisse@inria.fr> * optabs.c (vector_compare_rtx): Change prototype. (expand_vec_cond_expr): Handle VEC_COND_EXPR whose first operand is not a comparison. * gimplify.c (gimplify_expr): Handle VEC_COND_EXPR. From-SVN: r192393
-
Paolo Carlini authored
2012-10-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52744 * g++.dg/cpp0x/pr52744.C: New. From-SVN: r192392
-
Janus Weil authored
2012-10-12 Janus Weil <janus@gcc.gnu.org> PR fortran/40453 * interface.c (check_dummy_characteristics): Recursively check dummy procedures. 2012-10-12 Janus Weil <janus@gcc.gnu.org> PR fortran/40453 * gfortran.dg/dummy_procedure_9.f90: New. From-SVN: r192391
-
Richard Biener authored
re PR tree-optimization/54894 (internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1286) 2012-10-12 Richard Biener <rguenther@suse.de> PR tree-optimization/54894 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Handle over-aligned scalar types properly. * gcc.dg/torture/pr54894.c: New testcase. From-SVN: r192390
-
Oleg Endo authored
PR target/54760 * config/sh/sh.c (bdesc): Remove thread pointer built-ins. * config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode name 'si'. From-SVN: r192388
-