Permalink
Browse files

Remove the very substantial, largely unmaintained legacy PGO

infrastructure.

This was essentially work toward PGO based on a design that had several
flaws, partially dating from a time when LLVM had a different
architecture, and with an effort to modernize it abandoned without being
completed. Since then, it has bitrotted for several years further. The
result is nearly unusable, and isn't helping any of the modern PGO
efforts. Instead, it is getting in the way, adding confusion about PGO
in LLVM and distracting everyone with maintenance on essentially dead
code. Removing it paves the way for modern efforts around PGO.

Among other effects, this removes the last of the runtime libraries from
LLVM. Those are being developed in the separate 'compiler-rt' project
now, with somewhat different licensing specifically more approriate for
runtimes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191835 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information...
1 parent 6ffce6f commit dd5d86d992eb129ecd0bb013d2db2d6a0e8d2605 @chandlerc chandlerc committed Oct 2, 2013
Showing with 12 additions and 8,640 deletions.
  1. +1 −10 CMakeLists.txt
  2. +1 −1 LLVMBuild.txt
  3. +7 −7 Makefile
  4. +0 −58 include/llvm/Analysis/Passes.h
  5. +0 −304 include/llvm/Analysis/PathNumbering.h
  6. +0 −112 include/llvm/Analysis/PathProfileInfo.h
  7. +0 −140 include/llvm/Analysis/ProfileDataLoader.h
  8. +0 −39 include/llvm/Analysis/ProfileDataTypes.h
  9. +0 −247 include/llvm/Analysis/ProfileInfo.h
  10. +0 −81 include/llvm/Analysis/ProfileInfoLoader.h
  11. +0 −52 include/llvm/Analysis/ProfileInfoTypes.h
  12. +0 −12 include/llvm/InitializePasses.h
  13. +0 −10 include/llvm/LinkAllPasses.h
  14. +0 −9 include/llvm/Transforms/Instrumentation.h
  15. +0 −10 lib/Analysis/Analysis.cpp
  16. +0 −10 lib/Analysis/CMakeLists.txt
  17. +0 −521 lib/Analysis/PathNumbering.cpp
  18. +0 −433 lib/Analysis/PathProfileInfo.cpp
  19. +0 −205 lib/Analysis/PathProfileVerifier.cpp
  20. +0 −155 lib/Analysis/ProfileDataLoader.cpp
  21. +0 −188 lib/Analysis/ProfileDataLoaderPass.cpp
  22. +0 −426 lib/Analysis/ProfileEstimatorPass.cpp
  23. +0 −1,079 lib/Analysis/ProfileInfo.cpp
  24. +0 −155 lib/Analysis/ProfileInfoLoader.cpp
  25. +0 −267 lib/Analysis/ProfileInfoLoaderPass.cpp
  26. +0 −383 lib/Analysis/ProfileVerifierPass.cpp
  27. +0 −4 lib/CodeGen/UnreachableBlockElim.cpp
  28. +0 −3 lib/Transforms/Instrumentation/CMakeLists.txt
  29. +0 −117 lib/Transforms/Instrumentation/EdgeProfiling.cpp
  30. +0 −3 lib/Transforms/Instrumentation/Instrumentation.cpp
  31. +0 −225 lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
  32. +0 −1,424 lib/Transforms/Instrumentation/PathProfiling.cpp
  33. +0 −8 lib/Transforms/Scalar/CodeGenPrepare.cpp
  34. +1 −8 lib/Transforms/Utils/BreakCriticalEdges.cpp
  35. +0 −6 lib/Transforms/Utils/Local.cpp
  36. +0 −5 runtime/CMakeLists.txt
  37. +0 −21 runtime/LLVMBuild.txt
  38. +0 −25 runtime/Makefile
  39. +0 −4 runtime/README.txt
  40. +0 −67 runtime/libprofile/BasicBlockTracing.c
  41. +0 −19 runtime/libprofile/CMakeLists.txt
  42. +0 −173 runtime/libprofile/CommonProfiling.c
  43. +0 −45 runtime/libprofile/EdgeProfiling.c
  44. +0 −52 runtime/libprofile/Makefile
  45. +0 −45 runtime/libprofile/OptimalEdgeProfiling.c
  46. +0 −270 runtime/libprofile/PathProfiling.c
  47. +0 −36 runtime/libprofile/Profiling.h
  48. +0 −139 test/Analysis/Profiling/edge-profiling.ll
  49. +0 −2 test/Analysis/Profiling/lit.local.cfg
  50. +0 −122 test/Analysis/Profiling/load-branch-weights-ifs.ll
  51. +0 −188 test/Analysis/Profiling/load-branch-weights-loops.ll
  52. +0 −165 test/Analysis/Profiling/load-branch-weights-switches.ll
  53. +0 −212 test/Analysis/Profiling/profiling-tool-chain.ll
  54. +0 −1 test/lit.cfg
  55. +0 −1 tools/CMakeLists.txt
  56. +1 −1 tools/LLVMBuild.txt
  57. +1 −1 tools/Makefile
  58. +0 −5 tools/llvm-prof/CMakeLists.txt
  59. +0 −22 tools/llvm-prof/LLVMBuild.txt
  60. +0 −17 tools/llvm-prof/Makefile
  61. +0 −290 tools/llvm-prof/llvm-prof.cpp
