[PATCH] D32563: Add LiveRangeShrink pass to shrink live range within BB.

Andrew Trick via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 2 18:26:23 PDT 2017


atrick added a comment.

The time to shrink live ranges is after all the global machine code
motion is done if the goal is handle as many cases as possible.

Doing code motion in machine code is tricky because you have to worry
about physical registers, flags and such. But those are exactly the
things you need to worry about to avoid generating terrible code. For
example, you don't want to hoist something over a call that defines a
physreg or is used by a physreg copy!

That said, if reassociate is making silly decisions about where to
place operations, I wouldn't see a problem fixing that directly.


https://reviews.llvm.org/D32563





More information about the llvm-commits mailing list