OSDN Git Service

Subzero: Optimize live range overlaps() computation through trimming.
authorJim Stichnoth <stichnot@chromium.org>
Tue, 7 Oct 2014 18:09:33 +0000 (11:09 -0700)
committerJim Stichnoth <stichnot@chromium.org>
Tue, 7 Oct 2014 18:09:33 +0000 (11:09 -0700)
commit037fa1d997307fd68c7e6d9c385e30890d65604d
tree52cb7206043c2277ac80d8688d7194a50c06d27c
parente3f64d0967aa918a151a1d7e9971060c85f4aa1d
Subzero: Optimize live range overlaps() computation through trimming.

The main optimization is for the repeated overlaps() calls against the Inactive set, by iteratively trimming away the early sections of the Inactive live ranges that can no longer overlap with Cur.

A more minor optimization doesn't bother checking pure point-valued Inactive ranges for expiring or reactivating.

BUG= none
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/627203002
src/IceOperand.cpp
src/IceOperand.h
src/IceRegAlloc.cpp
src/IceRegAlloc.h