[llvm-commits] [patch] ARM liveness bug PR14356
Jakob Stoklund Olesen
stoklund at 2pi.dk
Fri Nov 16 08:42:00 PST 2012
On Nov 16, 2012, at 4:22 AM, Tim Northover <t.p.northover at gmail.com> wrote:
> A bug has come up in the late liveness tracking implementation, which
> shows itself as an incorrect <imp-use> flag when switching execution
> domain for some ARM instructions.
Hi Tim,
Thanks for fixing this!
This function still doesn't look right to me. Suppose you're scanning upwards while computing the liveness of r0 and you encounter:
r0<def> = foo r0<kill>
The computeRegisterLiveness() function would return LQR_Dead which is wrong. On the other hand, encountering this:
r0<def,dead> = foo
would cause the function to return LQR_Live. Which is also wrong.
Another problem: PhysRegInfo has both Clobbers and DefinesOverlap fields which seems redundant. (And analyzePhysReg() never mentions DefinesOverlap).
/jakob
More information about the llvm-commits
mailing list