[Bug middle-end/70992] Infinite recursion between fold_build2_stat_loc and fold_binary_loc w/ -fwrapv

2017-07-17 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70992 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug c++/81476] severe slow-down with range-v3 library compared to clang

2017-07-18 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug c++/81476] severe slow-down with range-v3 library compared to clang

2017-07-18 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81476 --- Comment #8 from Alexander Monakov --- Yeah, the target.insert(target.cbegin(), ranges::begin(concatenated), ranges::end(concatenated)); appears to cause a bad case of Schlemiel-The-Painter, for each inserted char the tail of target is mem

[Bug rtl-optimization/68988] reload_pseudo_compare_func violates qsort requirements

2017-07-19 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68988 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug middle-end/21111] IA-64 NaT consumption faults due to uninitialized register reads

2017-07-27 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=2 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug middle-end/21111] IA-64 NaT consumption faults due to uninitialized register reads

2017-07-27 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=2 Alexander Monakov changed: What|Removed |Added Status|RESOLVED|NEW Resolution|INVALID

[Bug middle-end/81400] Stack smashing not caught by stack protector strong and allowing me to stack smash

2017-07-31 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81400 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug middle-end/81052] ICE in verify_dominators, at dominance.c:1184

2017-08-02 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81052 --- Comment #7 from Alexander Monakov --- As an aside, shouldn't we issue a diagnostic here? OpenMP spec says branching in/out of simd regions is not allowed, and I think we already diagnose invalid branching for some other constructs.

[Bug libgomp/81691] libgomp.fortran/target2.f90 fails for nvptx at -O0 and -O1

2017-08-03 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81691 --- Comment #2 from Alexander Monakov --- Jakub said target2.f90 exposes a frontend bug (or OpenMP lowering bug, not sure): https://gcc.gnu.org/ml/gcc-patches/2016-11/msg02397.html This is not a target-specific issue, it should fail in a similar

[Bug tree-optimization/81694] VRP optimization may introduce buffer overflow vulnerabilities into applications

2017-08-03 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81694 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug tree-optimization/81694] VRP optimization may introduce buffer overflow vulnerabilities into applications

2017-08-03 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81694 --- Comment #5 from Alexander Monakov --- GCC exploits undefined behavior throughout the compilation pipeline, if you want a methodical workaround, you need compilation mode that makes overflow defined (-fwrapv), and likewise for other sources of

[Bug c/81687] Compiler drops label in OpenMP region

2017-08-03 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81687 --- Comment #3 from Alexander Monakov --- In this particular case we are not exactly copying the region, we are only moving (outlining) it to a separate function. We could properly remap the label. But in general GCC is indeed confused about ad

[Bug ipa/80728] IPA-reference suppresses compiler memory barrier

2017-08-06 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80728 --- Comment #8 from Alexander Monakov --- Honza: ping :). ipa-pure-const might be a better place to mark functions with compiler memory barriers, as it already computes and propagates "nonfreeing" property (thus computing "nonbarrier" in ipa-pur

[Bug libgomp/81768] error: control flow in the middle of basic block

2017-08-08 Thread amonakov at gcc dot gnu.org
||amonakov at gcc dot gnu.org --- Comment #1 from Alexander Monakov --- It's not quite right to say this is minimized from for-5.c, as original for-5.c does not fail in this way. The difference that makes this one ICE is presence of #pragma omp declare target [end] a

[Bug target/81763] Issues with BMI on 32bit x86 apps on GCC 7.1+

2017-08-09 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug target/81763] Issues with BMI on 32bit x86 apps on GCC 7.1+

2017-08-09 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81763 --- Comment #9 from Alexander Monakov --- A (potentially simpler) alternative is to use sequential builds (make without -j) and bisect by index of compiled source file, i.e. have a wrapper script around gcc that uses some global counter to pass -

[Bug libgomp/81778] libgomp.c/for-5.c failure on nvptx -- illegal memory access

