Skip to content

TargetLowering::SimplifySetCC fails on large integer types #4427

@regehr

Description

@regehr
Bugzilla Link 4055
Resolution FIXED
Resolved on Apr 30, 2009 01:31
Version unspecified
OS Linux

Extended Description

Seen using r69856 on Ubuntu Hardy on x86.

regehr@john-home:~/volatile/tmp149$ llvm-gcc -O2 small.c -c -w
cc1: /home/regehr/z/tmp/llvm-r69856/include/llvm/ADT/APInt.h:1049: uint64_t llvm::APInt::getZExtValue() const: Assertion `getActiveBits() <= 64 && "Too many bits for uint64_t"' failed.
small.c:64: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://llvm.org/bugs/ for instructions.

regehr@john-home:~/volatile/tmp149$ cat small.c

struct S0
{
int f1;
short f2;
short f3;
};
struct S1
{
int f0;
};

struct S2
{
int f0;
};

struct S3
{
struct S2 f0;
struct S1 f1;
short f2;
struct S0 f3;
struct S1 f4;
};

struct S6
{
short f0;
};

struct S7
{
struct S2 f0;
struct S3 f1;
};

struct S9
{
int f0;
struct S7 f1;
};

struct S1 g_149 = {
1
};

struct S6 func_120 (struct S9 p_123, struct S1 p_125)
{
if (p_123.f1.f1.f3.f3)
{
struct S6 l_129 = {
1
};
return l_129;
}
}

struct S1 func (struct S0 p_144)
{
struct S9 l_148 = {
1L, 0L, 1L, 0L, -2L, -1L, 0L, 8L, 1
};
p_144.f1 = func_58 (func_120 (l_148, g_149));
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilla

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions