[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Assignment statement isn't parsing
Nope, this still isn't the answer. When I use this command line:
java soot.Main -j --soot-classpath $JIKESPATH -p jb use-original-names
-p jb no-cp A
(Note that copy propagation is turned off) the result of the method call
still doesn't make it into e:
[from A.jimp]
void run()
{
A this;
boolean e;
int l1;
this := @this;
e = 0;
l1 = A.calc();
return;
}
Since the dead assignment eliminator is the real culprit, let's try
disabling that:
java soot.Main -j --soot-classpath $JIKESPATH -p jb use-original-names
-p jb.dae disabled A
Still no luck:
[from A.jimp]
void run()
{
A this;
boolean e;
this := @this;
e = 0;
A.calc();
return;
}
Patrick LAM wrote:
>
> This is caused by the copy propagator. Note that the assignment to z0 is
> dead. But if you really feel strongly about that assignment, the phase
> option -p jb no-cp will restore it, as would any use of the value.
>
> (This isn't completely true, because the copy propagator doesn't remove
> statements; I think it's actually the dead assignment eliminator which
> does it, but if copy propagation is not enabled, the dae doesn't get to
> eliminate the statement.)
>
> pat
--
Nathan Kitchen
kitchen@ee.byu.edu