[Bug target/64003] valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md

rsandifo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Dec 5 14:19:00 GMT 2014


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

rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rsandifo at gcc dot gnu.org

--- Comment #25 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
(In reply to Ilya Enkovich from comment #21)
> (In reply to Jeffrey A. Law from comment #20)
> > Ilya, it's the function call in this code I think:
> > 
> >   (cond [(eq_attr "length_nobnd" "!0")
> >            (plus (symbol_ref ("ix86_bnd_prefixed_insn_p (insn)"))
> >                  (attr "length_nobnd"))
> > 
> > You're calling out to ix86_bnd_prefixed_insn_p, and that's problematical for
> > branch shortening if I'm understanding Joern's comments here and David's
> > comments in the PA port correctly.
> 
> Then we have three problematic patterns and the easiest way to handle it is
> to get rid of ix86_bnd_prefixed_insn_p call in length computation for them. 
> I think the easiest way to do it is to have separate bnd and nobnd patterns
> for these instructions.  Attached patch helps me to resolve valgrind error. 
> Is such approach fine?

If all you want to do is add 1 byte to the length to account for a prefix
then it might be cleaner to use ADJUST_INSN_LENGTH.  You could then keep
the single nobnd patterns.



More information about the Gcc-bugs mailing list