2017-08-09 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81778 Alexander Monakov changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug libgomp/81805] Another libgomp.c/for-5.c failure on nvptx -- illegal memory access

2017-08-10 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81805 --- Comment #1 from Alexander Monakov --- Can't reproduce this on my end. Are you going to proceed with analyzing the failure?

[Bug libgomp/81805] Another libgomp.c/for-5.c failure on nvptx -- illegal memory access

2017-08-10 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81805 --- Comment #3 from Alexander Monakov --- The new testcase fails on any target and not related to offloading. Simplified further: #define N 32ULL int a[N]; const unsigned long long c = 0x7fffULL; f2_tpf_static32 (void) { unsigned

[Bug lto/81817] ICE in lto1 with -fopenmp offloading and nested #pragma omp target

2017-08-11 Thread amonakov at gcc dot gnu.org
||amonakov at gcc dot gnu.org Resolution|--- |DUPLICATE --- Comment #1 from Alexander Monakov --- It seems you've submitted two identical bugs - closing as duplicate of the earlier one. *** This bug has been marked as a duplicate of bug 81816 ***

[Bug lto/81816] ICE in lto1 with -fopenmp offloading and nested #pragma omp target

2017-08-11 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81816 --- Comment #1 from Alexander Monakov --- *** Bug 81817 has been marked as a duplicate of this bug. ***

[Bug ipa/81877] [7/8 Regression] Incorrect results with lto and -fipa-cp and -fipa-cp-clone

2017-08-17 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81877 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug ipa/81877] [7/8 Regression] Incorrect results with lto and -fipa-cp and -fipa-cp-clone

2017-08-17 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81877 --- Comment #9 from Alexander Monakov --- I don't understand how LIM may deduce that store sinking is safe without considering may-alias relations. If it is UB to write the same object from different declared-independent iterations, then I think

[Bug ipa/81877] [7/8 Regression] Incorrect results with lto and -fipa-cp and -fipa-cp-clone

2017-08-18 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81877 --- Comment #11 from Alexander Monakov --- (In reply to Richard Biener from comment #10) > Now - for refs that have an invariant address in such loop the interleaving > effectively means that they are independent even in the same iteration. Not

[Bug c/81887] New: pragma omp ordered simd ignored under -fopenmp-simd

2017-08-18 Thread amonakov at gcc dot gnu.org
Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: amonakov at gcc dot gnu.org CC: jakub at gcc dot gnu.org Target Milestone: --- Under -fopenmp-simd, OpenMP pragma 'ordered' is not added to IR, but it should

[Bug ipa/81877] [7/8 Regression] Incorrect results with lto and -fipa-cp and -fipa-cp-clone

2017-08-18 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81877 --- Comment #13 from Alexander Monakov --- > More rigorously defining the semantic of loop->safelen (the > middle-end term) is necessary nevertheless. I believe omp ordered > doesn't have any middle-end representation? Except on nvptx, 'omp ord

[Bug target/81906] [7/8 Regression] Calls to rint() wrongly optimized away starting in g++ 6

2017-08-21 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81906 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug middle-end/81916] New: expansion of rint/nearbyint can simplified under -fno-signed-zeros

2017-08-21 Thread amonakov at gcc dot gnu.org
-optimization Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: amonakov at gcc dot gnu.org Target Milestone: --- When -fno-signed-zeros is enabled, rint/nearbyint do not need to produce negative zeros

[Bug middle-end/81916] expansion of rint/nearbyint can simplified under -fno-signed-zeros

2017-08-22 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81916 --- Comment #2 from Alexander Monakov --- I've opened this PR for the -fno-signed-zeros aspect specifically, which the i386 backend doesn't exploit at all: it expands to copysign(abs(x)+1.0p52-1.0p52, x). I think handling these expansions in a g

[Bug c/80454] -Wmissing-braces wrongly warns about universal zero initializer {0}

