OSDN Git Service

Change LTO to run the global opt pass twice.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 3 Jun 2009 21:51:32 +0000 (21:51 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 3 Jun 2009 21:51:32 +0000 (21:51 +0000)
commite0f0e0be1c5f6f80cd866d84643509ef399eec96
tree7cddfb427529cb31be6167b88a76846e707d0651
parenta8ba2c25e9ea7b0d213b485debe5d044efde66a4
Change LTO to run the global opt pass twice.
 - This matches llvm-ld.

It took a bit of archeology to figure out what the right thing to do was
(whether this was intentionally added or intentionally removed). My final
conclusion is that Chris added this intentionally here:
  http://llvm.org/viewvc/llvm-project?view=rev&revision=16913
but the changes weren't propogated to llvm-ld until here:
  http://llvm.org/viewvc/llvm-project?view=rev&revision=34058
which was after lto.cpp had been cloned off (of llvm-ld), here:
  http://llvm.org/viewvc/llvm-project?view=rev&revision=29494

From the commit message, it looks like the motivation for running global opt
again is because we ran it prior to inlining. Based on that I updated the
comment and also only run the pass if we actually ran the inliner.

Chris, please review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72811 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/StandardPasses.h
tools/llvm-ld/Optimize.cpp
tools/lto/LTOCodeGenerator.cpp