- 09 Feb, 2017 10 commits
-
-
2017-02-09 Nathan Sidwell <nathan@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> Joseph Myers <joseph@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> gcc/ * gimplify.c (gimplify_scan_omp_clauses): No special handling for OMP_CLAUSE_TILE. (gimplify_adjust_omp_clauses): Don't delete TILE. (gimplify_omp_for): Deal with TILE. * internal-fn.c (expand_GOACC_TILE): New function. * internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative. (GOACC_TILE): New. * omp-expand.c (struct oacc_collapse): Add tile and outer fields. (expand_oacc_collapse_init): Add LOC paramter. Initialize tile element fields. (expand_oacc_collapse_vars): Add INNER parm, adjust for tiling, avoid DIV for outermost collapse var. (expand_oacc_for): Insert tile element loop as needed. Adjust. Remove out of date comments, fix whitespace. * omp-general.c (omp_extract_for_data): Deal with tiling. * omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag, adjust OLF_DIM_BASE value. (struct omp_for_data): Add tiling field. * omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE. (lower_oacc_head_mark): Add OLF_TILE as appropriate. Ensure 2 levels for auto loops. Remove default auto determining, moved to oacc_loop_fixed_partitions. * omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call stmts, add e_mask field. (oacc_dim_call): New function, abstracted out from oacc_thread_numbers. (oacc_thread_numbers): Use oacc_dim_call. (oacc_xform_tile): New. (new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector. (finish_oacc_loop): Adjust for ifns vector. (oacc_loop_discover_walk): Append loop abstraction sites to list, add case for GOACC_TILE fns. (oacc_loop_xform_loop): Delete. (oacc_loop_process): Iterate over call list directly, and add handling for GOACC_TILE fns. (oacc_loop_fixed_partitions): Determine default auto, deal with TILE, dump partitioning. (oacc_loop_auto_partitions): Add outer_assign parm. Assign all but vector partitioning to outer loops. Assign 2 partitions to loops when available. Add TILE handling. (oacc_loop_partition): Adjust oacc_loop_auto_partitions call. (execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown specs. * tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE. * tree.c (omp_clause_num_ops): Adjust TILE ops. * tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New. gcc/c/ * c-parser.c (c_parser_omp_clause_collapse): Disallow tile. (c_parser_oacc_clause_tile): Disallow collapse. Fix parsing and semantic checking. * c-parser.c (c_parser_omp_for_loop): Accept tiling constructs. gcc/cp/ * parser.c (cp_parser_oacc_clause_tile): Disallow collapse. Fix parsing. Parse constant expression. Remove semantic checking. (cp_parser_omp_clause_collapse): Disallow tile. (cp_parser_omp_for_loop): Deal with tile clause. Don't emit a parse error about missing for after already emitting one. Use more conventional for idiom for unbounded loop. * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_TILE. * semantics.c (finish_omp_clauses): Correct TILE semantic check. (finish_omp_for): Deal with tile clause. gcc/fortran/ * openmp.c (resolve_omp_clauses): Error on directives containing both tile and collapse clauses. (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero. * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like collapsed loops. gcc/testsuite/ * c-c++-common/goacc/combined-directives.c: Remove xfail. * c-c++-common/goacc/loop-auto-1.c: Adjust and add additional case. * c-c++-common/goacc/loop-auto-2.c: New. * c-c++-common/goacc/tile.c: Include stdbool, fix expected errors. * c-c++-common/goacc/tile-2.c: New. * g++.dg/goacc/template.C: Test tile subst. Adjust erroneous uses. * g++.dg/goacc/tile-1.C: New, check tile subst. * gcc.dg/goacc/loop-processing-1.c: Adjust dg-final pattern. * gfortran.dg/goacc/combined-directives.f90: Remove xfail. * gfortran.dg/goacc/tile-1.f90: New test. * gfortran.dg/goacc/tile-2.f90: New test. * gfortran.dg/goacc/tile-lowering.f95: New test. libgomp/ * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New. * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and add additional case. * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under "openacc_nvidia_accel_selected". * libgomp.oacc-fortran/nested-function-1.f90 (test2): Add num_workers(8) clause. From-SVN: r245300
Chung-Lin Tang committed -
* configure.ac (ACX_BUGURL): Update. * configure: Regenerate. From-SVN: r245299
Gerald Pfeifer committed -
From-SVN: r245298
Gerald Pfeifer committed -
From-SVN: r245297
Gerald Pfeifer committed -
* configure.ac (ACX_BUGURL): Update. * configure: Regenerate. From-SVN: r245296
Gerald Pfeifer committed -
re PR tree-optimization/69823 (internal compiler error: in create_pw_aff_from_tree, at graphite-sese-to-poly.c:445) 2017-02-09 Richard Biener <rguenther@suse.de> PR tree-optimization/69823 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): Properly enumerate all BBs in the region. Use auto_vec/auto_bitmap. * gcc.dg/graphite/pr69823.c: New testcase. From-SVN: r245295
Richard Biener committed -
The __NPS400__ define is currently created in CPP_SPEC unlike the other target defines, which are created in arc-c.def. Further, the current __NPS400__ define is (currently) only created when -mcpu=nps400 is passed, which is fine, except that if GCC is configured using --with-cpu=nps400 then the -mcpu option is not required and the __NPS400__ define will not be created. This commit moves the __NPS400__ define into arc-c.def inline with all of the other target defines, and removes the code in CPP_SPEC that used to create the define. In order to support the creation of the define in arc-c.def, a new TARGET_NPS400 macro is created in arc.h. gcc/ChangeLog: * config/arc/arc-c.def: Add __NPS400__ definition. * config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here. (TARGET_NPS400): Define. From-SVN: r245294
Andrew Burgess committed -
Currently we only make the base_architecture globally available, this means we can tell if we have selected arc700/archs/etc but it's not possible to tell if the user has selected a specific cpu variant, for example nps400. One problem this causes is, for example, in arc-c.def, if we want to add an __NPS400__ define then we need a flag we can check to determine if this is the right thing to do. In this commit the arc_selected_cpu variable (previously local within arc.c) has been made global. Two other variables arc_base_cpu and arc_selected_arch have been deleted, all of this information can be found within (or through) arc_selected_cpu. All uses of arc_base_cpu and arc_selected_arch have been updated. This commit does not introduce any new defines (like __NPS400__), this is just a restructuring commit. The declaration of arc_selected_cpu has moved into arc-arch.h, in contrast to the declaration of arc_base_cpu which was previously in arc.h. This avoids a compilation issue when building libgcc, as the structure and enums declared in arc-arch.h are not included for libgcc then declaring an arc_selected_cpu (a struct type) in arc.h would result in an unknown struct error. We got away with this for arc_base_cpu as that was an enum type. The declaration of arc_selected_cpu in arc.h could have been wrapped in a '#ifndef IN_LIBGCC2 ... #endif', but it felt neater to simply move the declaration into arc-arch.h. gcc/ChangeLog: * config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in file. (arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t pointer, arch_info. (arc_cpu_types): Fill the arch_info field with a pointer into the arc_arch_types table. (arc_selected_cpu): Declare. * config/arc/arc.c (arc_selected_cpu): Make global. (arc_selected_arch): Delete. (arc_base_cpu): Delete. (arc_override_options): Remove references to deleted variables, update access to arch information. (ARC_OPT): Update access to arch information. (ARC_OPTX): Likewise. * config/arc/arc.h (arc_base_cpu): Remove declaration. (TARGET_ARC600): Update access to arch information. (TARGET_ARC601): Likewise. (TARGET_ARC700): Likewise. (TARGET_EM): Likewise. (TARGET_HS): Likewise. * config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch information. From-SVN: r245293
Andrew Burgess committed -
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on hppa*-*-*. * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't include complex.h on hppa*-*-hpux*. * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. From-SVN: r245292
John David Anglin committed -
From-SVN: r245291
GCC Administrator committed
-
- 08 Feb, 2017 15 commits
-
-
From-SVN: r245288
Gerald Pfeifer committed -
re PR target/78604 (test case gcc.target/powerpc/p8vector-vectorize-1.c fails starting with r242750) PR target/78604 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert condition/operands for integer GE/LE/GEU/LEU operations. * gcc.target/powerpc/pr78604.c: New. From-SVN: r245285
Pat Haugen committed -
gcc/testsuite/ChangeLog: 2017-02-08 Kelvin Nilsen <kelvin@gcc.gnu.org> PR target/68972 * g++.dg/cpp1y/vla-initlist1.C: Add dg-skip-if directive to disable this test on power architecture. From-SVN: r245280
Kelvin Nilsen committed -
* doc/xml/manual/policy_data_structures.xml: Fix spelling of author's name. * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove broken links to texts that are no longer online. * doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and LCPC 2006 paper. * doc/xml/manual/using.xml: Update links to memory model information. * doc/xml/manual/using_exceptions.xml: Update link to "Appendix E: Standard-Library Exception Safety". * doc/html/*: Regenerate. From-SVN: r245277
Jonathan Wakely committed -
It was spelled Altivec in two user-facing messages in rs6000.opt; let's be consistent. PR translation/79397 * config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling of AltiVec. From-SVN: r245276
Segher Boessenkool committed -
2017-02-08 Martin Jambor <mjambor@suse.cz> PR ipa/79375 * ipa-prop.c (ipa_alloc_node_params): Make static, return bool whether allocation happened. (ipa_initialize_node_params): Do not call ipa_alloc_node_params if nothing was allocated. From-SVN: r245275
Martin Jambor committed -
2017-02-08 Richard Biener <rguenther@suse.de> PR tree-optimization/71824 PR tree-optimization/79409 * gcc.dg/graphite/pr71824-3.c: New testcase. From-SVN: r245274
Richard Biener committed -
PR tree-optimization/79408 * tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not constant, but SSA_NAME with a known integer range, use the minimum of that range instead of op1 to determine if modulo can be replaced with its first operand. * gcc.dg/tree-ssa/pr79408.c: New test. From-SVN: r245273
Jakub Jelinek committed -
* config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX. From-SVN: r245272
Kyrylo Tkachov committed -
2017-02-08 Richard Biener <rguenther@suse.de> PR tree-optimization/71824 * graphite-scop-detection.c (scop_detection::build_scop_breadth): Check all loops contained in the merged region. * gcc.dg/graphite/pr71824-2.c: New testcase. From-SVN: r245270
Richard Biener committed -
* doc/xml/manual/profile_mode.xml: Unbreak link to "Optimizing Sorting with Machine Learning Algorithms". From-SVN: r245269
Gerald Pfeifer committed -
From-SVN: r245268
Gerald Pfeifer committed -
2016-02-07 Andrew Pinski <apinski@cavium.com> gcc * config/aarch64/aarch64.md (popcount<mode>2): New pattern. gcc/testsuite * gcc.target/aarch64/popcount.c : New Testcase. From-SVN: r245267
Andrew Pinski committed -
2017-02-07 Andrew Pinski <apinski@cavium.com> * config/aarch64/aarch64-cores.def (thunderx): Disable LSE. (thunderxt88): Likewise. (thunderxt81): Disable LSE and change v8.1 to v8. (thunderxt83): Likewise. From-SVN: r245266
Andrew Pinski committed -
From-SVN: r245264
GCC Administrator committed
-
- 07 Feb, 2017 15 commits
-
-
* doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++ Migration Guide". From-SVN: r245261
Gerald Pfeifer committed -
From-SVN: r245260
Gerald Pfeifer committed -
* doc/html/ext/lwg-active.html: Remove. * doc/html/ext/lwg-closed.html: Ditto. * doc/html/ext/lwg-defects.html: Ditto. * doc/Makefile.am (xml_extradir): Remove. (xml_extra): Ditto. (stamp-html-docbook-lwg): Remove recipe... (stamp-html-docbook-data): ...and its use here. * doc/Makefile.in: Regenerate. * doc/xml/manual/intro.xml: Shorten two paragraphs explaining the relationship to the upstream working group. Replace a local link to ../ext/lwg-active.html by the upstream one. Replace all reference to ../ext/lwg-defects.html by a new entity &DR; which refers to the upstream address. From-SVN: r245258
Gerald Pfeifer committed -
From-SVN: r245257
Gerald Pfeifer committed -
PR middle-end/79399 * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size type from int to size_t. * ira-costs.c (struct_costs_size): Change type from int to size_t. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r245256
Jakub Jelinek committed -
trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose REAL type with the widest precision if... 2017-02-04 Steven G. Kargl <kargl@gcc.gnu.org> * trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose REAL type with the widest precision if two (or more) have the same storage size. From-SVN: r245255
Steven G. Kargl committed -
From-SVN: r245253
Gerald Pfeifer committed -
PR rtl-optimization/79386 * cprop.c (bypass_conditional_jumps): Initialize bypass_last_basic_block already before splitting bbs after unconditional traps... (bypass_conditional_jumps): ... rather than here. * gcc.c-torture/compile/pr79386.c: New test. From-SVN: r245251
Jakub Jelinek committed -
* method.c (synthesized_method_base_walk): New. Broken out of ... (synthesized_method_walk): ... here. Call it. Cleanup initializations. From-SVN: r245250
Nathan Sidwell committed -
2017-02-07 Dominik Vogt <vogt@linux.vnet.ibm.com> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * g++.dg/tls/thread_local-order2.C: Only xfail execution on *-*-solaris*. Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> From-SVN: r245249
Dominik Vogt committed -
PR target/79299 * config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs. (*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2, *avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them, fix -masm=intel patterns. * gcc.target/i386/avx512vl-pr79299-1.c: New test. * gcc.target/i386/avx512vl-pr79299-2.c: New test. From-SVN: r245248
Jakub Jelinek committed -
2017-02-07 Richard Biener <rguenther@suse.de> PR tree-optimization/79256 PR middle-end/79278 * builtins.c (get_object_alignment_2): Use min_align_of_type to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN. * doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional type parameter. * doc/tm.texi: Regenerate. * stor-layout.c (layout_decl): Adjust. (update_alignment_for_field): Likewise. (place_field): Likewise. (min_align_of_type): Likewise. * config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust. * config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise. * config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise. * config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise. * config/frv/frv.c (frv_adjust_field_align): Likewise. * config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise. * config/i386/i386.c (x86_field_alignment): Likewise. * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): Likewise. go/ * go-backend.c (go_field_alignment): Adjust. libobjc/ * encoding.c (objc_layout_structure_next_member): Adjust ADJUST_FIELD_ALIGN usage. Revert 2017-01-30 Richard Biener <rguenther@suse.de> PR tree-optimization/79256 * targhooks.c (default_builtin_vector_alignment_reachable): Honor BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus alignment on TYPE. From-SVN: r245245
Richard Biener committed -
2017-02-07 Richard Biener <rguenther@suse.de> c/ * gimple-parser.c (c_parser_gimple_expr_list): Simplify. (c_parser_gimple_postfix_expression_after_primary): Do not use c_build_function_call_vec to avoid folding and promotion. Simplify. * gcc.dg/gimplefe-23.c: New testcase. * gcc.dg/gimplefe-24.c: Likewise. From-SVN: r245244
Richard Biener committed -
operands. gcc/ * config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw builtins to SImode and emit a zero-extend, if necessary. From-SVN: r245243
Toma Tabacu committed -
2017-02-07 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/test_frame_1.c: Scan epilogue with scan-assembler instead of scan-assembler-times. * gcc.target/aarch64/test_frame_10.c: Likewise. * gcc.target/aarch64/test_frame_12.c: Likewise. * gcc.target/aarch64/test_frame_2.c: Likewise. * gcc.target/aarch64/test_frame_4.c: Likewise. * gcc.target/aarch64/test_frame_6.c: Likewise. * gcc.target/aarch64/test_frame_7.c: Likewise. * gcc.target/aarch64/test_frame_8.c: Likewise. From-SVN: r245242
Christophe Lyon committed
-