2017-08-28 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80454 --- Comment #3 from Alexander Monakov --- The bug is that universal zero initializers are warned about when they are inside of some other initializer, even though we correctly stopped doing that when they appear on their own. In the following exa

[Bug target/80640] Missing memory side effect with __atomic_thread_fence (2)

2017-08-28 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80640 --- Comment #8 from Alexander Monakov --- Author: amonakov Date: Mon Aug 28 10:58:45 2017 New Revision: 251377 URL: https://gcc.gnu.org/viewcvs?rev=251377&root=gcc&view=rev Log: optabs: ensure mem_thread_fence is a compiler barrier PR t

[Bug target/81316] Missing memory side effect on __atomic_store

2017-08-28 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81316 Bug 81316 depends on bug 80640, which changed state. Bug 80640 Summary: Missing memory side effect with __atomic_thread_fence (2) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80640 What|Removed |Added --

[Bug target/80640] Missing memory side effect with __atomic_thread_fence (2)

2017-08-28 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80640 Alexander Monakov changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/67458] x86: atomic store with memory_order_release doesn't order other stores

2017-09-04 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67458 --- Comment #2 from Alexander Monakov --- Author: amonakov Date: Mon Sep 4 10:16:37 2017 New Revision: 251643 URL: https://gcc.gnu.org/viewcvs?rev=251643&root=gcc&view=rev Log: optabs: ensure atomic_load/stores have compiler barriers P

[Bug target/81316] Missing memory side effect on __atomic_store

2017-09-04 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81316 --- Comment #2 from Alexander Monakov --- Author: amonakov Date: Mon Sep 4 10:16:37 2017 New Revision: 251643 URL: https://gcc.gnu.org/viewcvs?rev=251643&root=gcc&view=rev Log: optabs: ensure atomic_load/stores have compiler barriers P

[Bug rtl-optimization/57448] GCSE generates incorrect code with acquire barrier

2017-09-04 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57448 --- Comment #3 from Alexander Monakov --- Author: amonakov Date: Mon Sep 4 10:16:37 2017 New Revision: 251643 URL: https://gcc.gnu.org/viewcvs?rev=251643&root=gcc&view=rev Log: optabs: ensure atomic_load/stores have compiler barriers P

[Bug target/81316] Missing memory side effect on __atomic_store

2017-09-04 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81316 Alexander Monakov changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/67458] x86: atomic store with memory_order_release doesn't order other stores

2017-09-04 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67458 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug target/67458] x86: atomic store with memory_order_release doesn't order other stores

2017-09-04 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67458 Alexander Monakov changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug rtl-optimization/57448] GCSE generates incorrect code with acquire barrier

2017-09-04 Thread amonakov at gcc dot gnu.org
||amonakov at gcc dot gnu.org Resolution|--- |FIXED --- Comment #4 from Alexander Monakov --- This should now be fixed on the trunk, although in a very different manner: RTL expansion of atomic loads/stores now places explicit compiler memory

[Bug driver/82236] New: Offloading with -fno-use-linker-plugin fails, poor diagnostics

