[llvm-commits] [llvm] r152486 - /llvm/trunk/lib/CodeGen/SjLjEHPrepare.cpp

Duncan Sands baldrick at free.fr
Sat Mar 10 07:30:11 PST 2012


Hi Bill,

> Implement a more intelligent way of spilling uses across an invoke boundary.
>
> The old way of determine when and where to spill a value that was used inside of
> a landing pad resulted in spilling that value everywhere and not just at the
> invoke edge.
>
> This algorithm determines which values are used within a landing pad.

I didn't look at the patch so maybe you take care of the following issue:
looking at landing pads is not enough.  The landing pad could branch to some
other basic block.  Any values used in that other basic block need to be
spilled before the invoke too, right?

Ciao, Duncan.

  It then
> spills those values before the invoke and reloads them before the uses. This
> should prevent excessive spilling in many cases, e.g. inside of loops.
> <rdar://problem/10609139>




More information about the llvm-commits mailing list