View
@@ -246,18 +246,13 @@ if( WIN32 AND NOT CYGWIN )
endif()
# Define options to control the inclusion and default build behavior for
-# components which may not strictly be necessary (tools, runtime, examples, and
-# tests).
+# components which may not strictly be necessary (tools, examples, and tests).
#
# This is primarily to support building smaller or faster project files.
option(LLVM_INCLUDE_TOOLS "Generate build targets for the LLVM tools." ON)
option(LLVM_BUILD_TOOLS
"Build the LLVM tools. If OFF, just generate build targets." ON)
-option(LLVM_INCLUDE_RUNTIME "Generate build targets for the LLVM runtimes" ON)
-option(LLVM_BUILD_RUNTIME
- "Build the LLVM runtime libraries. If OFF, just generate build targets." ON)
-
option(LLVM_BUILD_EXAMPLES
"Build the LLVM example programs. If OFF, just generate build targets." OFF)
option(LLVM_INCLUDE_EXAMPLES "Generate build targets for the LLVM examples" ON)
@@ -471,10 +466,6 @@ if( LLVM_INCLUDE_TOOLS )
add_subdirectory(tools)
endif()
-if( LLVM_INCLUDE_RUNTIME )
- add_subdirectory(runtime)
-endif()
-
if( LLVM_INCLUDE_EXAMPLES )
add_subdirectory(examples)
endif()
View
@@ -16,7 +16,7 @@
;===------------------------------------------------------------------------===;
[common]
-subdirectories = bindings docs examples lib projects runtime tools utils
+subdirectories = bindings docs examples lib projects tools utils
[component_0]
type = Group
View
@@ -15,7 +15,7 @@ LEVEL := .
# 3. Build IR, which builds the Intrinsics.inc file used by libs.
# 4. Build libs, which are needed by llvm-config.
# 5. Build llvm-config, which determines inter-lib dependencies for tools.
-# 6. Build tools, runtime, docs.
+# 6. Build tools and docs.
#
# When cross-compiling, there are some things (tablegen) that need to
# be build for the build system first.
@@ -31,7 +31,7 @@ ifeq ($(BUILD_DIRS_ONLY),1)
OPTIONAL_DIRS := tools/clang/utils/TableGen
else
DIRS := lib/Support lib/TableGen utils lib/IR lib tools/llvm-shlib \
- tools/llvm-config tools runtime docs unittests
+ tools/llvm-config tools docs unittests
OPTIONAL_DIRS := projects bindings
endif
@@ -52,17 +52,17 @@ ifneq ($(ENABLE_DOCS),1)
endif
ifeq ($(MAKECMDGOALS),libs-only)
- DIRS := $(filter-out tools runtime docs, $(DIRS))
+ DIRS := $(filter-out tools docs, $(DIRS))
OPTIONAL_DIRS :=
endif
ifeq ($(MAKECMDGOALS),install-libs)
- DIRS := $(filter-out tools runtime docs, $(DIRS))
+ DIRS := $(filter-out tools docs, $(DIRS))
OPTIONAL_DIRS := $(filter bindings, $(OPTIONAL_DIRS))
endif
ifeq ($(MAKECMDGOALS),tools-only)
- DIRS := $(filter-out runtime docs, $(DIRS))
+ DIRS := $(filter-out docs, $(DIRS))
OPTIONAL_DIRS :=
endif
@@ -72,7 +72,7 @@ ifeq ($(MAKECMDGOALS),install-clang)
tools/clang/tools/c-index-test \
tools/clang/include/clang-c \
tools/clang/runtime tools/clang/docs \
- tools/lto runtime
+ tools/lto
OPTIONAL_DIRS :=
NO_INSTALL = 1
endif
@@ -84,7 +84,7 @@ ifeq ($(MAKECMDGOALS),clang-only)
endif
ifeq ($(MAKECMDGOALS),unittests)
- DIRS := $(filter-out tools runtime docs, $(DIRS)) utils unittests
+ DIRS := $(filter-out tools docs, $(DIRS)) utils unittests
OPTIONAL_DIRS :=
endif
@@ -95,64 +95,6 @@ namespace llvm {
//===--------------------------------------------------------------------===//
//
- // createProfileLoaderPass - This pass loads information from a profile dump
- // file.
- //
- ModulePass *createProfileLoaderPass();
- extern char &ProfileLoaderPassID;
-
- //===--------------------------------------------------------------------===//
- //
- // createProfileMetadataLoaderPass - This pass loads information from a
- // profile dump file and sets branch weight metadata.
- //
- ModulePass *createProfileMetadataLoaderPass();
- extern char &ProfileMetadataLoaderPassID;
-
- //===--------------------------------------------------------------------===//
- //
- // createNoProfileInfoPass - This pass implements the default "no profile".
- //
- ImmutablePass *createNoProfileInfoPass();
-
- //===--------------------------------------------------------------------===//
- //
- // createProfileEstimatorPass - This pass estimates profiling information
- // instead of loading it from a previous run.
- //
- FunctionPass *createProfileEstimatorPass();
- extern char &ProfileEstimatorPassID;
-
- //===--------------------------------------------------------------------===//
- //
- // createProfileVerifierPass - This pass verifies profiling information.
- //
- FunctionPass *createProfileVerifierPass();
-
- //===--------------------------------------------------------------------===//
- //
- // createPathProfileLoaderPass - This pass loads information from a path
- // profile dump file.
- //
- ModulePass *createPathProfileLoaderPass();
- extern char &PathProfileLoaderPassID;
-
- //===--------------------------------------------------------------------===//
- //
- // createNoPathProfileInfoPass - This pass implements the default
- // "no path profile".
- //
- ImmutablePass *createNoPathProfileInfoPass();
-
- //===--------------------------------------------------------------------===//
- //
- // createPathProfileVerifierPass - This pass verifies path profiling
- // information.
- //
- ModulePass *createPathProfileVerifierPass();
-
- //===--------------------------------------------------------------------===//
- //
// createDSAAPass - This pass implements simple context sensitive alias
// analysis.
//
Oops, something went wrong.

0 comments on commit dd5d86d

Please sign in to comment.