2017-09-18 Thread amonakov at gcc dot gnu.org
, openmp Severity: normal Priority: P3 Component: driver Assignee: unassigned at gcc dot gnu.org Reporter: amonakov at gcc dot gnu.org Target Milestone: --- When linker plugin is not used (either due to old Binutils, or -fno-use-linker-plugin

[Bug rtl-optimization/68988] reload_pseudo_compare_func violates qsort requirements

2017-09-19 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68988 --- Comment #5 from Alexander Monakov --- Author: amonakov Date: Tue Sep 19 10:16:20 2017 New Revision: 252972 URL: https://gcc.gnu.org/viewcvs?rev=252972&root=gcc&view=rev Log: lra: make reload_pseudo_compare_func a proper comparator P

[Bug rtl-optimization/57878] Incorrect code: live register clobbered in split2

2017-09-19 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57878 --- Comment #4 from Alexander Monakov --- Author: amonakov Date: Tue Sep 19 10:16:20 2017 New Revision: 252972 URL: https://gcc.gnu.org/viewcvs?rev=252972&root=gcc&view=rev Log: lra: make reload_pseudo_compare_func a proper comparator P

[Bug rtl-optimization/57878] Incorrect code: live register clobbered in split2

2017-09-19 Thread amonakov at gcc dot gnu.org
||amonakov at gcc dot gnu.org Resolution|--- |FIXED --- Comment #5 from Alexander Monakov --- This bug was originally fixed in July 2013 by r201036: https://gcc.gnu.org/ml/gcc-patches/2013-07/msg00732.html , but that patch changed the comparator

[Bug target/82242] x86_64 bad optimization with -march

2017-09-20 Thread amonakov at gcc dot gnu.org
||2017-09-20 CC||amonakov at gcc dot gnu.org, ||vmakarov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Alexander Monakov --- (Marc, for

[Bug target/82242] IRA spills allocno in loop body if it crosses throwing call outside the loop

2017-09-21 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82242 Alexander Monakov changed: What|Removed |Added Summary|x86_64 bad optimization |IRA spills allocno in loop

[Bug tree-optimization/71702] dr_group_sort_cmp violates transitivity required for qsort

2017-09-21 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71702 --- Comment #8 from Alexander Monakov --- Author: amonakov Date: Thu Sep 21 21:56:16 2017 New Revision: 253081 URL: https://gcc.gnu.org/viewcvs?rev=253081&root=gcc&view=rev Log: PR tree-optimization/71702 Backport r230667 2015-1

[Bug tree-optimization/71702] dr_group_sort_cmp violates transitivity required for qsort

2017-09-21 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71702 Alexander Monakov changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/81481] [7/8 Regression] Spills %xmm to stack in glibc strspn SSE 4.2 variant

2017-09-26 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81481 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug middle-end/82329] New: #pragma GCC target/optimize incurs high compilation time cost

2017-09-26 Thread amonakov at gcc dot gnu.org
Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: amonakov at gcc dot gnu.org Target Milestone: --- Translation units that include "umbrella" x86 intrinsic files, i.e. x86intrin.h or i

[Bug target/82339] Inefficient movabs instruction

2017-09-27 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82339 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug other/71250] -Wmissing-field-initializers documentation is incomplete

2017-04-18 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71250 --- Comment #2 from Alexander Monakov --- Thanks. Basically the documentation can be enhanced to mention that GCC shouldn't (and wouldn't) warn for universal zero initializer, which is '{0}' in C and just '{}' in C++. After a day or so I can subm

[Bug other/71250] -Wmissing-field-initializers documentation is incomplete

2017-04-18 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71250 --- Comment #4 from Alexander Monakov --- Note that that's a different warning: -Wmissing-braces, not -Wmissing-field-initializers. I believe it would be nice to fix, but handling of universal zero initializers in -Wmissing-braces should be a se

[Bug other/72815] libmpx on i386

2017-04-19 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72815 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug other/72815] libmpx on i386

2017-04-19 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72815 --- Comment #8 from Alexander Monakov --- Perhaps it's a good idea to adjust libmpx/configure.tgt to build libmpx only for Glibc by default? I'm not sure if there's a particular reason that current code accepts any suffix in the triple. diff --g

[Bug other/71250] -Wmissing-field-initializers documentation is incomplete

2017-04-20 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71250 Alexander Monakov changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug other/71250] -Wmissing-field-initializers documentation is incomplete

2017-04-20 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71250 --- Comment #6 from Alexander Monakov --- Author: amonakov Date: Thu Apr 20 10:23:38 2017 New Revision: 247018 URL: https://gcc.gnu.org/viewcvs?rev=247018&root=gcc&view=rev Log: doc: mention handling of {0} in -Wmissing-field-initializers (PR 71

[Bug c/80378] Extend alloc_size attribute for better Linux kernel checking

2017-04-24 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80378 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug c/80378] Extend alloc_size attribute for better Linux kernel checking

2017-04-24 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80378 --- Comment #7 from Alexander Monakov --- This sounds like a separate problem that is solvable via __builtin_constant_p? For example: void link_error(void) __attribute__((error("size check failed"))); if (__builtin_constant_p(size) &&

[Bug c/80640] Missing memory side effect

2017-05-05 Thread amonakov at gcc dot gnu.org
||2017-05-05 CC||amonakov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Alexander Monakov --- The attachment is missing.

[Bug c/80640] Missing memory side effect

2017-05-05 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80640 Alexander Monakov changed: What|Removed |Added Status|WAITING |UNCONFIRMED Ever confirmed|1

[Bug c/80640] Missing memory side effect

2017-05-05 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80640 --- Comment #5 from Alexander Monakov --- I think the bug is that on x86 __atomic_thread_fence(x) is expanded into nothing for x!=__ATOMIC_SEQ_CST, it should place a compiler barrier similar to expansion of __atomic_signal_fence.

[Bug testsuite/77684] many tree-prof testsuite failures in parallel make check

2017-05-05 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77684 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug target/80640] Missing memory side effect with __atomic_thread_fence (2)

2017-05-10 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80640 --- Comment #7 from Alexander Monakov --- I've submitted a patch [1] for the missing compiler barrier, but however please note that the original ompi code and the example in comment #3 are wrong: in a pattern like while (*foo) __atomic_thr

[Bug ipa/80728] New: IPA-reference suppresses compiler memory barrier

2017-05-12 Thread amonakov at gcc dot gnu.org
Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: amonakov at gcc dot gnu.org Target Milestone: --- Consider: static int i; static int b; void sighandler(void) { b = i = 1; } __attribute__((noinline)) static int x(void) { asm volatile

[Bug ipa/80728] IPA-reference suppresses compiler memory barrier

2017-05-15 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80728 --- Comment #2 from Alexander Monakov --- Nowadays C has atomics and fences in the language standard, so it doesn't matter if x() had asm volatile("":::"memory"); or __atomic_{signal,thread}_fence(__ATOMIC_ACQ_REL); or return __atomic_

[Bug ipa/80728] IPA-reference suppresses compiler memory barrier

2017-05-15 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80728 --- Comment #4 from Alexander Monakov --- ipa-reference.c has: /* Set of all interesting module statics. A bit is set for every module static we are considering. This is added to the local info when asm code is found that clobbers all me

[Bug ipa/80728] IPA-reference suppresses compiler memory barrier

2017-05-15 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80728 --- Comment #6 from Alexander Monakov --- I think a possible approach is to add a new cgraph_node flag (or a multi-bit field, if we want to track presence of acquire/release/seq-cst compiler barriers separately), handle asms and atomics specially

[Bug libgomp/80809] Multi-free error for variable size array used within OpenMP task

2017-05-18 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80809 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug target/80817] [missed optimization][x86] relaxed atomics

2017-05-18 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80817 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug target/80817] [missed optimization][x86] relaxed atomics

2017-05-22 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80817 --- Comment #4 from Alexander Monakov --- On 32-bit x86 manipulating 64-bit integers, let alone atomically, is going to be inconvenient. The emitted code could have been shorter, instead of movl(%esp), %eax movl4(%esp),

[Bug target/80878] -mcx16 (enable 128 bit CAS) on x86_64 seems not to work on 7.1.0

2017-05-26 Thread amonakov at gcc dot gnu.org
||amonakov at gcc dot gnu.org Resolution|--- |INVALID --- Comment #6 from Alexander Monakov --- There's a bit of a misunderstanding here, the -mcx16 option remains supported, and the compiler remains capable of issuing lock-cmpxchg16b for _

