OSDN Git Service

Subzero: Change -asm-verbose output to print more useful info.
authorJim Stichnoth <stichnot@chromium.org>
Thu, 1 Oct 2015 14:46:38 +0000 (07:46 -0700)
committerJim Stichnoth <stichnot@chromium.org>
Thu, 1 Oct 2015 14:46:38 +0000 (07:46 -0700)
commit238b4c160169aea53c5ab87f40fd1d454f41e590
tree45f0c5b80cb9f0b31b265e1d9099bbba26369c1c
parent07af2ac73b348fb5e6378a49abcc9c9a36775a08
Subzero: Change -asm-verbose output to print more useful info.

Frame offsets for variables are emitted using a symbolic name based on the variable's name.  This makes it a bit easier to digest the asm code.

For example, if variable Foo gets an esp offset 24, asm like this:
  ... 24(%esp) ...
will instead be emitted like this:
  lv$Foo = 24
  ...
  ... lv$Foo(%esp) ...

Predecessor labels are printed for each basic block.

Loop nest depth is printed for each basic block.  (Would be nice if we had loop header info as well.)

BUG= none
R=jpp@chromium.org

Review URL: https://codereview.chromium.org/1377323002 .
src/IceCfg.cpp
src/IceCfgNode.cpp
src/IceOperand.h
src/IceTargetLoweringX86BaseImpl.h