aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-07-21Compute once and cache the LB and UB for each clast_name.Sebastian Pop2-42/+121
2011-07-21 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (struct clast_name_index): Add lb and ub fields. (new_clast_name_index): Add lb and ub parameters. (free_clast_name_index): New. (clast_name_to_lb_ub): New. (save_clast_name_index): Add lb and ub parameters. (compute_bounds_for_param): New. (type_for_level): Removed. (type_for_clast_for): Removed level parameter. Do not call type_for_level. (graphite_create_new_loop): Store the lb and ub for the clast_name of the iterator of the loop that has been generated. (graphite_create_new_loop_guard): Remove parameter level. (create_params_index): Store the lb and ub of each parameter. (gloog): Use free_clast_name_index. Pass to create_params_index the current scop. From-SVN: r176603
2011-07-21Remove max_signed_precision_type.Sebastian Pop2-29/+30
2011-07-21 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (max_signed_precision_type): Removed. (max_precision_type): Inline max_signed_precision_type. (type_for_clast_red): Use max_precision_type. (type_for_clast_bin): Same. (type_for_clast_for): Same. From-SVN: r176602
2011-07-21Rename gcc_type_for_clast_* into type_for_clast_*Sebastian Pop2-35/+46
2011-07-21 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (gcc_type_for_interval): Renamed type_for_interval. (gcc_type_for_value): Renamed type_for_value. (gcc_type_for_clast_term): Renamed type_for_clast_term. (gcc_type_for_clast_expr): Renamed type_for_clast_expr. (gcc_type_for_clast_red): Renamed type_for_clast_red. (gcc_type_for_clast_bin): Renamed type_for_clast_bin. (gcc_type_for_clast_eq): Renamed type_for_clast_eq. (graphite_translate_clast_equation): Update calls. (compute_type_for_level): Renamed type_for_level. (gcc_type_for_iv_of_clast_loop): Renamed type_for_clast_for. (build_iv_mapping): Update calls. (graphite_create_new_loop_guard): Same. From-SVN: r176601
2011-07-21Add fixme comment.Sebastian Pop2-1/+23
2011-07-21 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (clast_get_body_of_loop): Add fixme comment. From-SVN: r176600
2011-07-21Cleanup function params using a struct.Sebastian Pop2-206/+155
2011-07-21 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (struct ivs_params): New. (clast_name_to_gcc): Use ivs_params to pass around parameters. (clast_to_gcc_expression): Same. (clast_to_gcc_expression_red): Same. (gcc_type_for_clast_term): Same. (gcc_type_for_clast_expr): Same. (gcc_type_for_clast_red): Same. (gcc_type_for_clast_bin): Same. (gcc_type_for_clast_eq): Same. (graphite_translate_clast_equation): Same. (graphite_create_guard_cond_expr): Same. (graphite_create_new_guard): Same. (graphite_create_new_loop): Same. (build_iv_mapping): Same. (translate_clast_user): Same. (graphite_create_new_loop_guard): Same. (translate_clast): Same. (translate_clast_for_loop): Same. (translate_clast_for): Same. (translate_clast_guard): Same. (initialize_cloog_names): Fix typo. (gloog): Initialize an ivs_params struct, pass it to translate_clast. From-SVN: r176599
2011-07-21Record the loop level that defines a clast_name.Sebastian Pop2-20/+54
2011-07-21 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (struct clast_name_index): Add level. (new_clast_name_index): Add level parameter. (clast_name_to_level): New. (save_clast_name_index): Add level parameter. (newivs_to_depth_to_newiv): Removed. (clast_name_to_gcc): Inlined newivs_to_depth_to_newiv. (graphite_create_new_loop): Add level parameter. Pass level to save_clast_name_index. (translate_clast_for_loop): Pass level to graphite_create_new_loop. (create_params_index): Pass level to save_clast_name_index. From-SVN: r176598
2011-07-21Do not compute twice type, lb, and ub.Sebastian Pop2-31/+39
2011-07-21 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (graphite_create_new_loop): Do not recompute type, lb, and ub. Get them from... (graphite_create_new_loop_guard): ...here. Pass in parameter pointers to type, lb, and ub. (translate_clast_for_loop): Update function calls. (translate_clast_for): Same. From-SVN: r176597
2011-07-21Start counting nesting level from 0 and use the standard "Polyhedral ↵Sebastian Pop4-21/+22
SCattering Transformed" psct_* interface. 2011-07-21 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (compute_bounds_for_level): Call psct_dynamic_dim. (translate_clast_for_loop): Pass loop level to dependency_in_loop_p. (gcc_type_for_iv_of_clast_loop): Update use of level. (gloog): Start counting nesting level from 0. * graphite-clast-to-gimple.h (get_scattering_level): Removed. * graphite-dependences.c (graphite_carried_dependence_level_k): Call psct_dynamic_dim on level. From-SVN: r176596
2011-07-21Convert to Pmode if needed in ix86_legitimize_address.H.J. Lu2-2/+15
2011-07-21 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_legitimize_address): Convert to Pmode if needed. From-SVN: r176595
2011-07-21Promote pointer function arguments and return values to Pmode.H.J. Lu2-0/+31
2011-07-21 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (function_value_64): Always return pointers in Pmode. (ix86_promote_function_mode): New. (TARGET_PROMOTE_FUNCTION_MODE): Likewise. From-SVN: r176593
2011-07-21re PR middle-end/49705 (-Wstrict-overflow should not diagnose unevaluated ↵Ian Lance Taylor4-7/+66
expressions) gcc/c-family: PR middle-end/49705 * c-common.c (c_disable_warnings): New static function. (c_enable_warnings): New static function. (c_fully_fold_internal): Change local unused_p to bool. Call c_disable_warnings and c_enable_warnings rather than change c_inhibit_evaluation_warnings. gcc/testsuite: PR middle-end/49705 * gcc.dg/pr49705.c: New test. From-SVN: r176591
2011-07-21Steven G. Kargl <kargl@gcc.gnu.org>Steven G. Kargl2-1/+5
* gfortran.texi: Remove a duplicate word. From-SVN: r176587
2011-07-21re PR tree-optimization/49749 (Reassociation rank algorithm does not include ↵Bill Schmidt2-6/+11
all non-NULL operands) 2011-07-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/49749 * tree-ssa-reassoc.c (get_rank): Fix operand scan conditions and remove no-longer-used maxrank variable. From-SVN: r176581
2011-07-21target-supports.exp (check_avx_os_support_available): New.Uros Bizjak2-4/+33
* lib/target-supports.exp (check_avx_os_support_available): New. (check_effective_target_avx_runtime): Use it. From-SVN: r176576
2011-07-21avr.c (final_prescan_insn): Fix printing of rtx_costs.Georg-Johann Lay2-3/+13
* config/avr/avr.c (final_prescan_insn): Fix printing of rtx_costs. From-SVN: r176575
2011-07-21* de.po, sv.po: Update.Joseph Myers3-873/+831
From-SVN: r176573
2011-07-21system.h (HAVE_DESIGNATED_UNION_INITIALIZERS): New.Jason Merrill4-6/+19
* system.h (HAVE_DESIGNATED_UNION_INITIALIZERS): New. * recog.h (struct insn_data_d): Check it instead of HAVE_DESIGNATED_INITIALIZERS. * genoutput.c (output_insn_data): Likewise. From-SVN: r176572
2011-07-21Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...Eric Botcazou2-2/+7
* gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to... (GNAT1_OBJS): ...here. From-SVN: r176569
2011-07-21re PR tree-optimization/49770 (wrong code with -fno-tree-forwprop)Richard Guenther4-14/+150
2011-07-21 Richard Guenther <rguenther@suse.de> PR tree-optimization/49770 * tree-ssa-sccvn.c (valueize_refs_1): Return whether we valueized any operand. Renamed from ... (valueize_refs): ... this. New wrapper around valueize_refs_1. (valueize_shared_reference_ops_from_ref): Return whether we valueized any operand. (vn_reference_lookup): Only when we valueized any operand use the valueized reference for alias analysis. Do not preserve the original reference tree in this case. * g++.dg/torture/pr49770.C: New testcase. From-SVN: r176567
2011-07-21* ChangeLog: Fix description of my last commit.Uros Bizjak1-6/+4
From-SVN: r176566
2011-07-21i386.c (ix86_decompose_address): Reject all but register operands and DImode ↵Uros Bizjak2-9/+13
hard registers in index. * config/i386/i386.c (ix86_decompose_address): Reject all but register operands and DImode hard registers in index. From-SVN: r176565
2011-07-21ChangeLog gcc/Kai Tietz11-35/+67
2011-07-21 Kai Tietz <ktietz@redhat.com> * fold-const.c (fold_unary_loc): Preserve indirect comparison cast to none-boolean type. * tree-ssa.c (useless_type_conversion_p): Preserve cast from/to boolean-type. * gimplify.c (gimple_boolify): Handle boolification of comparisons. (gimplify_expr): Boolifiy non aggregate-typed comparisons. * tree-cfg.c (verify_gimple_comparison): Check result type of comparison expression. * tree-ssa-forwprop.c (forward_propagate_comparison): Adjust test of condition result and disallow type-cast sinking into comparison. ChangeLog gcc/testsuite 2011-07-21 Kai Tietz <ktietz@redhat.com> * gcc.dg/tree-ssa/pr30978.c: adjusted. * gcc.dg/tree-ssa/ssa-fre-6.c: Likewise. * gcc.dg/binop-xor1.c: Set to fail. * gcc.dg/binop-xor3.c: Set to fail. From-SVN: r176563
2011-07-21check.c (gfc_check_present): Allow coarrays.Tobias Burnus8-4/+238
2011-07-21 Tobias Burnus <burnus@net-b.de> * check.c (gfc_check_present): Allow coarrays. * trans-array.c (gfc_conv_array_ref): Avoid casting when a pointer is wanted. * trans-decl.c (create_function_arglist): For -fcoarray=lib, handle hidden token and offset arguments for nondescriptor coarrays. * trans-expr.c (get_tree_for_caf_expr): New function. (gfc_conv_procedure_call): For -fcoarray=lib pass the token and offset for nondescriptor coarray dummies. * trans.h (lang_type): Add caf_offset tree. (GFC_TYPE_ARRAY_CAF_OFFSET): New macro. 2011-07-21 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_lib_token_1.f90: New. From-SVN: r176562
2011-07-21tree-ssa-forwprop.c (combine_conversions): Return whether we have to run ↵Richard Guenther2-12/+24
cfg-cleanup. 2011-07-21 Richard Guenther <rguenther@suse.de> * tree-ssa-forwprop.c (combine_conversions): Return whether we have to run cfg-cleanup. Properly remove dead stmts. (ssa_forward_propagate_and_combine): Adjust. From-SVN: r176561
2011-07-21regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.Richard Sandiford2-4/+7
gcc/ * regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK. From-SVN: r176558
2011-07-21tree-ssa-propagate.c (substitute_and_fold): Use do_dce flag to deside...Kai Tietz2-4/+17
2011-07-21 Kai Tietz <ktietz@redhat.com> * tree-ssa-propagate.c (substitute_and_fold): Use do_dce flag to deside, if BB's statements are scanned in last to first, or first to last order. From-SVN: r176556
2011-07-21* config/avr/avr.c (avr_rtx_costs): Set cost of CONST, LABEL_REF to 0.Georg-Johann Lay2-2/+6
From-SVN: r176554
2011-07-21pr32912-2.c: Skip for AVR.Georg-Johann Lay3-0/+7
* gcc.dg/pr32912-2.c: Skip for AVR. * gcc.dg/pr44674.c: Add dg-require-profiling. From-SVN: r176553
2011-07-21Daily bump.GCC Administrator1-1/+1
From-SVN: r176548
2011-07-20Handle address output and call patterns for x32.H.J. Lu6-17/+65
2011-07-20 H.J. Lu <hongjiu.lu@intel.com> Uros Bizjak <ubizjak@gmail.com> Richard Henderson <rth@redhat.com> * config/i386/constraints.md (w): New. * config/i386/i386.c (ix86_output_addr_vec_elt): Check TARGET_LP64 instead of TARGET_64BIT for ASM_QUAD. * config/i386/i386.h (CASE_VECTOR_MODE): Check TARGET_LP64 instead of TARGET_64BIT. * config/i386/i386.md (indirect_jump): Replace nonimmediate_operand with indirect_branch_operand. (*indirect_jump): Likewise. Replace constraint "m" with "w". (tablejump): Replace nonimmediate_operand with indirect_branch_operand. Convert operand 0 to Pmode for x32 if not PIC. (*tablejump_1): Replace nonimmediate_operand with indirect_branch_operand. Replace constraint "m" with "w". (*call_vzeroupper): Replace constraint "m" with "w". (*call): Likewise. (*call_rex64_ms_sysv_vzeroupper): Likewise. (*call_rex64_ms_sysv): Likewise. (*call_value_vzeroupper): Likewise. (*call_value): Likewise. (*call_value_rex64_ms_sysv_vzeroupper): Likewise. (*call_value_rex64_ms_sysv): Likewise. (set_got_offset_rex64): Check TARGET_LP64 instead of TARGET_64BIT. * config/i386/predicates.md (indirect_branch_operand): New. (call_insn_operand): Support x32. Co-Authored-By: Richard Henderson <rth@redhat.com> Co-Authored-By: Uros Bizjak <ubizjak@gmail.com> From-SVN: r176539
2011-07-20params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): Default to 12.Michael Eager2-1/+5
From-SVN: r176538
2011-07-20Dump basic_block flags.Richard Henderson3-44/+31
From-SVN: r176537
2011-07-20i386.c (ix86_decompose_address): Allow only subregs of DImode hard registers ↵Uros Bizjak2-24/+39
in index. * config/i386/i386.c (ix86_decompose_address): Allow only subregs of DImode hard registers in index. (ix86_legitimate_address_p): Allow subregs of base and index to span more than a word. Assert that subregs of base and index satisfy register_no_elim_operand predicates. Reject addresses where base and index have different modes. From-SVN: r176536
2011-07-20config.gcc (mips*-*-linux*): Remove redundant tm_file entry.Robert Millan2-1/+5
gcc/ 2011-07-20 Robert Millan <rmh@gnu.org> * config.gcc (mips*-*-linux*): Remove redundant tm_file entry. From-SVN: r176535
2011-07-20bb-reorder.c (fix_crossing_conditional_branches): Fix crash by removing ↵Ulrich Weigand2-1/+5
now-unnecessary assignment. * bb-reorder.c (fix_crossing_conditional_branches): Fix crash by removing now-unnecessary assignment. From-SVN: r176533
2011-07-20parser.c (cp_parser_initializer_list): Handle C99 .id= and [N]= designated ↵Jason Merrill5-11/+83
initializer syntax. * parser.c (cp_parser_initializer_list): Handle C99 .id= and [N]= designated initializer syntax. * decl.c (check_array_designated_initializer): Add index parm. (maybe_deduce_size_from_array_init): Pass it. (reshape_init_array_1): Likewise. From-SVN: r176530
2011-07-20emit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting memory address ↵Ulrich Weigand2-0/+6
space to the type's address space. * emit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting memory address space to the type's address space. From-SVN: r176528
2011-07-20re PR target/36467 ([avr] Missed optimization with pointer arithmetic and mul*)Georg-Johann Lay4-11/+402
PR target/36467 PR target/49687 * config/avr/avr.md (mulhi3): Use register_or_s9_operand for operand2 and expand appropriately if there is a CONST_INT in operand2. (usmulqihi3): New insn. (*sumulqihi3): New insn. (*osmulqihi3): New insn. (*oumulqihi3): New insn. (*muluqihi3.uconst): New insn_and_split. (*muluqihi3.sconst): New insn_and_split. (*mulsqihi3.sconst): New insn_and_split. (*mulsqihi3.uconst): New insn_and_split. (*mulsqihi3.oconst): New insn_and_split. (*ashifthi3.signx.const): New insn_and_split. (*ashifthi3.signx.const7): New insn_and_split. (*ashifthi3.zerox.const): New insn_and_split. (mulsqihi3): New insn. (muluqihi3): New insn. (muloqihi3): New insn. * config/avr/predicates.md (const_2_to_7_operand): New. (const_2_to_6_operand): New. (u8_operand): New. (s8_operand): New. (o8_operand): New. (s9_operand): New. (register_or_s9_operand): New. From-SVN: r176527
2011-07-20builtins.c (fold_builtin_expect): See through the cast from ↵Kai Tietz2-12/+19
truthvalue_type_node to long. 2011-07-20 Kai Tietz <ktietz@redhat.com> * builtins.c (fold_builtin_expect): See through the cast from truthvalue_type_node to long. From-SVN: r176526
2011-07-20Allow 4 operand FMAs on power7Michael Meissner7-58/+181
From-SVN: r176522
2011-07-20genrecog.c (make_insn_sequence): Correct position numbering when filtering ↵Sandra Loosemore2-1/+6
out match_scratch and match_dup. 2011-07-20 Sandra Loosemore <sandra@codesourcery.com> gcc/ * genrecog.c (make_insn_sequence): Correct position numbering when filtering out match_scratch and match_dup. From-SVN: r176518
2011-07-20tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify against already ↵Richard Guenther3-33/+52
removed statements. 2011-07-20 Richard Guenther <rguenther@suse.de> * tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify against already removed statements. (forward_propagate_into_comparison): Remove dead defining stmts. (forward_propagate_into_gimple_cond): Likewise. (forward_propagate_into_cond): Simplify. (ssa_forward_propagate_and_combine): Handle changed cfg from forward_propagate_into_comparison. * tree-ssa-phiopt.c (conditional_replacement): Use proper locations for newly built statements. From-SVN: r176517
2011-07-20* config/avr/avr.c (avr_rtx_costs): Set cost of SYMBOL_REF to 0.Georg-Johann Lay2-2/+6
From-SVN: r176516
2011-07-20changelog tweakJason Merrill1-0/+2
From-SVN: r176514
2011-07-20PR c++/6709 (DR 743)Jason Merrill8-49/+185
PR c++/6709 (DR 743) PR c++/42603 (DR 950) gcc/cp/ * parser.c (token_is_decltype, cp_lexer_next_token_is_decltype): New. (cp_parser_nested_name_specifier_opt): Allow decltype. (cp_parser_qualifying_entity): Likewise. (cp_parser_decltype): Replace source tokens with CPP_DECLTYPE. (cp_parser_simple_type_specifier): Handle decltype as scope. (cp_parser_base_specifier): Allow decltype. (cp_parser_base_clause): Don't crash on null base. * parser.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move to c-common.h. (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise. gcc/c-family/ * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h. (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise. (CPP_DECLTYPE): New. * c-common.c (c_parse_error): Handle CPP_DECLTYPE. From-SVN: r176513
2011-07-20s390.c (s390_class_max_nregs): Fix return type.Andreas Krebbel3-2/+7
2011-07-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_class_max_nregs): Fix return type. * config/s390/s390-protos.h (s390_class_max_nregs): Likewise. From-SVN: r176511
2011-07-20re PR middle-end/18908 (Missed folding opportunities with bools)Richard Biener1-3/+1
2011-07-20 Richard Guenther <rguenther@suse.de> PR middle-end/18908 * tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision. * tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus ADDR_EXPR folding. Canonicalize X ^ ~0 as ~X. * gcc.dg/tree-ssa/pr18908.c: New testcase. * gcc.dg/tree-ssa/bitwise-sink.c: Adjust. From-SVN: r176510
2011-07-20re PR middle-end/18908 (Missed folding opportunities with bools)Richard Guenther5-32/+34
2011-07-20 Richard Guenther <rguenther@suse.de> PR middle-end/18908 * tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision. * tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus ADDR_EXPR folding. Canonicalize X ^ ~0 as ~X. * gcc.dg/tree-ssa/pr18908.c: New testcase. * gcc.dg/tree-ssa/bitwise-sink.c: Adjust. From-SVN: r176508
2011-07-20frv.c (frv_register_move_cost): Define explicitly costs for subclasses of ↵Vladimir Makarov2-0/+33
GR_REGS. 2011-07-20 Vladimir Makarov <vmakarov@redhat.com> * config/frv/frv.c (frv_register_move_cost): Define explicitly costs for subclasses of GR_REGS. From-SVN: r176507
2011-07-20re PR target/49780 ([x32] internal compiler error: in create_mem_ref, at ↵Uros Bizjak3-10/+24
tree-ssa-address.c:806) PR target/49780 * config/i386/predicates.md (no_seg_addres_operand): No more special. * config/i386/i386.c (ix86_decompose_address): Allow only subregs of DImode hard registers in base. (ix86_legitimate_address_p): Allow SImode and DImode base and index registers. From-SVN: r176506