This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
gimple weirdness for Java
- From: Andrew Haley <aph at redhat dot com>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 9 Jun 2004 15:42:24 +0100
- Subject: gimple weirdness for Java
I guess I'm doing something wrong.
Look at the definition of #1#4 below. The "*.LJpc=11" seems to branch
around the assignment of #1#4. All the calculation at the end of the
function seems irrelevant, because it returns the value of #1#4.
Also, I'm a bit confused, in that #1#5 seems to be assigned twice:
this is the gimple dump. But this is SSA, no?
Maybe there's something wrong with the dump? Or is this totally
bogus?
Thanks,
Andrew.
;; Function BugJune3.seeIfItsTrue() (_ZN8BugJune312seeIfItsTrueEv)
BugJune3.seeIfItsTrue() (<D431>)
{
struct BugJune3$LittleThing * T.4;
struct BugJune3$LittleThing * T.5;
struct java.lang.Object * T.6;
struct
{
struct java.lang.Class * class;
void * methods[2];
} * T.7;
void * * T.8;
void * T.9;
BugJune3$LittleThing:: * T.10;
boolean T.11;
{
struct BugJune3 * <D436>;
struct BugJune3$LittleThing * #1#3;
int #1#4;
struct BugJune3 * <D439>;
promoted_boolean #1#5;
<D436> = <D431>;
T.4 = <D436>->littleThing;
#1#3 = T.4;
if (#1#3 != 0B)
{
goto *.LJpc=11;
}
else
{
}
#1#4 = 0;
goto *.LJpc=18;
*.LJpc=11:;
<D439> = <D431>;
#1#5 = #1#4;
T.5 = <D439>->littleThing;
T.6 = (struct java.lang.Object *)T.5;
T.7 = T.6->vtable;
T.8 = T.7 + 56B;
T.9 = *T.8;
T.10 = (BugJune3$LittleThing:: *)T.9;
T.11 = T.10 (T.5);
#1#5 = (promoted_boolean)T.11;
*.LJpc=18:;
return #1#4;
}
}