[Bug target/80878] -mcx16 (enable 128 bit CAS) on x86_64 seems not to work on 7.1.0

2017-05-26 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80878 --- Comment #8 from Alexander Monakov --- Well, at least it's not too late to update the compiler manual, so I've submitted a patch: https://gcc.gnu.org/ml/gcc-patches/2017-05/msg02080.html

[Bug target/81316] Missing memory side effect on __atomic_store

2017-07-17 Thread amonakov at gcc dot gnu.org
||2017-07-17 CC||amonakov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Alexander Monakov --- Yes, it's a similar target-specific issue, and I've noticed it when writing a patch for PR

[Bug target/67822] OpenMP offloading to nvptx fails

2016-11-24 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67822 --- Comment #3 from Alexander Monakov --- Author: amonakov Date: Thu Nov 24 18:10:42 2016 New Revision: 242842 URL: https://gcc.gnu.org/viewcvs?rev=242842&root=gcc&view=rev Log: Allow -fopenmp in NVPTX mkoffload PR target/67822

[Bug target/67822] OpenMP offloading to nvptx fails

2016-11-24 Thread amonakov at gcc dot gnu.org
||amonakov at gcc dot gnu.org Resolution|--- |FIXED --- Comment #4 from Alexander Monakov --- .

[Bug c++/78589] g++ prints instead of a function name when warning in an OpenMP outlined function

2016-11-29 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78589 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug c++/78589] g++ prints instead of a function name when warning in an OpenMP outlined function

2016-11-30 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78589 --- Comment #3 from Alexander Monakov --- Ah, sorry if I misunderstood and got carried away. >From my investigation it looks like for the '' issue it's just a matter of setting DECL_ABSTRACT_ORIGIN in create_omp_child_function (not sure if that'

[Bug target/78831] [nvptx] -mgomp -Os init_softstack_frame ICE

2016-12-16 Thread amonakov at gcc dot gnu.org
||2016-12-16 Assignee|unassigned at gcc dot gnu.org |amonakov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Alexander Monakov --- Thanks. This is due to r243347. After that change, crtl->is_leaf is initialized

[Bug middle-end/78884] New: ICE when gimplifying VLA in OpenMP SIMD region

2016-12-21 Thread amonakov at gcc dot gnu.org
Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: amonakov at gcc dot gnu.org Target Milestone: --- Noticed this ICE when looking at OpenMP gimplification/lowering: void use(int*); void f(int n) { #pragma omp simd for

[Bug target/78831] [nvptx] -mgomp -Os init_softstack_frame ICE

2016-12-21 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78831 --- Comment #2 from Alexander Monakov --- Author: amonakov Date: Wed Dec 21 14:20:09 2016 New Revision: 243855 URL: https://gcc.gnu.org/viewcvs?rev=243855&root=gcc&view=rev Log: nvptx: do not assume that crtl->is_leaf is unset PR target

[Bug target/78831] [nvptx] -mgomp -Os init_softstack_frame ICE

2016-12-21 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78831 Alexander Monakov changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug middle-end/78884] [5/6/7 Regression] ICE when gimplifying VLA in OpenMP SIMD region

2016-12-21 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78884 --- Comment #2 from Alexander Monakov --- Not sure how well this qualifies as a regression: prior to 4.9, there was no OpenMP SIMD support, so 4.8 just diagnoses a warning for an unrecognized omp-simd pragma.

[Bug middle-end/56727] Recursive call goes through the PLT unnecessarily

2017-01-23 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56727 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug middle-end/56727] Recursive call goes through the PLT unnecessarily

2017-01-23 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56727 --- Comment #8 from Alexander Monakov --- Well, if my argument is correct, then GCC generates wrong code for the very first example in comment #0. If that is deliberate as a compromise even though otherwise GCC suppresses optimizations to honor p

