OSDN Git Service

Subzero: Improve usability of liveness-related tools.
authorJim Stichnoth <stichnot@chromium.org>
Sat, 26 Sep 2015 00:40:32 +0000 (17:40 -0700)
committerJim Stichnoth <stichnot@chromium.org>
Sat, 26 Sep 2015 00:40:32 +0000 (17:40 -0700)
commit230d4101fb3c591d044406eef27d0ce43ffab53e
treea25a44cd63084049dc55a8bb2f9c69b5058c1dd4
parentba6a67c960a126d85b94a87c8ea7358bec0da048
Subzero: Improve usability of liveness-related tools.

1. Rename all identifiers containing "nonkillable" to use the more understandable "redefined".

2. Change inferTwoAddress() to be called inferRedefinition(), and to check *all* instruction source variables (instead of just the first source operand) against the Dest variable.  This eliminates the need for several instances of _set_dest_redefined().  The performance impact on translation time is something like 0.1%, which is dwarfed by the usability gain.

3. Change a cryptic assert in (O2) live range construction to print detailed information on the liveness errors.

4. Change a cryptic assert in (Om1) live range construction to do the same.

BUG= none
R=jpp@chromium.org

Review URL: https://codereview.chromium.org/1368993004 .
14 files changed:
src/IceCfg.cpp
src/IceCfgNode.cpp
src/IceCfgNode.h
src/IceInst.cpp
src/IceInst.h
src/IceRegAlloc.cpp
src/IceRegAlloc.h
src/IceTargetLowering.cpp
src/IceTargetLowering.h
src/IceTargetLoweringARM32.cpp
src/IceTargetLoweringARM32.h
src/IceTargetLoweringMIPS32.cpp
src/IceTargetLoweringX86Base.h
src/IceTargetLoweringX86BaseImpl.h