On Wed, 8 Jul 2026, Richard Biener wrote:

> On Wed, 8 Jul 2026, Tamar Christina wrote:
> 
> > This enabled ranger for use in isel to do some ranged based foldings.
> > 
> > Not much else to write about this one :)
> > 
> > Bootstrapped Regtested on aarch64-none-linux-gnu,
> > arm-none-linux-gnueabihf, x86_64-pc-linux-gnu
> > -m32, -m64 and no issues.
> > 
> > Ok for master?
> 
> OK.

Or rather, since ISEL also runs at -O0 please guard with

 if (optimize)

> > Thanks,
> > Tamar
> > 
> > gcc/ChangeLog:
> > 
> >     * gimple-isel.cc (pass_gimple_isel::execute): Enable and disable ranger
> >     on fun.
> > 
> > ---
> > diff --git a/gcc/gimple-isel.cc b/gcc/gimple-isel.cc
> > index 
> > b193e27b183e1a83d73369b629c81ea0d7db43cd..46cd0f7e79cc1e99b29365a93fdf2c5f284c688b
> >  100644
> > --- a/gcc/gimple-isel.cc
> > +++ b/gcc/gimple-isel.cc
> > @@ -40,6 +40,8 @@ along with GCC; see the file COPYING3.  If not see
> >  #include "gimple-fold.h"
> >  #include "internal-fn.h"
> >  #include "fold-const.h"
> > +#include "gimple-range.h"
> > +
> >  
> >  /* Expand all ARRAY_REF(VIEW_CONVERT_EXPR) gimple assignments into calls to
> >     internal function based on vector type of selected expansion.
> > @@ -1352,6 +1354,7 @@ pass_gimple_isel::execute (struct function *fun)
> >    gimple_stmt_iterator gsi;
> >    basic_block bb;
> >    bool cfg_changed = false;
> > +  enable_ranger (fun);
> >  
> >    FOR_EACH_BB_FN (bb, fun)
> >      {
> > @@ -1390,6 +1393,7 @@ pass_gimple_isel::execute (struct function *fun)
> >     }
> >      }
> >  
> > +  disable_ranger (fun);
> >    return cfg_changed ? TODO_cleanup_cfg : 0;
> >  }
> >  
> > 
> > 
> > 
> 
> 

-- 
Richard Biener <[email protected]>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Jochen Jaser, Andrew McDonald; (HRB 36809, AG Nuernberg)

Reply via email to