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]

[RFH] [tree-ssa] disabling lowering for &a->b causes ICE


When I disable the lowering of &a->b in the C or C++ front-ends, I get an
ICE because for some reason a SSA_NAME made it through to expand. This
patch should be used to solve PR 14029 when this is ICE is fixed.


The test-case I get the ICE with:
struct a
{
int i;
};
int *h(struct a *b)
{
  return &b->i;
}

This works at -O0 because there is no rewrite into SSA.
I need help figuring out why the variable is not rewrote out of SSA.

The patch which I used, this is also the patch to change offsetof to a builtin and
lower that only to make sure that offsetof is a constant as it needs to be.



Attachment: offset_disable_lower.diff.txt
Description: Text document



Attached also is the optimized dump, I know that there is no partition map for the variable
but I do not know why.

Attachment: ttt.c.t46.optimized
Description: Binary data


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