Skip to content

Commit

Permalink
Remove the very substantial, largely unmaintained legacy PGO
Browse files Browse the repository at this point in the history
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
chandlerc committed Oct 2, 2013
1 parent 6ffce6f commit dd5d86d
Show file tree
Hide file tree
Showing 61 changed files with 12 additions and 8,640 deletions.
11 changes: 1 addition & 10 deletions CMakeLists.txt
Expand Up @@ -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)
Expand Down Expand Up @@ -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()
Expand Down
2 changes: 1 addition & 1 deletion LLVMBuild.txt
Expand Up @@ -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
Expand Down
14 changes: 7 additions & 7 deletions Makefile
Expand Up @@ -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.
Expand All @@ -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

Expand All @@ -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

Expand All @@ -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
Expand All @@ -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

Expand Down
58 changes: 0 additions & 58 deletions include/llvm/Analysis/Passes.h
Expand Up @@ -93,64 +93,6 @@ namespace llvm {
//
ImmutablePass *createObjCARCAliasAnalysisPass();

//===--------------------------------------------------------------------===//
//
// 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
Expand Down

0 comments on commit dd5d86d

Please sign in to comment.