https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
vries at gcc dot gnu.org changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|--
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #23 from vries at gcc dot gnu.org ---
Author: vries
Date: Mon Nov 30 16:34:26 2015
New Revision: 231076
URL: https://gcc.gnu.org/viewcvs?rev=231076&root=gcc&view=rev
Log:
Handle BUILT_IN_GOMP_PARALLEL in ipa-pta
2015-11-30 Tom de Vr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
vries at gcc dot gnu.org changed:
What|Removed |Added
Keywords||missed-optimization, patch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #21 from Jakub Jelinek ---
(In reply to vries from comment #20)
> This patch seems to have the desired effect on the original testcase:
> ...
> diff --git a/gcc/omp-low.c b/gcc/omp-low.c
> index 830db75..996756b 100644
> --- a/gcc/om
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #20 from vries at gcc dot gnu.org ---
This patch seems to have the desired effect on the original testcase:
...
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index 830db75..996756b 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -9361,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #19 from rguenther at suse dot de ---
On Wed, 27 May 2015, jakub at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
>
> --- Comment #18 from Jakub Jelinek ---
> The *.omp_fn.* functions indeed, while the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #18 from Jakub Jelinek ---
The *.omp_fn.* functions indeed, while they necessarily have to be addressable,
because that is how they are passed to the libgomp entrypoints, are never
called by anything but the libgomp runtime. For GOMP
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #17 from Richard Biener ---
(In reply to vries from comment #16)
> (In reply to Richard Biener from comment #12)
> > (In reply to vries from comment #11)
> > > The ipa-pta solution no longer works. In 4.6, we had:
> > > ...
> > > #
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #16 from vries at gcc dot gnu.org ---
(In reply to Richard Biener from comment #12)
> (In reply to vries from comment #11)
> > The ipa-pta solution no longer works. In 4.6, we had:
> > ...
> > # USE = anything
> > # CLB = anything
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #15 from Jakub Jelinek ---
and GOMP_task (fn1, data1, fn2, ...) performs:
if (somecond)
{
if (fn2 == 0)
fn1 (data1);
else
{
void *buf = alloca (...); // Takes care also about alignment
fn2 (buf, d
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #14 from Jakub Jelinek ---
(In reply to Richard Biener from comment #13)
> > > So there's no longer a path in the call graph from main to main._omp_fn.
> > > Perhaps a dummy body for GOMP_parallel could fix that.
> >
> > Hm? The IPA
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
Richard Biener changed:
What|Removed |Added
CC||hubicka at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #12 from Richard Biener ---
(In reply to vries from comment #11)
> The ipa-pta solution no longer works. In 4.6, we had:
> ...
> # USE = anything
> # CLB = anything
> GOMP_parallel_startD.1048 (main._omp_fn.0D.1472, &.omp_data_o
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #11 from vries at gcc dot gnu.org ---
The ipa-pta solution no longer works. In 4.6, we had:
...
# USE = anything
# CLB = anything
GOMP_parallel_startD.1048 (main._omp_fn.0D.1472, &.omp_data_o.1D.1484, 0);
# USE = anything
# C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #10 from vries at gcc dot gnu.org ---
An observation. A patch like this allows vectorization without alias check:
...
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index 8290a65..501d631 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
vries at gcc dot gnu.org changed:
What|Removed |Added
CC||vries at gcc dot gnu.org
--- C
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #8 from Dominique d'Humieres ---
See also pr60997.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
Feng Chen changed:
What|Removed |Added
CC||fchen at gmail dot com
--- Comment #7 fro
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
Paolo Carlini changed:
What|Removed |Added
CC||spop at gcc dot gnu.org
--- Comment #6 fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #5 from vincenzo Innocente
2011-07-26 13:00:18 UTC ---
in case anybody wandering
it seems fixed in
Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/afs/cern.ch/user/i/innocent/w2/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lt
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #4 from Richard Guenther 2010-10-15
12:09:38 UTC ---
A few things to consider:
__builtin_GOMP_parallel_start (main._omp_fn.0, &.omp_data_o.1, 0);
main._omp_fn.0 (&.omp_data_o.1);
__builtin_GOMP_parallel_end ();
for PTA purpose
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #3 from Richard Guenther 2010-10-15
11:51:58 UTC ---
Created attachment 22053
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22053
fnspec attr test
Like this (ugh). Fixes the thing with -fipa-pta on trunk.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
--- Comment #2 from Richard Guenther 2010-10-15
10:30:42 UTC ---
If I hack PTA to make the omp function not escape IPA-PTA computes
:
# idx_1 = PHI
# PT = { D.2069 }
D.2112_13 = .omp_data_i_12(D)->pData;
D.2113_14 = *D.2112_13[idx_1];
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46032
Richard Guenther changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
24 matches
Mail list logo