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.