https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
Andrew Pinski changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #21 from CVS Commits ---
The trunk branch has been updated by Andrew Pinski :
https://gcc.gnu.org/g:29a4453c7b8a86d242dab89b9e4d222749fd911e
commit r14-4661-g29a4453c7b8a86d242dab89b9e4d222749fd911e
Author: Andrew Pinski
Date: Su
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
Andrew Pinski changed:
What|Removed |Added
URL|https://gcc.gnu.org/piperma |https://gcc.gnu.org/piperma
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #19 from Andrew Pinski ---
Created attachment 56119
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56119&action=edit
testcase from the original attachment
For easier access, I posting this here so don't need to untar the file.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
Andrew Pinski changed:
What|Removed |Added
URL||https://gcc.gnu.org/piperma
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
Andrew Pinski changed:
What|Removed |Added
Attachment #26645|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #16 from Andrew Pinski ---
The only patch which is needed now:
diff --git a/gcc/match.pd b/gcc/match.pd
index 37c5be9e5f4..ca6c9eff624 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -4729,10 +4729,11 @@ DEFINE_INT_AND_FLOAT_ROUND_FN
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
Andrew Pinski changed:
What|Removed |Added
Status|NEW |ASSIGNED
--- Comment #15 from Andrew Pin
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
Andrew Pinski changed:
What|Removed |Added
Status|ASSIGNED|NEW
--- Comment #14 from Andrew Pinski
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
Bug 31531 depends on bug 15459, which changed state.
Bug 15459 Summary: [meta-bug] there should be a tree combiner like the rtl one
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=15459
What|Removed |Added
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #13 from Andrew Pinski 2012-02-14
03:59:12 UTC ---
I committed the branch to the git only branch pinskia/treecombine. The only
"regression" is gcc.target/i386/umod-3.c. This is not really a regression but
rather a testcase issue as
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #12 from Andrew Pinski 2012-02-13
07:46:45 UTC ---
Created attachment 26645
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26645
Patch which fixes the problem (well the fold-const.c is really only needed for
the original testcase
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #11 from Andrew Pinski 2012-02-13
06:30:29 UTC ---
I have a full patch now which also handles PR 14792 once that folding is
included in fold.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #10 from Andrew Pinski 2012-02-13
00:44:11 UTC ---
I have a patch which adds this optimization to fold. And a partial patch which
adds some of it to forwprop but that fails because we have to create a temp
variable.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #9 from Andrew Pinski 2012-02-12
22:58:41 UTC ---
(In reply to comment #8)
> forwprop already handles:
> int f(int a)
> {
> int b = ~a;
> return b<0;
> }
>
> It just needs to handle:
> int f(unsigned a)
> {
> int b = ~a;
> re
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #8 from Andrew Pinski 2012-02-12
04:39:01 UTC ---
forwprop already handles:
int f(int a)
{
int b = ~a;
return b<0;
}
It just needs to handle:
int f(unsigned a)
{
int b = ~a;
return b<0;
}
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
Andrew Pinski changed:
What|Removed |Added
Status|NEW |ASSIGNED
AssignedTo|unassigned at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #6 from Andrew Pinski 2012-02-12
04:35:53 UTC ---
The shortest testcase for the problem function:
int isnegative_optimized_4(unsigned int X) {
int result; // Y is the conditional expression of if-else.
if ((~X) >> 31) result = 0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
Andrew Pinski changed:
What|Removed |Added
Keywords||TREE
--- Comment #5 from Andrew Pinski 2
--- Comment #4 from pinskia at gcc dot gnu dot org 2007-04-15 06:43 ---
There are a couple of ways of fixing this bug, folding while going out of ssa.
Doing a tree combined which is PR 15459. Or the patch which I attached.
--
pinskia at gcc dot gnu dot org changed:
What
--- Comment #3 from pinskia at gcc dot gnu dot org 2007-04-10 19:20 ---
A quick patch like:
Index: expr.c
===
--- expr.c (revision 123691)
+++ expr.c (working copy)
@@ -6828,7 +6828,7 @@
tree type;
int unsign
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-04-10 19:17 ---
What the real issue is that we don't fold !(x >= 0) into x < 0 before
expanding.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
22 matches
Mail list logo