[PATCH] D12199: Add framework for iterative compilation to llvm

Zoran Jovanovic via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 20 10:35:38 PDT 2015


zoran.jovanovic created this revision.
zoran.jovanovic added reviewers: hfinkel, atrick, chandlerc.
zoran.jovanovic added subscribers: llvm-commits, grosser, etherzhhb, qcolombet, MatzeB, dblaikie, sanjoy, dsanders, petarj, Atlantic777, Radovan.Obradovic.

This patch adds necessary parts to implement iterative compilation in
llvm: decision trees and three passes (ModuleDecisionTreeProxy,
FunctionFitness and ICSetCurrentFunc). Further, inliner, LICM and register allocator 
are modified to support the iterative approach.


http://reviews.llvm.org/D12199

Files:
  include/llvm/Analysis/ICDecisionTree.h
  include/llvm/Analysis/ICFileUtils.h
  include/llvm/Analysis/ICPass.h
  include/llvm/Analysis/ICProxies.h
  include/llvm/Analysis/ICSetCurrentFunc.h
  include/llvm/Analysis/ICUtils.h
  include/llvm/Analysis/IterativeCompilation.h
  include/llvm/Analysis/Passes.h
  include/llvm/InitializePasses.h
  include/llvm/Transforms/IPO/InlinerPass.h
  include/llvm/Transforms/Utils/LoopUtils.h
  lib/Analysis/Analysis.cpp
  lib/Analysis/CMakeLists.txt
  lib/Analysis/ICDecisionTree.cpp
  lib/Analysis/ICFileUtils.cpp
  lib/Analysis/ICPass.cpp
  lib/Analysis/ICProxies.cpp
  lib/Analysis/ICSetCurrentFunc.cpp
  lib/Analysis/ICUtils.cpp
  lib/CodeGen/RegAllocGreedy.cpp
  lib/Target/Mips/CMakeLists.txt
  lib/Target/Mips/Mips.h
  lib/Target/Mips/MipsFunctionFitness.cpp
  lib/Target/Mips/MipsTargetMachine.cpp
  lib/Transforms/IPO/InlineAlways.cpp
  lib/Transforms/IPO/InlineSimple.cpp
  lib/Transforms/IPO/Inliner.cpp
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/Scalar/LICM.cpp
  unittests/Analysis/CMakeLists.txt
  unittests/Analysis/ICDecisionTree.cpp
  unittests/Analysis/ICProxies.cpp
  unittests/Analysis/ICUtils.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12199.32709.patch
Type: text/x-patch
Size: 102673 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150820/9d96519e/attachment-0001.bin>


More information about the llvm-commits mailing list