This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Redundant logical operations left after early splitting



Is there any particular function or pass that should be dealing with IOR rx,0 - that I could trace thru and figure out why it does not like it (or never gets there)?
I would be looking in combine and simplify-rtx (which is called by
combine).  If your splitter triggers after combine, then I'm not
immediately sure where to look -- I'm not offhand aware of a pass
after combine which would call into simplify-rtx to perform this
optimization.

Me neither, but this


      if (flag_expensive_optimizations)
        {
          /* Pass pc_rtx so no substitutions are done, just
             simplifications.  */
          if (i1)
            {
              subst_low_luid = DF_INSN_LUID (i1);
              i1src = subst (i1src, pc_rtx, pc_rtx, 0, 0);
            }
          else
            {
              subst_low_luid = DF_INSN_LUID (i2);
              i2src = subst (i2src, pc_rtx, pc_rtx, 0, 0);
            }
        }

could be a place where it is done.

Paolo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]