Skip to content

Commit 9f46ca4

Browse files
authored
Merge pull request #49 from Xilinx/matthias.update_llvm_to_green-6cf7fe4a
Matthias.update llvm to green 6cf7fe4
2 parents c2367d6 + 3663896 commit 9f46ca4

File tree

10,144 files changed

+861889
-565113
lines changed

Some content is hidden

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

10,144 files changed

+861889
-565113
lines changed

.git-blame-ignore-revs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,12 @@ d8f0e6caa91e230a486c948ab643174e40bdf215
4646

4747
# [libc++][NFC] clang-format <__config>
4848
ac251726f84d5b7e6533a2e3712920184435b61b
49+
50+
# Python black reformatting, by subdir. NFC
51+
b71edfaa4ec3c998aadb35255ce2f60bba2940b0
52+
f84bac329ba6c9f0c022bcf77237e912362e247a
53+
dd3c26a045c081620375a878159f536758baba6e
54+
7bfaa0f09d0564f315ea778023b34b8a113ec740
55+
f98ee40f4b5d7474fc67e82824bf6abbaedb7b1c
56+
2238dcc39358353cac21df75c3c3286ab20b8f53
57+
f9008e6366c2496b1ca1785b891d5578174ad63e

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.github/workflows/release-tasks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
2727
- name: Install Dependencies
2828
run: |
29-
sudo apt-get update \
29+
sudo apt-get update
3030
sudo apt-get install -y \
3131
doxygen \
3232
graphviz \

.github/workflows/repo-lockdown.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ name: 'Repo Lockdown'
22
on:
33
pull_request_target:
44
types: opened
5+
paths-ignore:
6+
- 'libcxx/**'
7+
- 'libcxxabi/**'
8+
- 'libunwind/**'
9+
- 'runtimes/**'
510

611
permissions:
712
pull-requests: write

.github/workflows/version-check.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66

77

88
def get_version_from_tag(tag):
9-
m = re.match('llvmorg-([0-9]+)\.([0-9]+)\.([0-9]+)(-rc[0-9]+)?$', tag)
9+
m = re.match("llvmorg-([0-9]+)\.([0-9]+)\.([0-9]+)(-rc[0-9]+)?$", tag)
1010
if m:
1111
if m.lastindex == 4:
1212
# We have an rc tag.
13-
return m.group(1,2,3)
13+
return m.group(1, 2, 3)
1414
# We have a final release tag.
1515
return (m.group(1), m.group(2), str(int(m.group(3)) + 1))
1616

17-
m = re.match('llvmorg-([0-9]+)-init', tag)
17+
m = re.match("llvmorg-([0-9]+)-init", tag)
1818
if m:
1919
return (m.group(1), "0", "0")
2020

@@ -25,8 +25,8 @@ def get_version_from_tag(tag):
2525

2626
repo = Repo()
2727

28-
tag = repo.git.describe(tags = True, abbrev=0)
29-
expected_version = '.'.join(get_version_from_tag(tag))
28+
tag = repo.git.describe(tags=True, abbrev=0)
29+
expected_version = ".".join(get_version_from_tag(tag))
3030

3131
if version != expected_version:
3232
print("error: Expected version", expected_version, "but found version", version)

bolt/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ endif()
8484

