- 02 Jul, 2019 8 commits
-
-
* tree-inline.c (remap_gimple_stmt): Do not subtitute handled components to clobber of return value. * g++.dg/lto/pr90990_0.C: New testcase. From-SVN: r272925
Jan Hubicka committed -
Some scheduling descriptions, like the Cortex-A57 one, are reused for multiple -mcpu options. Sometimes those other -mcpu cores support more architecture features than the Armv8-A Cortex-A57. For example, the Cortex-A75 and Cortex-A76 support Armv8.2-A as well as the Dot Product instructions. These Dot Product instructions have the neon_dot and neon_dot_q scheduling type, but that type is not handled in cortex-a57.md, since the Cortex-A57 itself doesn't need to care about these instructions. But if we just ignore the neon_dot(_q) type at scheduling we get really terrible codegen when compiling for -mcpu=cortex-a76, for example, because the scheduler just pools all the UDOT instructions at the end of the basic block, since it doesn't assume anything about their behaviour. This patch ameliorates the situation somewhat by telling the Cortex-A57 scheduling model to treat any insn that doesn't get assigned a cortex_a57_neon_type but is actually a is_neon_type instruction as a simple neon_arith_basic instruction. This allows us to treat post-Armv8-A SIMD instructions more sanely without having to model each of them explicitly in cortex-a57.md. * config/arm/cortex-a57.md (cortex_a57_neon_type): Use neon_arith_basic for is_neon_type instructions that have not already been categorized. From-SVN: r272924
Kyrylo Tkachov committed -
* lto-common.c (lto_register_canonical_types_for_odr_types): Copy CXX_ODR_P from the main variant. From-SVN: r272923
Jan Hubicka committed -
re PR tree-optimization/58483 (missing optimization opportunity for const std::vector compared to std::array) 2019-07-02 Richard Biener <rguenther@suse.de> PR tree-optimization/58483 * tree-ssa-scopedtables.c (avail_expr_hash): Use OEP_ADDRESS_OF for MEM_REF base hashing. (equal_mem_array_ref_p): Likewise for base comparison. * gcc.dg/tree-ssa/ssa-dom-cse-8.c: New testcase. From-SVN: r272922
Richard Biener committed -
2019-07-02 Janne Blomqvist <jb@gcc.gnu.org> PR other/91048 * mklog (read_user_info): Open ~/.mklog in string mode. From-SVN: r272921
Janne Blomqvist committed -
Generating pdf files requires everything that is required for the xml files except the style sheets. libstdc++-v3/ * configure.ac (BUILD_PDF): Also test for doxygen, dot, xsltproc, and xmllint. * configure: Regenerate. From-SVN: r272920
Jim Wilson committed -
Convert the Export::type_refs map from a static object to a field contained (indirectly, via an impl class) in Export itself, for better encapsulation and to be able to reclaim its memory when exporting is done. No change in compiler functionality. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/184170 From-SVN: r272919
Ian Lance Taylor committed -
From-SVN: r272916
GCC Administrator committed
-
- 01 Jul, 2019 32 commits
-
-
@signbit<mode>2_dm * config/rs6000/rs6000.md (signbit<mode>2_dm): Make this a parameterized name. (signbit<mode>2): Use that name. Simplify. From-SVN: r272912
Segher Boessenkool committed -
PR middle-end/66726 * tree-ssa-phiopt.c (factor_out_conditional_conversion): Tune heuristic from PR71016 to allow MIN / MAX. * testsuite/gcc.dg/tree-ssa/pr66726-4.c: New testcase. From-SVN: r272911
Joern Rennecke committed -
From-SVN: r272908
Uros Bizjak committed -
@ieee_128bit_vsx_abs<mode>2 * config/rs6000/rs6000.md (ieee_128bit_vsx_abs<mode>2): Make this a parameterized name. (abs<mode>2): Use that name. Simplify. From-SVN: r272907
Segher Boessenkool committed -
@ieee_128bit_vsx_neg<mode>2 * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2): Make this a parameterized name. (neg<mode>2): Use that name. Simplify. From-SVN: r272906
Segher Boessenkool committed -
@abs<mode>2_hw * config/rs6000/rs6000.md (abs<mode>2_hw): Make this a parameterized name. (abs<mode>2): Use that name. Simplify. From-SVN: r272905
Segher Boessenkool committed -
@neg<mode>2_hw * config/rs6000/rs6000.md (neg<mode>2_hw): Make this a parameterized name. (neg<mode>2): Use that name. Simplify. From-SVN: r272904
Segher Boessenkool committed -
@extenddf<mode>2 * config/rs6000/rs6000.md (extenddf<mode>2): Make this a parameterized name. (floatsi<mode>2): Use that name. Simplify. From-SVN: r272903
Segher Boessenkool committed -
* config/i386/i386.md ("isa" attribute): Add sse_noavx. ("enabled" attribute): Handle sse_noavx isa attribute. * config/i386/mmx.md (*vec_dupv2sf): Add "isa" attribute. Use TARGET_SSE && SSE_REGNO_P in split condition. (*vec_dupv2sf): Ditto. From-SVN: r272902
Uros Bizjak committed -
@extenddf<mode>2_{fprs,vsx} * config/rs6000/rs6000.md (extenddf<mode>2_fprs): Make this a parameterized name. (extenddf<mode>2_vsx): Make this a parameterized name. (extenddf<mode>2): Use those names. Simplify. From-SVN: r272901
Segher Boessenkool committed -
@eh_set_lr_<mode> * config/rs6000/rs6000.md (eh_set_lr_<mode>): Make this a parameterized name. (eh_return): Use that name. Simplify. From-SVN: r272900
Segher Boessenkool committed -
@ctr<mode> * config/rs6000/rs6000.md (ctr<mode>): Make this a parameterized name. (doloop_end): Use that name. Simplify. From-SVN: r272899
Segher Boessenkool committed -
@indirect_jump<mode>_nospec * config/rs6000/rs6000.md (indirect_jump<mode>_nospec): Make this a parameterized name. (indirect_jump): Use that name. Simplify. From-SVN: r272898
Segher Boessenkool committed -
@abs<mode>2_internal * config/rs6000/rs6000.md (abs<mode>2_internal): Make this a parameterized name. (abs<mode>2): Use that name. Simplify. From-SVN: r272897
Segher Boessenkool committed -
@fix_trunc<mode>si2_fprs * config/rs6000/rs6000.md (fix_trunc<mode>si2_fprs): Make this a parameterized name. (fix_trunc<mode>si2): Use that name. Simplify. From-SVN: r272896
Segher Boessenkool committed -
@neg<mode>2 * config/rs6000/rs6000.md (neg<mode>2): Make this a parameterized name. (allocate_stack): Use that name. Simplify. From-SVN: r272894
Segher Boessenkool committed -
gcc/ChangeLog: PR middle-end/90923 * hash-map.h (hash_map::put): On insertion invoke element ctor. (hash_map::get_or_insert): Same. Reformat comment. * hash-set.h (hash_set::add): On insertion invoke element ctor. * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor): New. * hash-set-tests.c (test_map_of_type_with_ctor_and_dtor): New. * hash-table.h (hash_table::operator=): Prevent copy assignment. (hash_table::hash_table (const hash_table&)): Use copy ctor instead of assignment to copy elements. From-SVN: r272893
Martin Sebor committed -
PR target/90963 * config/pa/pa.md (builtin_longjmp): Restore hard_frame_pointer_rtx using saved frame pointer. Co-Authored-By: John David Anglin <danglin@gcc.gnu.org> From-SVN: r272891
Wilco Dijkstra committed -
PR middle-end/64242 * config/sparc/sparc.md (nonlocal_goto): Restore frame pointer last. Add frame clobber and schedule blockage. From-SVN: r272889
Eric Botcazou committed -
2019-07-01 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi (Link Options): Further editorial changes to -flinker-output docs. From-SVN: r272887
Sandra Loosemore committed -
The function rs6000_force_indexed_or_indirect_mem makes a memory operand suitable for indexed (or indirect) addressing. If the memory address isn't yet valid, it loads the whole thing into a register to make it valid. That isn't optimal. This changes it to load an address that is the sum of two things into two registers instead. This results in lower latency code, and if inside loops, a constant term can be moved outside the loop. * config/rs6000/rs6000.c (rs6000_force_indexed_or_indirect_mem): Load both operands of a PLUS into registers separately. From-SVN: r272886
Segher Boessenkool committed -
From-SVN: r272885
Andreas Krebbel committed -
We currently use subst definitions to handle the different variants of shift count operands. Unfortunately, in the vector shift pattern the shift count operand is used directly. Without it being adjusted for the 'subst' variants the displacement value is omitted resulting in a wrong shift count being applied. This patch needs to be applied to older branches as well. gcc/ChangeLog: 2019-07-01 Andreas Krebbel <krebbel@linux.ibm.com> * config/s390/vector.md: gcc/testsuite/ChangeLog: 2019-07-01 Andreas Krebbel <krebbel@linux.ibm.com> * gcc.target/s390/vector/vec-shift-2.c: New test. From-SVN: r272884
Andreas Krebbel committed -
This patch removes a spurious error on an instantiation whose generic unit has a formal package where some formal parameters are box-initialiaed. Previously the code assumed that box-initialization for a formal package applied to all its formal parameters. 2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_ch12.adb (Is_Defaulted): New predicate in Check_Formal_Package_Intance, to skip the conformance of checks on parameters of a formal package that are defaulted, gcc/testsuite/ * gnat.dg/generic_inst3.adb, gnat.dg/generic_inst3_kafka_lib-topic.ads, gnat.dg/generic_inst3_kafka_lib.ads, gnat.dg/generic_inst3_markets.ads, gnat.dg/generic_inst3_traits-encodables.ads, gnat.dg/generic_inst3_traits.ads: New testcase. From-SVN: r272883
Ed Schonberg committed -
2019-07-01 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * checks.adb, exp_ch9.adb, exp_unst.adb, sem_ch4.adb, sem_prag.adb, sem_spark.adb: Minor reformatting. From-SVN: r272882
Hristian Kirtchev committed -
This patch allows the prefix of the attribute Enum_Rep to be an attribute referece (such as Enum_Type'First). A recent patch had restricted the prefix to be an object of a discrete type, which is incompatible with orevious usage. 2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_attr.adb (Analyze_Attribute, case Enum_Rep): Allow prefix of attribute to be an attribute reference of a discrete type. gcc/testsuite/ * gnat.dg/enum_rep.adb, gnat.dg/enum_rep.ads: New testcase. From-SVN: r272881
Ed Schonberg committed -
2019-07-01 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Move up handling of Has_Pragma_Inline_Always and deal with Has_Pragma_No_Inline. From-SVN: r272880
Eric Botcazou committed -
This patch fixes a spurious error on a derived type declaration whose subtype indication is a subtype of a private type whose full view is a constrained discriminated type. 2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_ch3.adb (Build_Derived_Record_Type): If the parent type is declared as a subtype of a private type with an inherited discriminant constraint, its generated full base appears as a record subtype, so we need to retrieve its oen base type so that the inherited constraint can be applied to it. gcc/testsuite/ * gnat.dg/derived_type6.adb, gnat.dg/derived_type6.ads: New testcase. From-SVN: r272879
Ed Schonberg committed -
SPARK RM 3.10 is the final version of the pointer ownership rules. Start changing the implementation accordingly. Anonymous access types are not fully supported yet. There is no impact on compilation. 2019-07-01 Yannick Moy <moy@adacore.com> gcc/ada/ * sem_spark.adb: Completely rework the algorithm for ownership checking, as the rules in SPARK RM have changed a lot. * sem_spark.ads: Update comments. From-SVN: r272878
Yannick Moy committed -
Use a field offset computation trick to avoid maintaining a list of platforms. 2019-07-01 Dmitriy Anisimkov <anisimko@adacore.com> gcc/ada/ * gsocket.h (Has_Sockaddr_Len): Use the offset of sin_family offset in the sockaddr_in structure to determine the existence of length field before the sin_family. From-SVN: r272877
Dmitriy Anisimkov committed -
This patch adds a guard on the use of pragma Weak_External. This pragma affects link-time addresses of entities, and does not apply to types. Previous to this patch the compiler would abort on a misuse of the pragma. 2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_prag.adb (Analyze_Pragma, case Weak_External): Pragma only applies to entities with run-time addresses, not to types. gcc/testsuite/ * gnat.dg/weak3.adb, gnat.dg/weak3.ads: New testcase. From-SVN: r272876
Ed Schonberg committed -
A rule about implicit Global contract for functions whose names overload an abstract state was never implemented (and no user complained about this). It is now removed, so references to other rules need to be renumbered. 2019-07-01 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * einfo.adb, sem_ch7.adb, sem_prag.adb, sem_util.adb: Update references to the SPARK RM after the removal of Rule 7.1.4(5). From-SVN: r272875
Piotr Trojanek committed
-