[Bug translation/79332] Several bugs related to translation in gcc 7.1-b20170101

2017-02-06 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79332 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug target/79439] Missing nop instruction after recursive call corrupts TOC register

2017-02-09 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79439 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug target/79570] [5/6/7 Regression] ICE in sel-sched-ir.c:4534 in pr69956.c

2017-02-17 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79570 Alexander Monakov changed: What|Removed |Added CC||abel at gcc dot gnu.org --- Comment

[Bug rtl-optimization/79985] ICE in code_motion_path_driver, at sel-sched.c:6580

2017-03-10 Thread amonakov at gcc dot gnu.org
||2017-03-10 CC||abel at gcc dot gnu.org, ||amonakov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Alexander Monakov --- Thanks for the nice

[Bug rtl-optimization/79985] ICE in code_motion_path_driver, at sel-sched.c:6580

2017-03-12 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985 --- Comment #3 from Alexander Monakov --- Since r235809, in df-scan.c:df_insn_refs_collect, there's 3233 if (asm_noperands (PATTERN (insn_info->insn)) >= 0) 3234 for (unsigned i = 0; i < FIRST_PSEUDO_REGISTER; i++) 3235 if (global_re

[Bug rtl-optimization/79985] ICE in code_motion_path_driver, at sel-sched.c:6580

2017-03-12 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985 --- Comment #4 from Alexander Monakov --- It might have been nicer to adjust asms themselves, adding inputs/outputs for each global reg, if we must pretend the asms implicitly read/write them. That would allow any subsystem (df, sched-deps, whate

[Bug target/80035] [nvptx] non-returning function call causes ptxas sigsegv

2017-03-14 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80035 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug middle-end/80053] New: Label with address taken should prevent duplication of containing basic block

2017-03-15 Thread amonakov at gcc dot gnu.org
: wrong-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: amonakov at gcc dot gnu.org Target Milestone: --- Today, GCC considers all BBs clonable on GIMPLE, as indicated by tree

[Bug middle-end/80053] Label with address taken should prevent duplication of containing basic block

2017-03-16 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80053 --- Comment #2 from Alexander Monakov --- (In reply to Richard Biener from comment #1) > The question is whether the transform at hand is valid if the label is > duplicated > but all referers still refer to the original one (so if the label is dr

[Bug middle-end/80053] Label with address taken should prevent duplication of containing basic block

2017-03-16 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80053 --- Comment #3 from Alexander Monakov --- ... unless labels are intended to act similar to non-static function-scope variables, with computed address usable only until the containing function returns? Except when used in static initializers, whi

[Bug middle-end/80053] Label with address taken should prevent duplication of containing basic block

2017-03-17 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80053 --- Comment #6 from Alexander Monakov --- (In reply to rguent...@suse.de from comment #4) > To the value in the other BB/function. This works if the jump > targets are semantically compatible. For function cloning it's > probably hard to say as

[Bug rtl-optimization/80197] pgo dramatically pessimizes scimark2 MonteCarlo benchmark

2017-03-27 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80197 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

[Bug rtl-optimization/80197] pgo dramatically pessimizes scimark2 MonteCarlo benchmark

2017-03-28 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80197 --- Comment #5 from Alexander Monakov --- On trunk, manually fixing up inlining is not enough: trunk additionally needs -fno-tracer, otherwise crucial if-conversion of 'if (k < 0) k += m1;' is prevented.

[Bug rtl-optimization/80197] pgo dramatically pessimizes scimark2 MonteCarlo benchmark

2017-03-29 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80197 --- Comment #7 from Alexander Monakov --- No, with fixed-up inlining -ftracer sees reasonable edge probabilities. The reason tracer makes things worse here, is that it clones the path leading to a 50%/50% conditional branch (and correctly stops a

[Bug target/69992] test case gcc.dg/sms-4.c fails

2017-04-06 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69992 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org

<    1   2   3   4   5   6   7   8   9   10   >