On Wed, Dec 1, 2021 at 9:56 PM Gary Oblock <g...@amperecomputing.com> wrote:
>
> Richard,
>
> I rebuilt at "-O0" and that particular call now works but on a call to
> the same function with a different offset it fails. 😱

use a debugger to see why

> Thanks,
>
> Gary
>
>
> ________________________________
> From: Richard Biener <richard.guent...@gmail.com>
> Sent: Wednesday, December 1, 2021 1:09 AM
> To: Gary Oblock <g...@amperecomputing.com>
> Cc: gcc@gcc.gnu.org <gcc@gcc.gnu.org>
> Subject: Re: odd internal failure
>
> [EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please 
> be mindful of safe email handling and proprietary information protection 
> practices.]
>
>
> On Wed, Dec 1, 2021 at 8:46 AM Gary Oblock via Gcc <gcc@gcc.gnu.org> wrote:
> >
> > What is happening should be trivial to determine but for some reason it's
> > not. I'd normally bounce this off a coworker but given the pandemic
> > and modern dispersed hiring practices it's not even remotely possible.
> >
> > I'm making this call and tree_to_uhwi is failing on an internal error.
> > That's normally easy to fix, but here is where the weirdness kicks in.
> >
> >   unsigned HOST_WIDE_INT wi_offset = tree_to_uhwi (offset);
> >
> > tree_to_uhwi from tree.h is:
> >
> > extern inline __attribute__ ((__gnu_inline__)) unsigned HOST_WIDE_INT
> > tree_to_uhwi (const_tree t)
> > {
> >   gcc_assert (tree_fits_uhwi_p (t));
> >   return TREE_INT_CST_LOW (t);
> > }
> >
> > and
> >
> > tree_fits_uhwi_p from tree.c is
> >
> > bool
> > tree_fits_uhwi_p (const_tree t)
> > {
> >   return (t != NULL_TREE
> >  && TREE_CODE (t) == INTEGER_CST
> >  && wi::fits_uhwi_p (wi::to_widest (t)));
> > }
> >
> > Here's what this instrumentation shows (DEBUG_A is an indenting fprintf to
> > stderr.)
> >
> >   DEBUG_A ("TREE_CODE(offset) = %s  && ", code_str (TREE_CODE (offset)));
> >   DEBUG_A ("fits %s\n", wi::fits_uhwi_p (wi::to_widest (offset)) ? "true" : 
> > "false");
> >   DEBUG_A ("tree_fits_uhwi_p(offset) %s\n",tree_fits_uhwi_p (offset) ? 
> > "true" : "false");
> >
> >            TREE_CODE(offset) = INTEGER_CST  && fits true
> >            tree_fits_uhwi_p(offset) true
> >
> > By the way, offset is:
> >
> > _Literal (struct BASKET * *) 8
> >
> > And it's an operand of:
> >
> > MEM[(struct BASKET * *)&perm + 8B]
> >
> > Any clues on what's going on here?
>
> it should just work.
>
> > Thanks,
> >
> > Gary
> >
>
> Btw, try to setup things so you don't spam below stuff to public mailing 
> lists.
>
> > CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is 
> > for the sole use of the intended recipient(s) and contains information that 
> > is confidential and proprietary to Ampere Computing or its subsidiaries. It 
> > is to be used solely for the purpose of furthering the parties' business 
> > relationship. Any unauthorized review, copying, or distribution of this 
> > email (or any attachments thereto) is strictly prohibited. If you are not 
> > the intended recipient, please contact the sender immediately and 
> > permanently delete the original and any copies of this email and any 
> > attachments thereto.

Reply via email to