Skip to content

Commit dd5d86d

Browse files
committed
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
1 parent 6ffce6f commit dd5d86d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+12
-8640
lines changed

CMakeLists.txt

+1-10
Original file line numberDiff line numberDiff line change
@@ -246,18 +246,13 @@ if( WIN32 AND NOT CYGWIN )
246246
endif()
247247

248248
# Define options to control the inclusion and default build behavior for
249-
# components which may not strictly be necessary (tools, runtime, examples, and
250-
# tests).
249+
# components which may not strictly be necessary (tools, examples, and tests).
251250
#
252251
# This is primarily to support building smaller or faster project files.
253252
option(LLVM_INCLUDE_TOOLS "Generate build targets for the LLVM tools." ON)
254253
option(LLVM_BUILD_TOOLS
255254
"Build the LLVM tools. If OFF, just generate build targets." ON)
256255

257-
option(LLVM_INCLUDE_RUNTIME "Generate build targets for the LLVM runtimes" ON)
258-
option(LLVM_BUILD_RUNTIME
259-
"Build the LLVM runtime libraries. If OFF, just generate build targets." ON)
260-
261256
option(LLVM_BUILD_EXAMPLES
262257
"Build the LLVM example programs. If OFF, just generate build targets." OFF)
263258
option(LLVM_INCLUDE_EXAMPLES "Generate build targets for the LLVM examples" ON)
@@ -471,10 +466,6 @@ if( LLVM_INCLUDE_TOOLS )
471466
add_subdirectory(tools)
472467
endif()
473468

474-
if( LLVM_INCLUDE_RUNTIME )
475-
add_subdirectory(runtime)
476-
endif()
477-
478469
if( LLVM_INCLUDE_EXAMPLES )
479470
add_subdirectory(examples)
480471
endif()

LLVMBuild.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
;===------------------------------------------------------------------------===;
1717

1818
[common]
19-
subdirectories = bindings docs examples lib projects runtime tools utils
19+
subdirectories = bindings docs examples lib projects tools utils
2020

2121
[component_0]
2222
type = Group

Makefile

+7-7
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ LEVEL := .
1515
# 3. Build IR, which builds the Intrinsics.inc file used by libs.
1616
# 4. Build libs, which are needed by llvm-config.
1717
# 5. Build llvm-config, which determines inter-lib dependencies for tools.
18-
# 6. Build tools, runtime, docs.
18+
# 6. Build tools and docs.
1919
#
2020
# When cross-compiling, there are some things (tablegen) that need to
2121
# be build for the build system first.
@@ -31,7 +31,7 @@ ifeq ($(BUILD_DIRS_ONLY),1)
3131
OPTIONAL_DIRS := tools/clang/utils/TableGen
3232
else
3333
DIRS := lib/Support lib/TableGen utils lib/IR lib tools/llvm-shlib \
34-
tools/llvm-config tools runtime docs unittests
34+
tools/llvm-config tools docs unittests
3535
OPTIONAL_DIRS := projects bindings
3636
endif
3737

@@ -52,17 +52,17 @@ ifneq ($(ENABLE_DOCS),1)
5252
endif
5353

5454
ifeq ($(MAKECMDGOALS),libs-only)
55-
DIRS := $(filter-out tools runtime docs, $(DIRS))
55+
DIRS := $(filter-out tools docs, $(DIRS))
5656
OPTIONAL_DIRS :=
5757
endif
5858

5959
ifeq ($(MAKECMDGOALS),install-libs)
60-
DIRS := $(filter-out tools runtime docs, $(DIRS))
60+
DIRS := $(filter-out tools docs, $(DIRS))
6161
OPTIONAL_DIRS := $(filter bindings, $(OPTIONAL_DIRS))
6262
endif
6363

6464
ifeq ($(MAKECMDGOALS),tools-only)
65-
DIRS := $(filter-out runtime docs, $(DIRS))
65+
DIRS := $(filter-out docs, $(DIRS))
6666
OPTIONAL_DIRS :=
6767
endif
6868

@@ -72,7 +72,7 @@ ifeq ($(MAKECMDGOALS),install-clang)
7272
tools/clang/tools/c-index-test \
7373
tools/clang/include/clang-c \
7474
tools/clang/runtime tools/clang/docs \
75-
tools/lto runtime
75+
tools/lto
7676
OPTIONAL_DIRS :=
7777
NO_INSTALL = 1
7878
endif
@@ -84,7 +84,7 @@ ifeq ($(MAKECMDGOALS),clang-only)
8484
endif
8585

8686
ifeq ($(MAKECMDGOALS),unittests)
87-
DIRS := $(filter-out tools runtime docs, $(DIRS)) utils unittests
87+
DIRS := $(filter-out tools docs, $(DIRS)) utils unittests
8888
OPTIONAL_DIRS :=
8989
endif
9090

include/llvm/Analysis/Passes.h

-58
Original file line numberDiff line numberDiff line change
@@ -93,64 +93,6 @@ namespace llvm {
9393
//
9494
ImmutablePass *createObjCARCAliasAnalysisPass();
9595

96-
//===--------------------------------------------------------------------===//
97-
//
98-
// createProfileLoaderPass - This pass loads information from a profile dump
99-
// file.
100-
//
101-
ModulePass *createProfileLoaderPass();
102-
extern char &ProfileLoaderPassID;
103-
104-
//===--------------------------------------------------------------------===//
105-
//
106-
// createProfileMetadataLoaderPass - This pass loads information from a
107-
// profile dump file and sets branch weight metadata.
108-
//
109-
ModulePass *createProfileMetadataLoaderPass();
110-
extern char &ProfileMetadataLoaderPassID;
111-
112-
//===--------------------------------------------------------------------===//
113-
//
114-
// createNoProfileInfoPass - This pass implements the default "no profile".
115-
//
116-
ImmutablePass *createNoProfileInfoPass();
117-
118-
//===--------------------------------------------------------------------===//
119-
//
120-
// createProfileEstimatorPass - This pass estimates profiling information
121-
// instead of loading it from a previous run.
122-
//
123-
FunctionPass *createProfileEstimatorPass();
124-
extern char &ProfileEstimatorPassID;
125-
126-
//===--------------------------------------------------------------------===//
127-
//
128-
// createProfileVerifierPass - This pass verifies profiling information.
129-
//
130-
FunctionPass *createProfileVerifierPass();
131-
132-
//===--------------------------------------------------------------------===//
133-
//
134-
// createPathProfileLoaderPass - This pass loads information from a path
135-
// profile dump file.
136-
//
137-
ModulePass *createPathProfileLoaderPass();
138-
extern char &PathProfileLoaderPassID;
139-
140-
//===--------------------------------------------------------------------===//
141-
//
142-
// createNoPathProfileInfoPass - This pass implements the default
143-
// "no path profile".
144-
//
145-
ImmutablePass *createNoPathProfileInfoPass();
146-
147-
//===--------------------------------------------------------------------===//
148-
//
149-
// createPathProfileVerifierPass - This pass verifies path profiling
150-
// information.
151-
//
152-
ModulePass *createPathProfileVerifierPass();
153-
15496
//===--------------------------------------------------------------------===//
15597
//
15698
// createDSAAPass - This pass implements simple context sensitive alias

0 commit comments

Comments
 (0)