public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/83073] Range for VR_VARYING | [1, 1]
       [not found] <bug-83073-4@http.gcc.gnu.org/bugzilla/>
@ 2020-11-17 17:25 ` amacleod at redhat dot com
  2021-07-19  4:08 ` pinskia at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 5+ messages in thread
From: amacleod at redhat dot com @ 2020-11-17 17:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83073

Andrew Macleod <amacleod at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amacleod at redhat dot com

--- Comment #4 from Andrew Macleod <amacleod at redhat dot com> ---
I added a patch to 83072 in which multi-range will now recognize there is no
[0,0] in  x|1.

When we add bitmask tracking to ranger, it is in the work queue to track both
must-be-zero and must-be-one bits, and integrate that knowledge with range
queries.  
(so if (x == 20) would be known false after x = x | 1)

Any additional input on what kind of other information could be attached here
to this PR.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug tree-optimization/83073] Range for VR_VARYING | [1, 1]
       [not found] <bug-83073-4@http.gcc.gnu.org/bugzilla/>
  2020-11-17 17:25 ` [Bug tree-optimization/83073] Range for VR_VARYING | [1, 1] amacleod at redhat dot com
@ 2021-07-19  4:08 ` pinskia at gcc dot gnu.org
  2021-07-19  4:10 ` pinskia at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-07-19  4:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83073

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Take -O2 -fno-tree-fre -fno-tree-ccp -fno-tree-forwprop:
int f(int x)
{
    x = x|1;
    return x & 1;
}

We should be able to figure this out in evrp but don't currently.

VRP can figure it out as it does a match and simplify for the statement.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug tree-optimization/83073] Range for VR_VARYING | [1, 1]
       [not found] <bug-83073-4@http.gcc.gnu.org/bugzilla/>
  2020-11-17 17:25 ` [Bug tree-optimization/83073] Range for VR_VARYING | [1, 1] amacleod at redhat dot com
  2021-07-19  4:08 ` pinskia at gcc dot gnu.org
@ 2021-07-19  4:10 ` pinskia at gcc dot gnu.org
  2022-01-13 18:52 ` cvs-commit at gcc dot gnu.org
  2022-01-13 18:54 ` amacleod at redhat dot com
  4 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-07-19  4:10 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83073

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
           Severity|normal                      |enhancement

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug tree-optimization/83073] Range for VR_VARYING | [1, 1]
       [not found] <bug-83073-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2021-07-19  4:10 ` pinskia at gcc dot gnu.org
@ 2022-01-13 18:52 ` cvs-commit at gcc dot gnu.org
  2022-01-13 18:54 ` amacleod at redhat dot com
  4 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-01-13 18:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83073

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Andrew Macleod <amacleod@gcc.gnu.org>:

https://gcc.gnu.org/g:49d5fb4feee831868d80fff4d024c271911c92ca

commit r12-6559-g49d5fb4feee831868d80fff4d024c271911c92ca
Author: Andrew MacLeod <amacleod@redhat.com>
Date:   Wed Jan 12 13:31:08 2022 -0500

    Allow more precision when querying from fold_const.

    fold_const::expr_not_equal_to queries for a current range, but still uses
    the old value_range class.  This is causing it to miss opportunities when
    ranger can provide something better.

            PR tree-optimization/83072
            PR tree-optimization/83073
            PR tree-optimization/97909
            gcc/
            * fold-const.c (expr_not_equal_to): Use a multi-range class.

            gcc/testsuite/
            * gcc.dg/pr83072-2.c: New.
            * gcc.dg/pr83073.c: New.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug tree-optimization/83073] Range for VR_VARYING | [1, 1]
       [not found] <bug-83073-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2022-01-13 18:52 ` cvs-commit at gcc dot gnu.org
@ 2022-01-13 18:54 ` amacleod at redhat dot com
  4 siblings, 0 replies; 5+ messages in thread
From: amacleod at redhat dot com @ 2022-01-13 18:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83073

Andrew Macleod <amacleod at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #7 from Andrew Macleod <amacleod at redhat dot com> ---
Ranger VRP also does match and simplify now for both EVRP and VRP2.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-01-13 18:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-83073-4@http.gcc.gnu.org/bugzilla/>
2020-11-17 17:25 ` [Bug tree-optimization/83073] Range for VR_VARYING | [1, 1] amacleod at redhat dot com
2021-07-19  4:08 ` pinskia at gcc dot gnu.org
2021-07-19  4:10 ` pinskia at gcc dot gnu.org
2022-01-13 18:52 ` cvs-commit at gcc dot gnu.org
2022-01-13 18:54 ` amacleod at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).