8585
if (BOLT_ENABLE_RUNTIME)
8686
message(STATUS "Building BOLT runtime libraries for X86")
87+
set(extra_args "")
88+
if(CMAKE_SYSROOT)
89+
list(APPEND extra_args -DCMAKE_SYSROOT=${CMAKE_SYSROOT})
90+
endif()
8791
ExternalProject_Add(bolt_rt
8892
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/runtime"
8993
STAMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-stamps
@@ -92,8 +96,10 @@ if (BOLT_ENABLE_RUNTIME)
9296
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
9397
-DCMAKE_BUILD_TYPE=Release
9498
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
95-
-DCMAKE_INSTALL_PREFIX=${LLVM_BINARY_DIR}
9699
-DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX}
100+
-DLLVM_LIBRARY_DIR=${LLVM_LIBRARY_DIR}
101+
${extra_args}
102+
INSTALL_COMMAND ""
97103
BUILD_ALWAYS True
98104
)
99105
install(CODE "execute_process\(COMMAND \${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=\${CMAKE_INSTALL_PREFIX} -P ${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins/cmake_install.cmake \)"

bolt/docs/conf.py

Lines changed: 63 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -16,203 +16,197 @@
1616
# If extensions (or modules to document with autodoc) are in another directory,
1717
# add these directories to sys.path here. If the directory is relative to the
1818
# documentation root, use os.path.abspath to make it absolute, like shown here.
19-
#sys.path.insert(0, os.path.abspath('.'))
19+
# sys.path.insert(0, os.path.abspath('.'))
2020

2121
# -- General configuration -----------------------------------------------------
2222

2323
# If your documentation needs a minimal Sphinx version, state it here.
24-
#needs_sphinx = '1.0'
24+
# needs_sphinx = '1.0'
2525

2626
# Add any Sphinx extension module names here, as strings. They can be extensions
2727
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
28-
extensions = ['sphinx.ext.intersphinx', 'sphinx.ext.todo']
28+
extensions = ["sphinx.ext.intersphinx", "sphinx.ext.todo"]
2929

3030
# Add any paths that contain templates here, relative to this directory.
31-
templates_path = ['_templates']
31+
templates_path = ["_templates"]
3232

3333
# The suffix of source filenames.
34-
source_suffix = '.rst'
34+
source_suffix = ".rst"
3535

3636
# The encoding of source files.
37-
#source_encoding = 'utf-8-sig'
37+
# source_encoding = 'utf-8-sig'
3838

3939
# The master toctree document.
40-
master_doc = 'index'
40+
master_doc = "index"
4141

4242
# General information about the project.
43-
project = u'BOLT'
44-
copyright = u'2015-%d, BOLT team' % date.today().year
43+
project = "BOLT"
44+
copyright = "2015-%d, BOLT team" % date.today().year
4545

4646
# The language for content autogenerated by Sphinx. Refer to documentation
4747
# for a list of supported languages.
48-
#language = None
48+
# language = None
4949

5050
# There are two options for replacing |today|: either, you set today to some
5151
# non-false value, then it is used:
52-
#today = ''
52+
# today = ''
5353
# Else, today_fmt is used as the format for a strftime call.
54-
today_fmt = '%Y-%m-%d'
54+
today_fmt = "%Y-%m-%d"
5555

5656
# List of patterns, relative to source directory, that match files and
5757
# directories to ignore when looking for source files.
58-
exclude_patterns = ['_build']
58+
exclude_patterns = ["_build"]
5959

6060
# The reST default role (used for this markup: `text`) to use for all documents.
61-
#default_role = None
61+
# default_role = None
6262

6363
# If true, '()' will be appended to :func: etc. cross-reference text.
64-
#add_function_parentheses = True
64+
# add_function_parentheses = True
6565

6666
# If true, the current module name will be prepended to all description
6767
# unit titles (such as .. function::).
68-
#add_module_names = True
68+
# add_module_names = True
6969

7070
# If true, sectionauthor and moduleauthor directives will be shown in the
7171
# output. They are ignored by default.
7272
show_authors = True
7373

7474
# The name of the Pygments (syntax highlighting) style to use.
75-
pygments_style = 'friendly'
75+
pygments_style = "friendly"
7676

7777
# A list of ignored prefixes for module index sorting.
78-
#modindex_common_prefix = []
78+
# modindex_common_prefix = []
7979

8080

8181
# -- Options for HTML output ---------------------------------------------------
8282

8383
# The theme to use for HTML and HTML Help pages. See the documentation for
8484
# a list of builtin themes.
85-
html_theme = 'haiku'
85+
html_theme = "haiku"
8686

8787
# Theme options are theme-specific and customize the look and feel of a theme
8888
# further. For a list of options available for each theme, see the
8989
# documentation.
90-
#html_theme_options = {}
90+
# html_theme_options = {}
9191

9292
# Add any paths that contain custom themes here, relative to this directory.
9393
html_theme_path = ["."]
9494

9595
# The name for this set of Sphinx documents. If None, it defaults to
9696
# "<project> v<release> documentation".
97-
#html_title = None
97+
# html_title = None
9898

9999
# A shorter title for the navigation bar. Default is the same as html_title.
100-
#html_short_title = None
100+
# html_short_title = None
101101

102102
# The name of an image file (relative to this directory) to place at the top
103103
# of the sidebar.
104-
#html_logo = None
104+
# html_logo = None
105105

106106
# If given, this must be the name of an image file (path relative to the
107107
# configuration directory) that is the favicon of the docs. Modern browsers use
108108
# this as icon for tabs, windows and bookmarks. It should be a Windows-style
109109
# icon file (.ico), which is 16x16 or 32x32 pixels large. Default: None. The
110110
# image file will be copied to the _static directory of the output HTML, but
111111
# only if the file does not already exist there.
112-
html_favicon = '_static/favicon.ico'
112+
html_favicon = "_static/favicon.ico"
113113

114114
# Add any paths that contain custom static files (such as style sheets) here,
115115
# relative to this directory. They are copied after the builtin static files,
116116
# so a file named "default.css" will overwrite the builtin "default.css".
117-
html_static_path = ['_static']
117+
html_static_path = ["_static"]
118118

119119
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
120120
# using the given strftime format.
121-
html_last_updated_fmt = '%Y-%m-%d'
121+
html_last_updated_fmt = "%Y-%m-%d"
122122

123123
# If true, SmartyPants will be used to convert quotes and dashes to
124124
# typographically correct entities.
125-
#html_use_smartypants = True
125+
# html_use_smartypants = True
126126

127127
# Custom sidebar templates, maps document names to template names.
128-
html_sidebars = {'index': ['indexsidebar.html']}
128+
html_sidebars = {"index": ["indexsidebar.html"]}
129129

130130
# Additional templates that should be rendered to pages, maps page names to
131131
# template names.
132132
# html_additional_pages = {'index': 'index.html'}
133133

134134
# If false, no module index is generated.
135-
#html_domain_indices = True
135+
# html_domain_indices = True
136136

137137
# If false, no index is generated.
138-
#html_use_index = True
138+
# html_use_index = True
139139

140140
# If true, the index is split into individual pages for each letter.
141-
#html_split_index = False
141+
# html_split_index = False
142142

143143
# If true, links to the reST sources are added to the pages.
144144
html_show_sourcelink = True
145145

146146
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
147-
#html_show_sphinx = True
147+
# html_show_sphinx = True
148148

149149
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
150-
#html_show_copyright = True
150+
# html_show_copyright = True
151151

152152
# If true, an OpenSearch description file will be output, and all pages will
153153
# contain a <link> tag referring to it. The value of this option must be the
154154
# base URL from which the finished HTML is served.
155-
#html_use_opensearch = ''
155+
# html_use_opensearch = ''
156156

157157
# This is the file name suffix for HTML files (e.g. ".xhtml").
158-
#html_file_suffix = None
158+
# html_file_suffix = None
159159

160160
# Output file base name for HTML help builder.
161-
htmlhelp_basename = 'boltdoc'
161+
htmlhelp_basename = "boltdoc"
162162

163163

164164
# -- Options for LaTeX output --------------------------------------------------
165165

166166
latex_elements = {
167-
# The paper size ('letterpaper' or 'a4paper').
168-
#'papersize': 'letterpaper',
169-
170-
# The font size ('10pt', '11pt' or '12pt').
171-
#'pointsize': '10pt',
172-
173-
# Additional stuff for the LaTeX preamble.
174-
#'preamble': '',
167+
# The paper size ('letterpaper' or 'a4paper').
168+
#'papersize': 'letterpaper',
169+
# The font size ('10pt', '11pt' or '12pt').
170+
#'pointsize': '10pt',
171+
# Additional stuff for the LaTeX preamble.
172+
#'preamble': '',
175173
}
176174

177175
# Grouping the document tree into LaTeX files. List of tuples
178176
# (source start file, target name, title, author, documentclass [howto/manual]).
179177
latex_documents = [
180-
('contents', 'bolt.tex', u'BOLT Documentation',
181-
u'LLVM project', 'manual'),
178+
("contents", "bolt.tex", "BOLT Documentation", "LLVM project", "manual"),
182179
]
183180

184181
# The name of an image file (relative to this directory) to place at the top of
185182
# the title page.
186-
#latex_logo = None
183+
# latex_logo = None
187184

188185
# For "manual" documents, if this is true, then toplevel headings are parts,
189186
# not chapters.
190-
#latex_use_parts = False
187+
# latex_use_parts = False
191188

192189
# If true, show page references after internal links.
193-
#latex_show_pagerefs = False
190+
# latex_show_pagerefs = False
194191

195192
# If true, show URL addresses after external links.
196-
#latex_show_urls = False
193+
# latex_show_urls = False
197194

198195
# Documents to append as an appendix to all manuals.
199-
#latex_appendices = []
196+
# latex_appendices = []
200197

201198
# If false, no module index is generated.
202-
#latex_domain_indices = True
199+
# latex_domain_indices = True
203200

204201

205202
# -- Options for manual page output --------------------------------------------
206203

207204
# One entry per manual page. List of tuples
208205
# (source start file, name, description, authors, manual section).
209-
man_pages = [
210-
('contents', 'bolt', u'BOLT Documentation',
211-
[u'LLVM project'], 1)
212-
]
206+
man_pages = [("contents", "bolt", "BOLT Documentation", ["LLVM project"], 1)]
213207

214208
# If true, show URL addresses after external links.
215-
#man_show_urls = False
209+
# man_show_urls = False
216210

217211

218212
# -- Options for Texinfo output ------------------------------------------------
@@ -221,19 +215,25 @@
221215
# (source start file, target name, title, author,
222216
# dir menu entry, description, category)
223217
texinfo_documents = [
224-
('contents', 'BOLT', u'BOLT Documentation',
225-
u'LLVM project', 'BOLT', 'Binary Optimization and Layout Tool',
226-
'Miscellaneous'),
218+
(
219+
"contents",
220+
"BOLT",
221+
"BOLT Documentation",
222+
"LLVM project",
223+
"BOLT",
224+
"Binary Optimization and Layout Tool",
225+
"Miscellaneous",
226+
),
227227
]
228228

229229
# Documents to append as an appendix to all manuals.
230-
#texinfo_appendices = []
230+
# texinfo_appendices = []
231231

232232
# If false, no module index is generated.
233-
#texinfo_domain_indices = True
233+
# texinfo_domain_indices = True
234234

235235
# How to display URL addresses: 'footnote', 'no', or 'inline'.
236-
#texinfo_show_urls = 'footnote'
236+
# texinfo_show_urls = 'footnote'
237237

238238

239239
# FIXME: Define intersphinx configuration.

bolt/include/bolt/Core/BinaryFunction.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1757,6 +1757,16 @@ class BinaryFunction {
17571757
return ParentFragments.contains(&Other);
17581758
}
17591759

1760+
/// Returns if this function is a parent of \p Other function.
1761+
bool isParentOf(const BinaryFunction &Other) const {
1762+
return llvm::is_contained(Fragments, &Other);
1763+
}
1764+
1765+
/// Returns if this function is a parent or child of \p Other function.
1766+
bool isParentOrChildOf(const BinaryFunction &Other) const {
1767+
return isChildOf(Other) || isParentOf(Other);
1768+
}
1769+
17601770
/// Set the profile data for the number of times the function was called.
17611771
BinaryFunction &setExecutionCount(uint64_t Count) {
17621772
ExecutionCount = Count;

0 commit comments

Comments
 (0)