Initialize/Register LTO passes to enable flags like -print-after=<lto-pass>
authorShuxin Yang <shuxin.llvm@gmail.com>
Mon, 22 Jul 2013 18:40:34 +0000 (18:40 +0000)
committerShuxin Yang <shuxin.llvm@gmail.com>
Mon, 22 Jul 2013 18:40:34 +0000 (18:40 +0000)
commit8945f753edf14b998fe57fd0a8b675b61aeb0164
tree18394c0af2a615cac9130461818210d6709d205e
parentf01742d03fb034e50f2a7717fb1325644e02ca72
Initialize/Register LTO passes to enable flags like -print-after=<lto-pass>

There already have two "dead" functions, initialize{IPO|IPA}, defined for
similar purpose. I decide not to call these two functions for two reasons:
  o. they don't cover all LTO passes (which will soon be separated into IPO
     and post-IPO passes)
  o. We have not yet figured out the right passes and the ordering for IPO
     and post-IPO stages, meaning this change is only for the time being.

Since LTO passes are registered, we are now able to print IR before and
after particular point.

For OSX users:
--------------
  "...-Wl,-mllvm -Wl,-print-after=<pass-name>" will print IR after the
  specified pass.

For Other UNIX with GNU gold linker:
------------------------------------
  "-Wl,-plugin-opt=-print-after=<pass-name>" should work.
  (NOTE: no need for "-Wl,-mllvm")

  Strip "-Wl," if flags are fed directly to linker instead of clang/clang++.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186853 91177308-0d34-0410-b5e6-96231b3b80d8
tools/lto/LTOCodeGenerator.cpp
tools/lto/LTOCodeGenerator.h