History log of /freebsd-current/lib/clang/include/llvm/Config/config.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 3a079333 24-May-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67.

PR: 276104
MFC after: 3 days


# 894cb08f 03-May-2024 Dimitry Andric <dim@FreeBSD.org>

Fixup: Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9

Update version numbers, config headers, etc. Git tricked me into losing
these before pushing.

PR: 276104
Fixes: d67fc74b9249
MFC after: 3 days

# dfa39133 20-Apr-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6.

PR: 276104
MFC after: 3 days

# 439352ac 05-Apr-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879.

PR: 276104
MFC after: 1 month


# 4c2d3b02 10-Mar-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e.

PR: 276104
MFC after: 1 month


# 878ed495 26-Jan-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

PR: 276104
MFC after: 1 month


# 5f757f3f 18-Dec-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

PR: 276104
MFC after: 1 month


# 5c16e71d 30-Nov-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.6-0-g6009708b4367

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.6-0-g6009708b4367.

PR: 273753
MFC after: 1 month


# b121cb00 16-Nov-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.5-0-g98bfdac5ce82

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.5-0-g98bfdac5ce82.

PR: 273753
MFC after: 1 month


# bdb86d1a 21-Oct-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.3-0-g888437e1b600

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.3-0-g888437e1b600.

PR: 273753
MFC after: 1 month


# 4542f901 29-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.1-25-g098e653a5bed

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.1-25-g098e653a5bed.

PR: 273753
MFC after: 1 month


# 8a4dda33 11-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.0-rc4-10-g0176e8729ea4

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.0-rc4-10-g0176e8729ea4.

PR: 273753
MFC after: 1 month


# 06c3fb27 02-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the
last commit before the upstream release/17.x branch was created.

PR: 273753
MFC after: 1 month


# e048f78b 22-Jun-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.6-0-g7cbf1a259152

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.6-0-g7cbf1a259152 (aka 16.0.6 release).

PR: 271047
MFC after: 1 month


# 2efbaac7 04-Jun-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.5-0-g185b81e034ba

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.5-0-g185b81e034ba (aka 16.0.5 release).

PR: 271047
MFC after: 1 month


# a324c340 22-May-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.4-0-gae42196bc493 (aka 16.0.4 release).

PR: 271047
MFC after: 1 month


# cbe9438c 05-May-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.3-0-gda3cd333bea5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.3-0-gda3cd333bea5 (aka 16.0.3 release).

PR: 271047
MFC after: 1 month


# 9e7101a8 22-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.2-0-g18ddebe1a1a9

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.2-0-g18ddebe1a1a9 (aka 16.0.2 release).

PR: 271047
MFC after: 1 month


# 1ac55f4c 17-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.1-0-gcd89023f7979

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.1-0-gcd89023f7979 (aka 16.0.1 release).

PR: 271047
MFC after: 1 month


# bdd1243d 14-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16-init-18548-gb0daacf58f41.

PR: 271047
MFC after: 1 month


# 50d7464c 14-Jan-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6.

PR: 265425
MFC after: 2 weeks


# f3fd488f 04-Dec-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.6-0-g088f33605d8a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.6-0-g088f33605d8a.

PR: 265425
MFC after: 2 weeks


# 6246ae0b 16-Oct-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.2-10-gf3c5289e7846

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.2-10-gf3c5289e7846.

PR: 265425
MFC after: 2 weeks


# 972a253a 27-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before
the upstream release/16.x branch was created.

PR: 265425
MFC after: 2 weeks


# 81ad6265 04-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-15358-g53dc0f10787.

PR: 265425
MFC after: 2 weeks


# 56f451bb 12-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.5-0-gc12386ae247c

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.5-0-gc12386ae247c, aka 14.0.5 release.

PR: 261742
MFC after: 3 days


# 809922b0 05-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Update rest of llvm-project build glue for 14.0.4

I completely forgot about updating the generated llvm-project config
files, which also contain version numbers, etc. Sorry for the churn.

PR: 261742
Fixes: ab9d54731f43
MFC after: 3 days

# 3a9a9c0c 28-Apr-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.3-0-g1f9140064dfb.

PR: 261742
MFC after: 2 weeks


# d56accc7 18-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.0-rc1-74-g4dc3cb8e3255

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.0-rc1-74-g4dc3cb8e3255.

PR: 261742
MFC after: 2 weeks


# 1fd87a68 05-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before
the upstream release/14.x branch was created.

PR: 261742
MFC after: 2 weeks


# 04eeddc0 27-Jan-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-17616-g024a1fab5c35.

PR: 261742
MFC after: 2 weeks


# 5e801ac6 20-Nov-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-10223-g401b76fdf2b3.

PR: 261742
MFC after: 2 weeks


# 6e75b2fb 25-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR: 258209
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR: 258209
MFC after: 2 weeks


# 31ba4ce8 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping llvm-tblgen on macOS and Linux

This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan: Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By: dim
Differential Revision: https://reviews.freebsd.org/D31057

# 23408297 18-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.1 rc2

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.

PR: 255570
MFC after: 6 weeks


# f336b45e 16-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by: oh
PR: 255570
MFC after: 6 weeks

# d409305f 26-Apr-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR: 255570
MFC after: 6 weeks


# e8d8bef9 13-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the
upstream release/12.x branch was created.

PR: 255570
MFC after: 6 weeks


# eaeb601b 03-Jan-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
release/11.x llvmorg-11.0.1-rc2-0-g43ff75f2c3f (aka 11.0.1 rc2).

MFC after: 4 weeks
X-MFC-With: r364284


# 5f24ef21 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Update generated llvm-project related version headers, config.h files
and add a newly generated lldb Plugins.def file too.

# d65cd7a5 23-May-2020 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).

MFC after: 3 weeks


# 0b37c159 25-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

* Bump version numbers to 10.0.0
* Update UPDATING
* Update (Optional)ObsoleteFiles.inc
* Update VCS(Revision|Version) files
* Update generated config headers
* Update clang internal headers Makefile

# c14a5a88 22-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

Release notes for llvm, clang, lld and libc++ 9.0.1 will become
available here:

https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

PR: 240629
MFC after: 1 month


# 22f75ae7 02-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp
release_90 branch r369369, and update version numbers.


# 86aa9539 23-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Regenerate config and version headers.

# efc5c442 12-Jun-2019 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,
libunwind and openmp to the upstream release_80 branch r363030
(effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a
week or so.

MFC after: 2 weeks


# af44a011 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Now for the release_80 branch, update version numbers for llvm, clang
and lld, and regenerate config headers.

# 0bf31f1f 20-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update version numbers, and regenerate config headers for llvm, clang,
lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.

# 68948600 04-Nov-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r346007 (effectively 7.0.1 rc2), resolve conflicts, and bump version
numbers.

PR: 230240, 230355


# 7726714d 17-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r339999, resolve conflicts, and bump version numbers.

PR: 230240,230355


# 6dfa117f 31-Jul-2018 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang version numbers in various files.

# e92a4205 24-Jul-2018 Ed Maste <emaste@FreeBSD.org>

llvm: remove __FreeBSD_version conditionals

All supported FreeBSD build host versions have backtrace.h, so we can
just eliminate that test. For futimes() we can test the compiler's
built-in __FreeBSD__ major version rather than relying on including
osreldate.h. This should reduce the frequency with which Clang gets
rebuilt when building world.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation

# fbfca78e 30-Jun-2018 Dimitry Andric <dim@FreeBSD.org>

Follow-up to r335799 (llvm/clang 6.0.1 update), by regenerating various
headers with new version information defines.

MFC after: 2 weeks
X-MFC-With: r335799

# 30785c0e 06-Jan-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788,
update build glue and version numbers.


# 02d2ad99 20-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Update generated config headers, and version numbers.

# d4419f6f 02-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from the
upstream release_50 branch. This corresponds to 5.0.1 rc2.

MFC after: 2 weeks


# edd7eadd 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and update
build glue.


# 7d9e99b6 05-May-2017 Dimitry Andric <dim@FreeBSD.org>

Regenerate llvm's config.h file.

# 5897d2f0 17-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Initial update of clang/llvm build glue, for building just a minimal
clang executable.

# f1a29dd3 14-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld and lldb release_40 branch r292009. Also update
build glue.


# 09bfd043 03-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Initial updates to llvm/clang build glue.

# 5b41a5b6 25-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for llvm/clang 3.9.1.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# 42d8074a 16-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 250e909a 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Update clang's Version.inc file, and regenerate various generated
configuration headers (these used to be generated by autoconf, but
upstream has deprecated autoconf in favor of CMake).

# 9a4b3118 25-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang and llvm to 3.7.1 release. This is a
bugfix-only release, with no new features.

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# e9ae0170 18-Oct-2015 Dimitry Andric <dim@FreeBSD.org>

Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway. You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.

# b6c25e0e 06-Sep-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm, clang and lldb to 3.7.0 release.


# cc38b640 23-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 97bc6c73 10-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r239412.


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# ef6fa9e2 25-May-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.6.1 release.

This release contains the following cherry-picked revisions from
upstream trunk:

226124 226151 226164 226165 226166 226407 226408 226409 226652
226905 226983 227084 227087 227089 227208 227209 227210 227211
227212 227213 227214 227269 227430 227482 227503 227519 227574
227822 227986 227987 227988 227989 227990 228037 228038 228039
228040 228188 228189 228190 228273 228372 228373 228374 228403
228765 228848 228918 229223 229225 229226 229227 229228 229230
229234 229235 229236 229238 229239 229413 229507 229680 229750
229751 229752 229911 230146 230147 230235 230253 230255 230469
230500 230564 230603 230657 230742 230748 230956 231219 231237
231245 231259 231280 231451 231563 231601 231658 231659 231662
231984 231986 232046 232085 232142 232176 232179 232189 232382
232386 232389 232425 232438 232443 232675 232786 232797 232943
232957 233075 233080 233351 233353 233409 233410 233508 233584
233819 233904 234629 234636 234891 234975 234977 235524 235641
235662 235931 236099 236306 236307

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# 09de9530 26-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Minor updates to llvm's pregenerated config headers.

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 9cac79b3 18-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
only release, no new features have been added.

Please note that this version requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.1/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.1/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month
X-MFC-With: 276479


# 268335d0 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang include files.

# e60e6417 13-Aug-2014 Dimitry Andric <dim@FreeBSD.org>

Stop telling people to directly report llvm or clang bugs upstream,
point them to the FreeBSD bug tracker instead, since we use our own
patches.

MFC after: 3 days

# 85d60e68 12-May-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4.1 release. This release contains
mostly fixes, for the following upstream bugs:

http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000
http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165
http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316
http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515
http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762
http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994
http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033
http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326

MFC after: 2 weeks


# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.

The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month


# 284c1978 12-Jun-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.3 release.

Release notes are still in the works, these will follow soon.

MFC after: 1 month


# 4b6b67b0 03-May-2013 Dimitry Andric <dim@FreeBSD.org>

Allow building clang on older FreeBSD releases, where log2() does not
exist yet. With this change, I have verified that building head on
8.1-RELEASE works.

Noticed by: Ryan Stone <rysto32@gmail.com>

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 3.3 release (branching and freezing expected in a few weeks).

Preliminary release notes can be found at the usual location:
<http://llvm.org/docs/ReleaseNotes.html>

An MFC is planned once the actual 3.3 release is finished.


# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# 7ae0e2c9 20-Aug-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r162107. With thanks to
Benjamin Kramer and Joerg Sonnenberger for their input and fixes.


# 64cc5073 23-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.1 release. Release notes can be
found at: http://llvm.org/releases/3.1/docs/ReleaseNotes.html

MFC after: 3 days


# cb4dff85 03-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r155985, from upstream's release_31
branch. This brings us very close to the 3.1 release, which is planned
for May 14th.

MFC after: 2 weeks


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# fd75cb79 17-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.

# 13051529 06-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

When one attempts to compile the tree with -march=i386, which also used
to be gcc's default before r198344, calls to atomic builtins will not be
expanded inline. Instead, they will be generated as calls to external
functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
on.

Put in a seatbelt that disables use of atomic builtins in libstdc++ and
llvm, when tuning specifically for the real i386 CPU. This does not
protect against all possible issues, but it is better than nothing.

# 6122f3e6 22-Oct-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r142614, from upstream's release_30
branch. This brings us very close to the 3.0 release, which is expected
in a week or two.

MFC after: 1 week


# 17a519f9 17-Jul-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r135360, from upstream's trunk.


# 3b0f4066 02-May-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r130700, from upstream's trunk.


# 86b360ad 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Instead of defining LLVM_MULTITHREADED as 0 or 1, define or undefine it,
and test appropriately. Otherwise it might erroneously pick up some
pthread primitives, and fail to link.

# 45cc80a7 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Update llvm's config.h files to match more closely what is generated by
a regular autoconf-based build. More cosmetic than functional changes.

# 2754fe60 20-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r126079, from upstream's trunk.

This contains many improvements, primarily better C++ support, an
integrated assembler for x86 and support for -pg.


# e580952d 20-Sep-2010 Dimitry Andric <dim@FreeBSD.org>

Upgrade our Clang in base to r114020, from upstream's release_28 branch.

Approved-by: rpaulo (mentor)


# 2a008fdd 12-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of posix_spawn() inside LLVM.

Even though it's nice to use posix_spawn() instead of manually using
fork()/exec(), it's better to disable this. FreeBSD 7 doesn't support
this interface. When enabled, we can't build tblgen, which prevents us
from building FreeBSD 9 on 7.

Tested by: raj

# 3e241e2e 09-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of __DATE__.

This ensures that the Clang binary doesn't change checksums every time
it's built.

# 47c832c3 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Import the build makefiles for clang/LLVM.

Approved by: ed (mentor)

# 894cb08f 03-May-2024 Dimitry Andric <dim@FreeBSD.org>

Fixup: Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9

Update version numbers, config headers, etc. Git tricked me into losing
these before pushing.

PR: 276104
Fixes: d67fc74b9249
MFC after: 3 days


# dfa39133 20-Apr-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6.

PR: 276104
MFC after: 3 days


# 439352ac 05-Apr-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879.

PR: 276104
MFC after: 1 month


# 4c2d3b02 10-Mar-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e.

PR: 276104
MFC after: 1 month


# 878ed495 26-Jan-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

PR: 276104
MFC after: 1 month


# 5f757f3f 18-Dec-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

PR: 276104
MFC after: 1 month


# 5c16e71d 30-Nov-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.6-0-g6009708b4367

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.6-0-g6009708b4367.

PR: 273753
MFC after: 1 month


# b121cb00 16-Nov-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.5-0-g98bfdac5ce82

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.5-0-g98bfdac5ce82.

PR: 273753
MFC after: 1 month


# bdb86d1a 21-Oct-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.3-0-g888437e1b600

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.3-0-g888437e1b600.

PR: 273753
MFC after: 1 month


# 4542f901 29-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.1-25-g098e653a5bed

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.1-25-g098e653a5bed.

PR: 273753
MFC after: 1 month


# 8a4dda33 11-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.0-rc4-10-g0176e8729ea4

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.0-rc4-10-g0176e8729ea4.

PR: 273753
MFC after: 1 month


# 06c3fb27 02-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the
last commit before the upstream release/17.x branch was created.

PR: 273753
MFC after: 1 month


# e048f78b 22-Jun-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.6-0-g7cbf1a259152

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.6-0-g7cbf1a259152 (aka 16.0.6 release).

PR: 271047
MFC after: 1 month


# 2efbaac7 04-Jun-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.5-0-g185b81e034ba

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.5-0-g185b81e034ba (aka 16.0.5 release).

PR: 271047
MFC after: 1 month


# a324c340 22-May-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.4-0-gae42196bc493 (aka 16.0.4 release).

PR: 271047
MFC after: 1 month


# cbe9438c 05-May-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.3-0-gda3cd333bea5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.3-0-gda3cd333bea5 (aka 16.0.3 release).

PR: 271047
MFC after: 1 month


# 9e7101a8 22-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.2-0-g18ddebe1a1a9

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.2-0-g18ddebe1a1a9 (aka 16.0.2 release).

PR: 271047
MFC after: 1 month


# 1ac55f4c 17-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.1-0-gcd89023f7979

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.1-0-gcd89023f7979 (aka 16.0.1 release).

PR: 271047
MFC after: 1 month


# bdd1243d 14-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16-init-18548-gb0daacf58f41.

PR: 271047
MFC after: 1 month


# 50d7464c 14-Jan-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6.

PR: 265425
MFC after: 2 weeks


# f3fd488f 04-Dec-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.6-0-g088f33605d8a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.6-0-g088f33605d8a.

PR: 265425
MFC after: 2 weeks


# 6246ae0b 16-Oct-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.2-10-gf3c5289e7846

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.2-10-gf3c5289e7846.

PR: 265425
MFC after: 2 weeks


# 972a253a 27-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before
the upstream release/16.x branch was created.

PR: 265425
MFC after: 2 weeks


# 81ad6265 04-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-15358-g53dc0f10787.

PR: 265425
MFC after: 2 weeks


# 56f451bb 12-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.5-0-gc12386ae247c

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.5-0-gc12386ae247c, aka 14.0.5 release.

PR: 261742
MFC after: 3 days


# 809922b0 05-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Update rest of llvm-project build glue for 14.0.4

I completely forgot about updating the generated llvm-project config
files, which also contain version numbers, etc. Sorry for the churn.

PR: 261742
Fixes: ab9d54731f43
MFC after: 3 days

# 3a9a9c0c 28-Apr-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.3-0-g1f9140064dfb.

PR: 261742
MFC after: 2 weeks


# d56accc7 18-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.0-rc1-74-g4dc3cb8e3255

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.0-rc1-74-g4dc3cb8e3255.

PR: 261742
MFC after: 2 weeks


# 1fd87a68 05-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before
the upstream release/14.x branch was created.

PR: 261742
MFC after: 2 weeks


# 04eeddc0 27-Jan-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-17616-g024a1fab5c35.

PR: 261742
MFC after: 2 weeks


# 5e801ac6 20-Nov-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-10223-g401b76fdf2b3.

PR: 261742
MFC after: 2 weeks


# 6e75b2fb 25-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR: 258209
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR: 258209
MFC after: 2 weeks


# 31ba4ce8 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping llvm-tblgen on macOS and Linux

This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan: Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By: dim
Differential Revision: https://reviews.freebsd.org/D31057

# 23408297 18-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.1 rc2

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.

PR: 255570
MFC after: 6 weeks


# f336b45e 16-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by: oh
PR: 255570
MFC after: 6 weeks

# d409305f 26-Apr-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR: 255570
MFC after: 6 weeks


# e8d8bef9 13-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the
upstream release/12.x branch was created.

PR: 255570
MFC after: 6 weeks


# eaeb601b 03-Jan-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
release/11.x llvmorg-11.0.1-rc2-0-g43ff75f2c3f (aka 11.0.1 rc2).

MFC after: 4 weeks
X-MFC-With: r364284


# 5f24ef21 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Update generated llvm-project related version headers, config.h files
and add a newly generated lldb Plugins.def file too.

# d65cd7a5 23-May-2020 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).

MFC after: 3 weeks


# 0b37c159 25-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

* Bump version numbers to 10.0.0
* Update UPDATING
* Update (Optional)ObsoleteFiles.inc
* Update VCS(Revision|Version) files
* Update generated config headers
* Update clang internal headers Makefile

# c14a5a88 22-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

Release notes for llvm, clang, lld and libc++ 9.0.1 will become
available here:

https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

PR: 240629
MFC after: 1 month


# 22f75ae7 02-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp
release_90 branch r369369, and update version numbers.


# 86aa9539 23-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Regenerate config and version headers.

# efc5c442 12-Jun-2019 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,
libunwind and openmp to the upstream release_80 branch r363030
(effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a
week or so.

MFC after: 2 weeks


# af44a011 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Now for the release_80 branch, update version numbers for llvm, clang
and lld, and regenerate config headers.

# 0bf31f1f 20-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update version numbers, and regenerate config headers for llvm, clang,
lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.

# 68948600 04-Nov-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r346007 (effectively 7.0.1 rc2), resolve conflicts, and bump version
numbers.

PR: 230240, 230355


# 7726714d 17-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r339999, resolve conflicts, and bump version numbers.

PR: 230240,230355


# 6dfa117f 31-Jul-2018 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang version numbers in various files.

# e92a4205 24-Jul-2018 Ed Maste <emaste@FreeBSD.org>

llvm: remove __FreeBSD_version conditionals

All supported FreeBSD build host versions have backtrace.h, so we can
just eliminate that test. For futimes() we can test the compiler's
built-in __FreeBSD__ major version rather than relying on including
osreldate.h. This should reduce the frequency with which Clang gets
rebuilt when building world.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation

# fbfca78e 30-Jun-2018 Dimitry Andric <dim@FreeBSD.org>

Follow-up to r335799 (llvm/clang 6.0.1 update), by regenerating various
headers with new version information defines.

MFC after: 2 weeks
X-MFC-With: r335799

# 30785c0e 06-Jan-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788,
update build glue and version numbers.


# 02d2ad99 20-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Update generated config headers, and version numbers.

# d4419f6f 02-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from the
upstream release_50 branch. This corresponds to 5.0.1 rc2.

MFC after: 2 weeks


# edd7eadd 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and update
build glue.


# 7d9e99b6 05-May-2017 Dimitry Andric <dim@FreeBSD.org>

Regenerate llvm's config.h file.

# 5897d2f0 17-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Initial update of clang/llvm build glue, for building just a minimal
clang executable.

# f1a29dd3 14-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld and lldb release_40 branch r292009. Also update
build glue.


# 09bfd043 03-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Initial updates to llvm/clang build glue.

# 5b41a5b6 25-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for llvm/clang 3.9.1.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# 42d8074a 16-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 250e909a 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Update clang's Version.inc file, and regenerate various generated
configuration headers (these used to be generated by autoconf, but
upstream has deprecated autoconf in favor of CMake).

# 9a4b3118 25-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang and llvm to 3.7.1 release. This is a
bugfix-only release, with no new features.

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# e9ae0170 18-Oct-2015 Dimitry Andric <dim@FreeBSD.org>

Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway. You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.

# b6c25e0e 06-Sep-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm, clang and lldb to 3.7.0 release.


# cc38b640 23-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 97bc6c73 10-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r239412.


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# ef6fa9e2 25-May-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.6.1 release.

This release contains the following cherry-picked revisions from
upstream trunk:

226124 226151 226164 226165 226166 226407 226408 226409 226652
226905 226983 227084 227087 227089 227208 227209 227210 227211
227212 227213 227214 227269 227430 227482 227503 227519 227574
227822 227986 227987 227988 227989 227990 228037 228038 228039
228040 228188 228189 228190 228273 228372 228373 228374 228403
228765 228848 228918 229223 229225 229226 229227 229228 229230
229234 229235 229236 229238 229239 229413 229507 229680 229750
229751 229752 229911 230146 230147 230235 230253 230255 230469
230500 230564 230603 230657 230742 230748 230956 231219 231237
231245 231259 231280 231451 231563 231601 231658 231659 231662
231984 231986 232046 232085 232142 232176 232179 232189 232382
232386 232389 232425 232438 232443 232675 232786 232797 232943
232957 233075 233080 233351 233353 233409 233410 233508 233584
233819 233904 234629 234636 234891 234975 234977 235524 235641
235662 235931 236099 236306 236307

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# 09de9530 26-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Minor updates to llvm's pregenerated config headers.

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 9cac79b3 18-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
only release, no new features have been added.

Please note that this version requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.1/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.1/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month
X-MFC-With: 276479


# 268335d0 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang include files.

# e60e6417 13-Aug-2014 Dimitry Andric <dim@FreeBSD.org>

Stop telling people to directly report llvm or clang bugs upstream,
point them to the FreeBSD bug tracker instead, since we use our own
patches.

MFC after: 3 days

# 85d60e68 12-May-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4.1 release. This release contains
mostly fixes, for the following upstream bugs:

http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000
http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165
http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316
http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515
http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762
http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994
http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033
http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326

MFC after: 2 weeks


# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.

The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month


# 284c1978 12-Jun-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.3 release.

Release notes are still in the works, these will follow soon.

MFC after: 1 month


# 4b6b67b0 03-May-2013 Dimitry Andric <dim@FreeBSD.org>

Allow building clang on older FreeBSD releases, where log2() does not
exist yet. With this change, I have verified that building head on
8.1-RELEASE works.

Noticed by: Ryan Stone <rysto32@gmail.com>

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 3.3 release (branching and freezing expected in a few weeks).

Preliminary release notes can be found at the usual location:
<http://llvm.org/docs/ReleaseNotes.html>

An MFC is planned once the actual 3.3 release is finished.


# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# 7ae0e2c9 20-Aug-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r162107. With thanks to
Benjamin Kramer and Joerg Sonnenberger for their input and fixes.


# 64cc5073 23-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.1 release. Release notes can be
found at: http://llvm.org/releases/3.1/docs/ReleaseNotes.html

MFC after: 3 days


# cb4dff85 03-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r155985, from upstream's release_31
branch. This brings us very close to the 3.1 release, which is planned
for May 14th.

MFC after: 2 weeks


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# fd75cb79 17-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.

# 13051529 06-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

When one attempts to compile the tree with -march=i386, which also used
to be gcc's default before r198344, calls to atomic builtins will not be
expanded inline. Instead, they will be generated as calls to external
functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
on.

Put in a seatbelt that disables use of atomic builtins in libstdc++ and
llvm, when tuning specifically for the real i386 CPU. This does not
protect against all possible issues, but it is better than nothing.

# 6122f3e6 22-Oct-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r142614, from upstream's release_30
branch. This brings us very close to the 3.0 release, which is expected
in a week or two.

MFC after: 1 week


# 17a519f9 17-Jul-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r135360, from upstream's trunk.


# 3b0f4066 02-May-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r130700, from upstream's trunk.


# 86b360ad 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Instead of defining LLVM_MULTITHREADED as 0 or 1, define or undefine it,
and test appropriately. Otherwise it might erroneously pick up some
pthread primitives, and fail to link.

# 45cc80a7 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Update llvm's config.h files to match more closely what is generated by
a regular autoconf-based build. More cosmetic than functional changes.

# 2754fe60 20-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r126079, from upstream's trunk.

This contains many improvements, primarily better C++ support, an
integrated assembler for x86 and support for -pg.


# e580952d 20-Sep-2010 Dimitry Andric <dim@FreeBSD.org>

Upgrade our Clang in base to r114020, from upstream's release_28 branch.

Approved-by: rpaulo (mentor)


# 2a008fdd 12-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of posix_spawn() inside LLVM.

Even though it's nice to use posix_spawn() instead of manually using
fork()/exec(), it's better to disable this. FreeBSD 7 doesn't support
this interface. When enabled, we can't build tblgen, which prevents us
from building FreeBSD 9 on 7.

Tested by: raj

# 3e241e2e 09-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of __DATE__.

This ensures that the Clang binary doesn't change checksums every time
it's built.

# 47c832c3 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Import the build makefiles for clang/LLVM.

Approved by: ed (mentor)

# 5c16e71d 30-Nov-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.6-0-g6009708b4367

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.6-0-g6009708b4367.

PR: 273753
MFC after: 1 month


# b121cb00 16-Nov-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.5-0-g98bfdac5ce82

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.5-0-g98bfdac5ce82.

PR: 273753
MFC after: 1 month


# bdb86d1a 21-Oct-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.3-0-g888437e1b600

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.3-0-g888437e1b600.

PR: 273753
MFC after: 1 month


# 4542f901 29-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.1-25-g098e653a5bed

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.1-25-g098e653a5bed.

PR: 273753
MFC after: 1 month


# 8a4dda33 11-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/17.x llvmorg-17.0.0-rc4-10-g0176e8729ea4

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-17.0.0-rc4-10-g0176e8729ea4.

PR: 273753
MFC after: 1 month


# 06c3fb27 02-Sep-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the
last commit before the upstream release/17.x branch was created.

PR: 273753
MFC after: 1 month


# e048f78b 22-Jun-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.6-0-g7cbf1a259152

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.6-0-g7cbf1a259152 (aka 16.0.6 release).

PR: 271047
MFC after: 1 month


# 2efbaac7 04-Jun-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.5-0-g185b81e034ba

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.5-0-g185b81e034ba (aka 16.0.5 release).

PR: 271047
MFC after: 1 month


# a324c340 22-May-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.4-0-gae42196bc493 (aka 16.0.4 release).

PR: 271047
MFC after: 1 month


# cbe9438c 05-May-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.3-0-gda3cd333bea5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.3-0-gda3cd333bea5 (aka 16.0.3 release).

PR: 271047
MFC after: 1 month


# 9e7101a8 22-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.2-0-g18ddebe1a1a9

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.2-0-g18ddebe1a1a9 (aka 16.0.2 release).

PR: 271047
MFC after: 1 month


# 1ac55f4c 17-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.1-0-gcd89023f7979

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.1-0-gcd89023f7979 (aka 16.0.1 release).

PR: 271047
MFC after: 1 month


# bdd1243d 14-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16-init-18548-gb0daacf58f41.

PR: 271047
MFC after: 1 month


# 50d7464c 14-Jan-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6.

PR: 265425
MFC after: 2 weeks


# f3fd488f 04-Dec-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.6-0-g088f33605d8a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.6-0-g088f33605d8a.

PR: 265425
MFC after: 2 weeks


# 6246ae0b 16-Oct-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.2-10-gf3c5289e7846

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.2-10-gf3c5289e7846.

PR: 265425
MFC after: 2 weeks


# 972a253a 27-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before
the upstream release/16.x branch was created.

PR: 265425
MFC after: 2 weeks


# 81ad6265 04-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-15358-g53dc0f10787.

PR: 265425
MFC after: 2 weeks


# 56f451bb 12-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.5-0-gc12386ae247c

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.5-0-gc12386ae247c, aka 14.0.5 release.

PR: 261742
MFC after: 3 days


# 809922b0 05-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Update rest of llvm-project build glue for 14.0.4

I completely forgot about updating the generated llvm-project config
files, which also contain version numbers, etc. Sorry for the churn.

PR: 261742
Fixes: ab9d54731f43
MFC after: 3 days

# 3a9a9c0c 28-Apr-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.3-0-g1f9140064dfb.

PR: 261742
MFC after: 2 weeks


# d56accc7 18-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.0-rc1-74-g4dc3cb8e3255

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.0-rc1-74-g4dc3cb8e3255.

PR: 261742
MFC after: 2 weeks


# 1fd87a68 05-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before
the upstream release/14.x branch was created.

PR: 261742
MFC after: 2 weeks


# 04eeddc0 27-Jan-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-17616-g024a1fab5c35.

PR: 261742
MFC after: 2 weeks


# 5e801ac6 20-Nov-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-10223-g401b76fdf2b3.

PR: 261742
MFC after: 2 weeks


# 6e75b2fb 25-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR: 258209
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR: 258209
MFC after: 2 weeks


# 31ba4ce8 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping llvm-tblgen on macOS and Linux

This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan: Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By: dim
Differential Revision: https://reviews.freebsd.org/D31057

# 23408297 18-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.1 rc2

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.

PR: 255570
MFC after: 6 weeks


# f336b45e 16-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by: oh
PR: 255570
MFC after: 6 weeks

# d409305f 26-Apr-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR: 255570
MFC after: 6 weeks


# e8d8bef9 13-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the
upstream release/12.x branch was created.

PR: 255570
MFC after: 6 weeks


# eaeb601b 03-Jan-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
release/11.x llvmorg-11.0.1-rc2-0-g43ff75f2c3f (aka 11.0.1 rc2).

MFC after: 4 weeks
X-MFC-With: r364284


# 5f24ef21 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Update generated llvm-project related version headers, config.h files
and add a newly generated lldb Plugins.def file too.

# d65cd7a5 23-May-2020 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).

MFC after: 3 weeks


# 0b37c159 25-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

* Bump version numbers to 10.0.0
* Update UPDATING
* Update (Optional)ObsoleteFiles.inc
* Update VCS(Revision|Version) files
* Update generated config headers
* Update clang internal headers Makefile

# c14a5a88 22-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

Release notes for llvm, clang, lld and libc++ 9.0.1 will become
available here:

https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

PR: 240629
MFC after: 1 month


# 22f75ae7 02-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp
release_90 branch r369369, and update version numbers.


# 86aa9539 23-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Regenerate config and version headers.

# efc5c442 12-Jun-2019 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,
libunwind and openmp to the upstream release_80 branch r363030
(effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a
week or so.

MFC after: 2 weeks


# af44a011 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Now for the release_80 branch, update version numbers for llvm, clang
and lld, and regenerate config headers.

# 0bf31f1f 20-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update version numbers, and regenerate config headers for llvm, clang,
lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.

# 68948600 04-Nov-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r346007 (effectively 7.0.1 rc2), resolve conflicts, and bump version
numbers.

PR: 230240, 230355


# 7726714d 17-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r339999, resolve conflicts, and bump version numbers.

PR: 230240,230355


# 6dfa117f 31-Jul-2018 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang version numbers in various files.

# e92a4205 24-Jul-2018 Ed Maste <emaste@FreeBSD.org>

llvm: remove __FreeBSD_version conditionals

All supported FreeBSD build host versions have backtrace.h, so we can
just eliminate that test. For futimes() we can test the compiler's
built-in __FreeBSD__ major version rather than relying on including
osreldate.h. This should reduce the frequency with which Clang gets
rebuilt when building world.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation

# fbfca78e 30-Jun-2018 Dimitry Andric <dim@FreeBSD.org>

Follow-up to r335799 (llvm/clang 6.0.1 update), by regenerating various
headers with new version information defines.

MFC after: 2 weeks
X-MFC-With: r335799

# 30785c0e 06-Jan-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788,
update build glue and version numbers.


# 02d2ad99 20-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Update generated config headers, and version numbers.

# d4419f6f 02-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from the
upstream release_50 branch. This corresponds to 5.0.1 rc2.

MFC after: 2 weeks


# edd7eadd 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and update
build glue.


# 7d9e99b6 05-May-2017 Dimitry Andric <dim@FreeBSD.org>

Regenerate llvm's config.h file.

# 5897d2f0 17-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Initial update of clang/llvm build glue, for building just a minimal
clang executable.

# f1a29dd3 14-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld and lldb release_40 branch r292009. Also update
build glue.


# 09bfd043 03-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Initial updates to llvm/clang build glue.

# 5b41a5b6 25-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for llvm/clang 3.9.1.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# 42d8074a 16-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 250e909a 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Update clang's Version.inc file, and regenerate various generated
configuration headers (these used to be generated by autoconf, but
upstream has deprecated autoconf in favor of CMake).

# 9a4b3118 25-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang and llvm to 3.7.1 release. This is a
bugfix-only release, with no new features.

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# e9ae0170 18-Oct-2015 Dimitry Andric <dim@FreeBSD.org>

Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway. You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.

# b6c25e0e 06-Sep-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm, clang and lldb to 3.7.0 release.


# cc38b640 23-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 97bc6c73 10-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r239412.


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# ef6fa9e2 25-May-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.6.1 release.

This release contains the following cherry-picked revisions from
upstream trunk:

226124 226151 226164 226165 226166 226407 226408 226409 226652
226905 226983 227084 227087 227089 227208 227209 227210 227211
227212 227213 227214 227269 227430 227482 227503 227519 227574
227822 227986 227987 227988 227989 227990 228037 228038 228039
228040 228188 228189 228190 228273 228372 228373 228374 228403
228765 228848 228918 229223 229225 229226 229227 229228 229230
229234 229235 229236 229238 229239 229413 229507 229680 229750
229751 229752 229911 230146 230147 230235 230253 230255 230469
230500 230564 230603 230657 230742 230748 230956 231219 231237
231245 231259 231280 231451 231563 231601 231658 231659 231662
231984 231986 232046 232085 232142 232176 232179 232189 232382
232386 232389 232425 232438 232443 232675 232786 232797 232943
232957 233075 233080 233351 233353 233409 233410 233508 233584
233819 233904 234629 234636 234891 234975 234977 235524 235641
235662 235931 236099 236306 236307

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# 09de9530 26-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Minor updates to llvm's pregenerated config headers.

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 9cac79b3 18-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
only release, no new features have been added.

Please note that this version requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.1/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.1/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month
X-MFC-With: 276479


# 268335d0 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang include files.

# e60e6417 13-Aug-2014 Dimitry Andric <dim@FreeBSD.org>

Stop telling people to directly report llvm or clang bugs upstream,
point them to the FreeBSD bug tracker instead, since we use our own
patches.

MFC after: 3 days

# 85d60e68 12-May-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4.1 release. This release contains
mostly fixes, for the following upstream bugs:

http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000
http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165
http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316
http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515
http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762
http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994
http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033
http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326

MFC after: 2 weeks


# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.

The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month


# 284c1978 12-Jun-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.3 release.

Release notes are still in the works, these will follow soon.

MFC after: 1 month


# 4b6b67b0 03-May-2013 Dimitry Andric <dim@FreeBSD.org>

Allow building clang on older FreeBSD releases, where log2() does not
exist yet. With this change, I have verified that building head on
8.1-RELEASE works.

Noticed by: Ryan Stone <rysto32@gmail.com>

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 3.3 release (branching and freezing expected in a few weeks).

Preliminary release notes can be found at the usual location:
<http://llvm.org/docs/ReleaseNotes.html>

An MFC is planned once the actual 3.3 release is finished.


# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# 7ae0e2c9 20-Aug-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r162107. With thanks to
Benjamin Kramer and Joerg Sonnenberger for their input and fixes.


# 64cc5073 23-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.1 release. Release notes can be
found at: http://llvm.org/releases/3.1/docs/ReleaseNotes.html

MFC after: 3 days


# cb4dff85 03-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r155985, from upstream's release_31
branch. This brings us very close to the 3.1 release, which is planned
for May 14th.

MFC after: 2 weeks


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# fd75cb79 17-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.

# 13051529 06-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

When one attempts to compile the tree with -march=i386, which also used
to be gcc's default before r198344, calls to atomic builtins will not be
expanded inline. Instead, they will be generated as calls to external
functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
on.

Put in a seatbelt that disables use of atomic builtins in libstdc++ and
llvm, when tuning specifically for the real i386 CPU. This does not
protect against all possible issues, but it is better than nothing.

# 6122f3e6 22-Oct-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r142614, from upstream's release_30
branch. This brings us very close to the 3.0 release, which is expected
in a week or two.

MFC after: 1 week


# 17a519f9 17-Jul-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r135360, from upstream's trunk.


# 3b0f4066 02-May-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r130700, from upstream's trunk.


# 86b360ad 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Instead of defining LLVM_MULTITHREADED as 0 or 1, define or undefine it,
and test appropriately. Otherwise it might erroneously pick up some
pthread primitives, and fail to link.

# 45cc80a7 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Update llvm's config.h files to match more closely what is generated by
a regular autoconf-based build. More cosmetic than functional changes.

# 2754fe60 20-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r126079, from upstream's trunk.

This contains many improvements, primarily better C++ support, an
integrated assembler for x86 and support for -pg.


# e580952d 20-Sep-2010 Dimitry Andric <dim@FreeBSD.org>

Upgrade our Clang in base to r114020, from upstream's release_28 branch.

Approved-by: rpaulo (mentor)


# 2a008fdd 12-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of posix_spawn() inside LLVM.

Even though it's nice to use posix_spawn() instead of manually using
fork()/exec(), it's better to disable this. FreeBSD 7 doesn't support
this interface. When enabled, we can't build tblgen, which prevents us
from building FreeBSD 9 on 7.

Tested by: raj

# 3e241e2e 09-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of __DATE__.

This ensures that the Clang binary doesn't change checksums every time
it's built.

# 47c832c3 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Import the build makefiles for clang/LLVM.

Approved by: ed (mentor)

# e048f78b 22-Jun-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.6-0-g7cbf1a259152

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.6-0-g7cbf1a259152 (aka 16.0.6 release).

PR: 271047
MFC after: 1 month


# 2efbaac7 04-Jun-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.5-0-g185b81e034ba

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.5-0-g185b81e034ba (aka 16.0.5 release).

PR: 271047
MFC after: 1 month


# a324c340 22-May-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.4-0-gae42196bc493 (aka 16.0.4 release).

PR: 271047
MFC after: 1 month


# cbe9438c 05-May-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.3-0-gda3cd333bea5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.3-0-gda3cd333bea5 (aka 16.0.3 release).

PR: 271047
MFC after: 1 month


# 9e7101a8 22-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.2-0-g18ddebe1a1a9

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.2-0-g18ddebe1a1a9 (aka 16.0.2 release).

PR: 271047
MFC after: 1 month


# 1ac55f4c 17-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/16.x llvmorg-16.0.1-0-gcd89023f7979

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.1-0-gcd89023f7979 (aka 16.0.1 release).

PR: 271047
MFC after: 1 month


# bdd1243d 14-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16-init-18548-gb0daacf58f41.

PR: 271047
MFC after: 1 month


# 50d7464c 14-Jan-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6.

PR: 265425
MFC after: 2 weeks


# f3fd488f 04-Dec-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.6-0-g088f33605d8a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.6-0-g088f33605d8a.

PR: 265425
MFC after: 2 weeks


# 6246ae0b 16-Oct-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.2-10-gf3c5289e7846

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.2-10-gf3c5289e7846.

PR: 265425
MFC after: 2 weeks


# 972a253a 27-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before
the upstream release/16.x branch was created.

PR: 265425
MFC after: 2 weeks


# 81ad6265 04-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-15358-g53dc0f10787.

PR: 265425
MFC after: 2 weeks


# 56f451bb 12-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.5-0-gc12386ae247c

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.5-0-gc12386ae247c, aka 14.0.5 release.

PR: 261742
MFC after: 3 days


# 809922b0 05-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Update rest of llvm-project build glue for 14.0.4

I completely forgot about updating the generated llvm-project config
files, which also contain version numbers, etc. Sorry for the churn.

PR: 261742
Fixes: ab9d54731f43
MFC after: 3 days

# 3a9a9c0c 28-Apr-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.3-0-g1f9140064dfb.

PR: 261742
MFC after: 2 weeks


# d56accc7 18-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.0-rc1-74-g4dc3cb8e3255

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.0-rc1-74-g4dc3cb8e3255.

PR: 261742
MFC after: 2 weeks


# 1fd87a68 05-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before
the upstream release/14.x branch was created.

PR: 261742
MFC after: 2 weeks


# 04eeddc0 27-Jan-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-17616-g024a1fab5c35.

PR: 261742
MFC after: 2 weeks


# 5e801ac6 20-Nov-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-10223-g401b76fdf2b3.

PR: 261742
MFC after: 2 weeks


# 6e75b2fb 25-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR: 258209
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR: 258209
MFC after: 2 weeks


# 31ba4ce8 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping llvm-tblgen on macOS and Linux

This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan: Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By: dim
Differential Revision: https://reviews.freebsd.org/D31057

# 23408297 18-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.1 rc2

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.

PR: 255570
MFC after: 6 weeks


# f336b45e 16-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by: oh
PR: 255570
MFC after: 6 weeks

# d409305f 26-Apr-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR: 255570
MFC after: 6 weeks


# e8d8bef9 13-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the
upstream release/12.x branch was created.

PR: 255570
MFC after: 6 weeks


# eaeb601b 03-Jan-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
release/11.x llvmorg-11.0.1-rc2-0-g43ff75f2c3f (aka 11.0.1 rc2).

MFC after: 4 weeks
X-MFC-With: r364284


# 5f24ef21 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Update generated llvm-project related version headers, config.h files
and add a newly generated lldb Plugins.def file too.

# d65cd7a5 23-May-2020 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).

MFC after: 3 weeks


# 0b37c159 25-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

* Bump version numbers to 10.0.0
* Update UPDATING
* Update (Optional)ObsoleteFiles.inc
* Update VCS(Revision|Version) files
* Update generated config headers
* Update clang internal headers Makefile

# c14a5a88 22-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

Release notes for llvm, clang, lld and libc++ 9.0.1 will become
available here:

https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

PR: 240629
MFC after: 1 month


# 22f75ae7 02-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp
release_90 branch r369369, and update version numbers.


# 86aa9539 23-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Regenerate config and version headers.

# efc5c442 12-Jun-2019 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,
libunwind and openmp to the upstream release_80 branch r363030
(effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a
week or so.

MFC after: 2 weeks


# af44a011 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Now for the release_80 branch, update version numbers for llvm, clang
and lld, and regenerate config headers.

# 0bf31f1f 20-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update version numbers, and regenerate config headers for llvm, clang,
lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.

# 68948600 04-Nov-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r346007 (effectively 7.0.1 rc2), resolve conflicts, and bump version
numbers.

PR: 230240, 230355


# 7726714d 17-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r339999, resolve conflicts, and bump version numbers.

PR: 230240,230355


# 6dfa117f 31-Jul-2018 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang version numbers in various files.

# e92a4205 24-Jul-2018 Ed Maste <emaste@FreeBSD.org>

llvm: remove __FreeBSD_version conditionals

All supported FreeBSD build host versions have backtrace.h, so we can
just eliminate that test. For futimes() we can test the compiler's
built-in __FreeBSD__ major version rather than relying on including
osreldate.h. This should reduce the frequency with which Clang gets
rebuilt when building world.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation

# fbfca78e 30-Jun-2018 Dimitry Andric <dim@FreeBSD.org>

Follow-up to r335799 (llvm/clang 6.0.1 update), by regenerating various
headers with new version information defines.

MFC after: 2 weeks
X-MFC-With: r335799

# 30785c0e 06-Jan-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788,
update build glue and version numbers.


# 02d2ad99 20-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Update generated config headers, and version numbers.

# d4419f6f 02-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from the
upstream release_50 branch. This corresponds to 5.0.1 rc2.

MFC after: 2 weeks


# edd7eadd 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and update
build glue.


# 7d9e99b6 05-May-2017 Dimitry Andric <dim@FreeBSD.org>

Regenerate llvm's config.h file.

# 5897d2f0 17-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Initial update of clang/llvm build glue, for building just a minimal
clang executable.

# f1a29dd3 14-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld and lldb release_40 branch r292009. Also update
build glue.


# 09bfd043 03-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Initial updates to llvm/clang build glue.

# 5b41a5b6 25-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for llvm/clang 3.9.1.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# 42d8074a 16-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 250e909a 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Update clang's Version.inc file, and regenerate various generated
configuration headers (these used to be generated by autoconf, but
upstream has deprecated autoconf in favor of CMake).

# 9a4b3118 25-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang and llvm to 3.7.1 release. This is a
bugfix-only release, with no new features.

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# e9ae0170 18-Oct-2015 Dimitry Andric <dim@FreeBSD.org>

Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway. You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.

# b6c25e0e 06-Sep-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm, clang and lldb to 3.7.0 release.


# cc38b640 23-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 97bc6c73 10-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r239412.


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# ef6fa9e2 25-May-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.6.1 release.

This release contains the following cherry-picked revisions from
upstream trunk:

226124 226151 226164 226165 226166 226407 226408 226409 226652
226905 226983 227084 227087 227089 227208 227209 227210 227211
227212 227213 227214 227269 227430 227482 227503 227519 227574
227822 227986 227987 227988 227989 227990 228037 228038 228039
228040 228188 228189 228190 228273 228372 228373 228374 228403
228765 228848 228918 229223 229225 229226 229227 229228 229230
229234 229235 229236 229238 229239 229413 229507 229680 229750
229751 229752 229911 230146 230147 230235 230253 230255 230469
230500 230564 230603 230657 230742 230748 230956 231219 231237
231245 231259 231280 231451 231563 231601 231658 231659 231662
231984 231986 232046 232085 232142 232176 232179 232189 232382
232386 232389 232425 232438 232443 232675 232786 232797 232943
232957 233075 233080 233351 233353 233409 233410 233508 233584
233819 233904 234629 234636 234891 234975 234977 235524 235641
235662 235931 236099 236306 236307

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# 09de9530 26-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Minor updates to llvm's pregenerated config headers.

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 9cac79b3 18-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
only release, no new features have been added.

Please note that this version requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.1/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.1/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month
X-MFC-With: 276479


# 268335d0 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang include files.

# e60e6417 13-Aug-2014 Dimitry Andric <dim@FreeBSD.org>

Stop telling people to directly report llvm or clang bugs upstream,
point them to the FreeBSD bug tracker instead, since we use our own
patches.

MFC after: 3 days

# 85d60e68 12-May-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4.1 release. This release contains
mostly fixes, for the following upstream bugs:

http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000
http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165
http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316
http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515
http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762
http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994
http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033
http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326

MFC after: 2 weeks


# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.

The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month


# 284c1978 12-Jun-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.3 release.

Release notes are still in the works, these will follow soon.

MFC after: 1 month


# 4b6b67b0 03-May-2013 Dimitry Andric <dim@FreeBSD.org>

Allow building clang on older FreeBSD releases, where log2() does not
exist yet. With this change, I have verified that building head on
8.1-RELEASE works.

Noticed by: Ryan Stone <rysto32@gmail.com>

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 3.3 release (branching and freezing expected in a few weeks).

Preliminary release notes can be found at the usual location:
<http://llvm.org/docs/ReleaseNotes.html>

An MFC is planned once the actual 3.3 release is finished.


# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# 7ae0e2c9 20-Aug-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r162107. With thanks to
Benjamin Kramer and Joerg Sonnenberger for their input and fixes.


# 64cc5073 23-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.1 release. Release notes can be
found at: http://llvm.org/releases/3.1/docs/ReleaseNotes.html

MFC after: 3 days


# cb4dff85 03-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r155985, from upstream's release_31
branch. This brings us very close to the 3.1 release, which is planned
for May 14th.

MFC after: 2 weeks


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# fd75cb79 17-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.

# 13051529 06-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

When one attempts to compile the tree with -march=i386, which also used
to be gcc's default before r198344, calls to atomic builtins will not be
expanded inline. Instead, they will be generated as calls to external
functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
on.

Put in a seatbelt that disables use of atomic builtins in libstdc++ and
llvm, when tuning specifically for the real i386 CPU. This does not
protect against all possible issues, but it is better than nothing.

# 6122f3e6 22-Oct-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r142614, from upstream's release_30
branch. This brings us very close to the 3.0 release, which is expected
in a week or two.

MFC after: 1 week


# 17a519f9 17-Jul-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r135360, from upstream's trunk.


# 3b0f4066 02-May-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r130700, from upstream's trunk.


# 86b360ad 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Instead of defining LLVM_MULTITHREADED as 0 or 1, define or undefine it,
and test appropriately. Otherwise it might erroneously pick up some
pthread primitives, and fail to link.

# 45cc80a7 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Update llvm's config.h files to match more closely what is generated by
a regular autoconf-based build. More cosmetic than functional changes.

# 2754fe60 20-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r126079, from upstream's trunk.

This contains many improvements, primarily better C++ support, an
integrated assembler for x86 and support for -pg.


# e580952d 20-Sep-2010 Dimitry Andric <dim@FreeBSD.org>

Upgrade our Clang in base to r114020, from upstream's release_28 branch.

Approved-by: rpaulo (mentor)


# 2a008fdd 12-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of posix_spawn() inside LLVM.

Even though it's nice to use posix_spawn() instead of manually using
fork()/exec(), it's better to disable this. FreeBSD 7 doesn't support
this interface. When enabled, we can't build tblgen, which prevents us
from building FreeBSD 9 on 7.

Tested by: raj

# 3e241e2e 09-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of __DATE__.

This ensures that the Clang binary doesn't change checksums every time
it's built.

# 47c832c3 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Import the build makefiles for clang/LLVM.

Approved by: ed (mentor)

# 50d7464c 14-Jan-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6.

PR: 265425
MFC after: 2 weeks


# f3fd488f 04-Dec-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.6-0-g088f33605d8a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.6-0-g088f33605d8a.

PR: 265425
MFC after: 2 weeks


# 6246ae0b 16-Oct-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/15.x llvmorg-15.0.2-10-gf3c5289e7846

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15.0.2-10-gf3c5289e7846.

PR: 265425
MFC after: 2 weeks


# 972a253a 27-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before
the upstream release/16.x branch was created.

PR: 265425
MFC after: 2 weeks


# 81ad6265 04-Jul-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-15358-g53dc0f10787.

PR: 265425
MFC after: 2 weeks


# 56f451bb 12-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.5-0-gc12386ae247c

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.5-0-gc12386ae247c, aka 14.0.5 release.

PR: 261742
MFC after: 3 days


# 809922b0 05-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Update rest of llvm-project build glue for 14.0.4

I completely forgot about updating the generated llvm-project config
files, which also contain version numbers, etc. Sorry for the churn.

PR: 261742
Fixes: ab9d54731f43
MFC after: 3 days

# 3a9a9c0c 28-Apr-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.3-0-g1f9140064dfb.

PR: 261742
MFC after: 2 weeks


# d56accc7 18-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.0-rc1-74-g4dc3cb8e3255

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.0-rc1-74-g4dc3cb8e3255.

PR: 261742
MFC after: 2 weeks


# 1fd87a68 05-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before
the upstream release/14.x branch was created.

PR: 261742
MFC after: 2 weeks


# 04eeddc0 27-Jan-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-17616-g024a1fab5c35.

PR: 261742
MFC after: 2 weeks


# 5e801ac6 20-Nov-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-10223-g401b76fdf2b3.

PR: 261742
MFC after: 2 weeks


# 6e75b2fb 25-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR: 258209
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR: 258209
MFC after: 2 weeks


# 31ba4ce8 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping llvm-tblgen on macOS and Linux

This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan: Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By: dim
Differential Revision: https://reviews.freebsd.org/D31057

# 23408297 18-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.1 rc2

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.

PR: 255570
MFC after: 6 weeks


# f336b45e 16-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by: oh
PR: 255570
MFC after: 6 weeks

# d409305f 26-Apr-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR: 255570
MFC after: 6 weeks


# e8d8bef9 13-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the
upstream release/12.x branch was created.

PR: 255570
MFC after: 6 weeks


# eaeb601b 03-Jan-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
release/11.x llvmorg-11.0.1-rc2-0-g43ff75f2c3f (aka 11.0.1 rc2).

MFC after: 4 weeks
X-MFC-With: r364284


# 5f24ef21 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Update generated llvm-project related version headers, config.h files
and add a newly generated lldb Plugins.def file too.

# d65cd7a5 23-May-2020 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).

MFC after: 3 weeks


# 0b37c159 25-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

* Bump version numbers to 10.0.0
* Update UPDATING
* Update (Optional)ObsoleteFiles.inc
* Update VCS(Revision|Version) files
* Update generated config headers
* Update clang internal headers Makefile

# c14a5a88 22-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

Release notes for llvm, clang, lld and libc++ 9.0.1 will become
available here:

https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

PR: 240629
MFC after: 1 month


# 22f75ae7 02-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp
release_90 branch r369369, and update version numbers.


# 86aa9539 23-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Regenerate config and version headers.

# efc5c442 12-Jun-2019 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,
libunwind and openmp to the upstream release_80 branch r363030
(effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a
week or so.

MFC after: 2 weeks


# af44a011 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Now for the release_80 branch, update version numbers for llvm, clang
and lld, and regenerate config headers.

# 0bf31f1f 20-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update version numbers, and regenerate config headers for llvm, clang,
lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.

# 68948600 04-Nov-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r346007 (effectively 7.0.1 rc2), resolve conflicts, and bump version
numbers.

PR: 230240, 230355


# 7726714d 17-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r339999, resolve conflicts, and bump version numbers.

PR: 230240,230355


# 6dfa117f 31-Jul-2018 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang version numbers in various files.

# e92a4205 24-Jul-2018 Ed Maste <emaste@FreeBSD.org>

llvm: remove __FreeBSD_version conditionals

All supported FreeBSD build host versions have backtrace.h, so we can
just eliminate that test. For futimes() we can test the compiler's
built-in __FreeBSD__ major version rather than relying on including
osreldate.h. This should reduce the frequency with which Clang gets
rebuilt when building world.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation

# fbfca78e 30-Jun-2018 Dimitry Andric <dim@FreeBSD.org>

Follow-up to r335799 (llvm/clang 6.0.1 update), by regenerating various
headers with new version information defines.

MFC after: 2 weeks
X-MFC-With: r335799

# 30785c0e 06-Jan-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788,
update build glue and version numbers.


# 02d2ad99 20-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Update generated config headers, and version numbers.

# d4419f6f 02-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from the
upstream release_50 branch. This corresponds to 5.0.1 rc2.

MFC after: 2 weeks


# edd7eadd 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and update
build glue.


# 7d9e99b6 05-May-2017 Dimitry Andric <dim@FreeBSD.org>

Regenerate llvm's config.h file.

# 5897d2f0 17-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Initial update of clang/llvm build glue, for building just a minimal
clang executable.

# f1a29dd3 14-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld and lldb release_40 branch r292009. Also update
build glue.


# 09bfd043 03-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Initial updates to llvm/clang build glue.

# 5b41a5b6 25-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for llvm/clang 3.9.1.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# 42d8074a 16-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 250e909a 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Update clang's Version.inc file, and regenerate various generated
configuration headers (these used to be generated by autoconf, but
upstream has deprecated autoconf in favor of CMake).

# 9a4b3118 25-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang and llvm to 3.7.1 release. This is a
bugfix-only release, with no new features.

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# e9ae0170 18-Oct-2015 Dimitry Andric <dim@FreeBSD.org>

Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway. You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.

# b6c25e0e 06-Sep-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm, clang and lldb to 3.7.0 release.


# cc38b640 23-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 97bc6c73 10-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r239412.


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# ef6fa9e2 25-May-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.6.1 release.

This release contains the following cherry-picked revisions from
upstream trunk:

226124 226151 226164 226165 226166 226407 226408 226409 226652
226905 226983 227084 227087 227089 227208 227209 227210 227211
227212 227213 227214 227269 227430 227482 227503 227519 227574
227822 227986 227987 227988 227989 227990 228037 228038 228039
228040 228188 228189 228190 228273 228372 228373 228374 228403
228765 228848 228918 229223 229225 229226 229227 229228 229230
229234 229235 229236 229238 229239 229413 229507 229680 229750
229751 229752 229911 230146 230147 230235 230253 230255 230469
230500 230564 230603 230657 230742 230748 230956 231219 231237
231245 231259 231280 231451 231563 231601 231658 231659 231662
231984 231986 232046 232085 232142 232176 232179 232189 232382
232386 232389 232425 232438 232443 232675 232786 232797 232943
232957 233075 233080 233351 233353 233409 233410 233508 233584
233819 233904 234629 234636 234891 234975 234977 235524 235641
235662 235931 236099 236306 236307

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# 09de9530 26-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Minor updates to llvm's pregenerated config headers.

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 9cac79b3 18-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
only release, no new features have been added.

Please note that this version requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.1/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.1/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month
X-MFC-With: 276479


# 268335d0 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang include files.

# e60e6417 13-Aug-2014 Dimitry Andric <dim@FreeBSD.org>

Stop telling people to directly report llvm or clang bugs upstream,
point them to the FreeBSD bug tracker instead, since we use our own
patches.

MFC after: 3 days

# 85d60e68 12-May-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4.1 release. This release contains
mostly fixes, for the following upstream bugs:

http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000
http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165
http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316
http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515
http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762
http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994
http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033
http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326

MFC after: 2 weeks


# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.

The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month


# 284c1978 12-Jun-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.3 release.

Release notes are still in the works, these will follow soon.

MFC after: 1 month


# 4b6b67b0 03-May-2013 Dimitry Andric <dim@FreeBSD.org>

Allow building clang on older FreeBSD releases, where log2() does not
exist yet. With this change, I have verified that building head on
8.1-RELEASE works.

Noticed by: Ryan Stone <rysto32@gmail.com>

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 3.3 release (branching and freezing expected in a few weeks).

Preliminary release notes can be found at the usual location:
<http://llvm.org/docs/ReleaseNotes.html>

An MFC is planned once the actual 3.3 release is finished.


# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# 7ae0e2c9 20-Aug-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r162107. With thanks to
Benjamin Kramer and Joerg Sonnenberger for their input and fixes.


# 64cc5073 23-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.1 release. Release notes can be
found at: http://llvm.org/releases/3.1/docs/ReleaseNotes.html

MFC after: 3 days


# cb4dff85 03-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r155985, from upstream's release_31
branch. This brings us very close to the 3.1 release, which is planned
for May 14th.

MFC after: 2 weeks


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# fd75cb79 17-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.

# 13051529 06-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

When one attempts to compile the tree with -march=i386, which also used
to be gcc's default before r198344, calls to atomic builtins will not be
expanded inline. Instead, they will be generated as calls to external
functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
on.

Put in a seatbelt that disables use of atomic builtins in libstdc++ and
llvm, when tuning specifically for the real i386 CPU. This does not
protect against all possible issues, but it is better than nothing.

# 6122f3e6 22-Oct-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r142614, from upstream's release_30
branch. This brings us very close to the 3.0 release, which is expected
in a week or two.

MFC after: 1 week


# 17a519f9 17-Jul-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r135360, from upstream's trunk.


# 3b0f4066 02-May-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r130700, from upstream's trunk.


# 86b360ad 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Instead of defining LLVM_MULTITHREADED as 0 or 1, define or undefine it,
and test appropriately. Otherwise it might erroneously pick up some
pthread primitives, and fail to link.

# 45cc80a7 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Update llvm's config.h files to match more closely what is generated by
a regular autoconf-based build. More cosmetic than functional changes.

# 2754fe60 20-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r126079, from upstream's trunk.

This contains many improvements, primarily better C++ support, an
integrated assembler for x86 and support for -pg.


# e580952d 20-Sep-2010 Dimitry Andric <dim@FreeBSD.org>

Upgrade our Clang in base to r114020, from upstream's release_28 branch.

Approved-by: rpaulo (mentor)


# 2a008fdd 12-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of posix_spawn() inside LLVM.

Even though it's nice to use posix_spawn() instead of manually using
fork()/exec(), it's better to disable this. FreeBSD 7 doesn't support
this interface. When enabled, we can't build tblgen, which prevents us
from building FreeBSD 9 on 7.

Tested by: raj

# 3e241e2e 09-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of __DATE__.

This ensures that the Clang binary doesn't change checksums every time
it's built.

# 47c832c3 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Import the build makefiles for clang/LLVM.

Approved by: ed (mentor)

# 56f451bb 12-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.5-0-gc12386ae247c

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.5-0-gc12386ae247c, aka 14.0.5 release.

PR: 261742
MFC after: 3 days


# 809922b0 05-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Update rest of llvm-project build glue for 14.0.4

I completely forgot about updating the generated llvm-project config
files, which also contain version numbers, etc. Sorry for the churn.

PR: 261742
Fixes: ab9d54731f43
MFC after: 3 days

# 3a9a9c0c 28-Apr-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.3-0-g1f9140064dfb.

PR: 261742
MFC after: 2 weeks


# d56accc7 18-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.0-rc1-74-g4dc3cb8e3255

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.0-rc1-74-g4dc3cb8e3255.

PR: 261742
MFC after: 2 weeks


# 1fd87a68 05-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before
the upstream release/14.x branch was created.

PR: 261742
MFC after: 2 weeks


# 04eeddc0 27-Jan-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-17616-g024a1fab5c35.

PR: 261742
MFC after: 2 weeks


# 5e801ac6 20-Nov-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-10223-g401b76fdf2b3.

PR: 261742
MFC after: 2 weeks


# 6e75b2fb 25-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR: 258209
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR: 258209
MFC after: 2 weeks


# 31ba4ce8 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping llvm-tblgen on macOS and Linux

This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan: Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By: dim
Differential Revision: https://reviews.freebsd.org/D31057

# 23408297 18-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.1 rc2

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.

PR: 255570
MFC after: 6 weeks


# f336b45e 16-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by: oh
PR: 255570
MFC after: 6 weeks

# d409305f 26-Apr-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR: 255570
MFC after: 6 weeks


# e8d8bef9 13-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the
upstream release/12.x branch was created.

PR: 255570
MFC after: 6 weeks


# eaeb601b 03-Jan-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
release/11.x llvmorg-11.0.1-rc2-0-g43ff75f2c3f (aka 11.0.1 rc2).

MFC after: 4 weeks
X-MFC-With: r364284


# 5f24ef21 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Update generated llvm-project related version headers, config.h files
and add a newly generated lldb Plugins.def file too.

# d65cd7a5 23-May-2020 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).

MFC after: 3 weeks


# 0b37c159 25-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

* Bump version numbers to 10.0.0
* Update UPDATING
* Update (Optional)ObsoleteFiles.inc
* Update VCS(Revision|Version) files
* Update generated config headers
* Update clang internal headers Makefile

# c14a5a88 22-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

Release notes for llvm, clang, lld and libc++ 9.0.1 will become
available here:

https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

PR: 240629
MFC after: 1 month


# 22f75ae7 02-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp
release_90 branch r369369, and update version numbers.


# 86aa9539 23-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Regenerate config and version headers.

# efc5c442 12-Jun-2019 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,
libunwind and openmp to the upstream release_80 branch r363030
(effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a
week or so.

MFC after: 2 weeks


# af44a011 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Now for the release_80 branch, update version numbers for llvm, clang
and lld, and regenerate config headers.

# 0bf31f1f 20-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update version numbers, and regenerate config headers for llvm, clang,
lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.

# 68948600 04-Nov-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r346007 (effectively 7.0.1 rc2), resolve conflicts, and bump version
numbers.

PR: 230240, 230355


# 7726714d 17-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r339999, resolve conflicts, and bump version numbers.

PR: 230240,230355


# 6dfa117f 31-Jul-2018 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang version numbers in various files.

# e92a4205 24-Jul-2018 Ed Maste <emaste@FreeBSD.org>

llvm: remove __FreeBSD_version conditionals

All supported FreeBSD build host versions have backtrace.h, so we can
just eliminate that test. For futimes() we can test the compiler's
built-in __FreeBSD__ major version rather than relying on including
osreldate.h. This should reduce the frequency with which Clang gets
rebuilt when building world.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation

# fbfca78e 30-Jun-2018 Dimitry Andric <dim@FreeBSD.org>

Follow-up to r335799 (llvm/clang 6.0.1 update), by regenerating various
headers with new version information defines.

MFC after: 2 weeks
X-MFC-With: r335799

# 30785c0e 06-Jan-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788,
update build glue and version numbers.


# 02d2ad99 20-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Update generated config headers, and version numbers.

# d4419f6f 02-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from the
upstream release_50 branch. This corresponds to 5.0.1 rc2.

MFC after: 2 weeks


# edd7eadd 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and update
build glue.


# 7d9e99b6 05-May-2017 Dimitry Andric <dim@FreeBSD.org>

Regenerate llvm's config.h file.

# 5897d2f0 17-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Initial update of clang/llvm build glue, for building just a minimal
clang executable.

# f1a29dd3 14-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld and lldb release_40 branch r292009. Also update
build glue.


# 09bfd043 03-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Initial updates to llvm/clang build glue.

# 5b41a5b6 25-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for llvm/clang 3.9.1.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# 42d8074a 16-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 250e909a 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Update clang's Version.inc file, and regenerate various generated
configuration headers (these used to be generated by autoconf, but
upstream has deprecated autoconf in favor of CMake).

# 9a4b3118 25-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang and llvm to 3.7.1 release. This is a
bugfix-only release, with no new features.

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# e9ae0170 18-Oct-2015 Dimitry Andric <dim@FreeBSD.org>

Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway. You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.

# b6c25e0e 06-Sep-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm, clang and lldb to 3.7.0 release.


# cc38b640 23-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 97bc6c73 10-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r239412.


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# ef6fa9e2 25-May-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.6.1 release.

This release contains the following cherry-picked revisions from
upstream trunk:

226124 226151 226164 226165 226166 226407 226408 226409 226652
226905 226983 227084 227087 227089 227208 227209 227210 227211
227212 227213 227214 227269 227430 227482 227503 227519 227574
227822 227986 227987 227988 227989 227990 228037 228038 228039
228040 228188 228189 228190 228273 228372 228373 228374 228403
228765 228848 228918 229223 229225 229226 229227 229228 229230
229234 229235 229236 229238 229239 229413 229507 229680 229750
229751 229752 229911 230146 230147 230235 230253 230255 230469
230500 230564 230603 230657 230742 230748 230956 231219 231237
231245 231259 231280 231451 231563 231601 231658 231659 231662
231984 231986 232046 232085 232142 232176 232179 232189 232382
232386 232389 232425 232438 232443 232675 232786 232797 232943
232957 233075 233080 233351 233353 233409 233410 233508 233584
233819 233904 234629 234636 234891 234975 234977 235524 235641
235662 235931 236099 236306 236307

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# 09de9530 26-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Minor updates to llvm's pregenerated config headers.

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 9cac79b3 18-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
only release, no new features have been added.

Please note that this version requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.1/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.1/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month
X-MFC-With: 276479


# 268335d0 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang include files.

# e60e6417 13-Aug-2014 Dimitry Andric <dim@FreeBSD.org>

Stop telling people to directly report llvm or clang bugs upstream,
point them to the FreeBSD bug tracker instead, since we use our own
patches.

MFC after: 3 days

# 85d60e68 12-May-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4.1 release. This release contains
mostly fixes, for the following upstream bugs:

http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000
http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165
http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316
http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515
http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762
http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994
http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033
http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326

MFC after: 2 weeks


# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.

The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month


# 284c1978 12-Jun-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.3 release.

Release notes are still in the works, these will follow soon.

MFC after: 1 month


# 4b6b67b0 03-May-2013 Dimitry Andric <dim@FreeBSD.org>

Allow building clang on older FreeBSD releases, where log2() does not
exist yet. With this change, I have verified that building head on
8.1-RELEASE works.

Noticed by: Ryan Stone <rysto32@gmail.com>

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 3.3 release (branching and freezing expected in a few weeks).

Preliminary release notes can be found at the usual location:
<http://llvm.org/docs/ReleaseNotes.html>

An MFC is planned once the actual 3.3 release is finished.


# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# 7ae0e2c9 20-Aug-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r162107. With thanks to
Benjamin Kramer and Joerg Sonnenberger for their input and fixes.


# 64cc5073 23-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.1 release. Release notes can be
found at: http://llvm.org/releases/3.1/docs/ReleaseNotes.html

MFC after: 3 days


# cb4dff85 03-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r155985, from upstream's release_31
branch. This brings us very close to the 3.1 release, which is planned
for May 14th.

MFC after: 2 weeks


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# fd75cb79 17-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.

# 13051529 06-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

When one attempts to compile the tree with -march=i386, which also used
to be gcc's default before r198344, calls to atomic builtins will not be
expanded inline. Instead, they will be generated as calls to external
functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
on.

Put in a seatbelt that disables use of atomic builtins in libstdc++ and
llvm, when tuning specifically for the real i386 CPU. This does not
protect against all possible issues, but it is better than nothing.

# 6122f3e6 22-Oct-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r142614, from upstream's release_30
branch. This brings us very close to the 3.0 release, which is expected
in a week or two.

MFC after: 1 week


# 17a519f9 17-Jul-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r135360, from upstream's trunk.


# 3b0f4066 02-May-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r130700, from upstream's trunk.


# 86b360ad 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Instead of defining LLVM_MULTITHREADED as 0 or 1, define or undefine it,
and test appropriately. Otherwise it might erroneously pick up some
pthread primitives, and fail to link.

# 45cc80a7 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Update llvm's config.h files to match more closely what is generated by
a regular autoconf-based build. More cosmetic than functional changes.

# 2754fe60 20-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r126079, from upstream's trunk.

This contains many improvements, primarily better C++ support, an
integrated assembler for x86 and support for -pg.


# e580952d 20-Sep-2010 Dimitry Andric <dim@FreeBSD.org>

Upgrade our Clang in base to r114020, from upstream's release_28 branch.

Approved-by: rpaulo (mentor)


# 2a008fdd 12-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of posix_spawn() inside LLVM.

Even though it's nice to use posix_spawn() instead of manually using
fork()/exec(), it's better to disable this. FreeBSD 7 doesn't support
this interface. When enabled, we can't build tblgen, which prevents us
from building FreeBSD 9 on 7.

Tested by: raj

# 3e241e2e 09-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of __DATE__.

This ensures that the Clang binary doesn't change checksums every time
it's built.

# 47c832c3 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Import the build makefiles for clang/LLVM.

Approved by: ed (mentor)

# 809922b0 05-Jun-2022 Dimitry Andric <dim@FreeBSD.org>

Update rest of llvm-project build glue for 14.0.4

I completely forgot about updating the generated llvm-project config
files, which also contain version numbers, etc. Sorry for the churn.

PR: 261742
Fixes: ab9d54731f43
MFC after: 3 days


# 3a9a9c0c 28-Apr-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.3-0-g1f9140064dfb.

PR: 261742
MFC after: 2 weeks


# d56accc7 18-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/14.x llvmorg-14.0.0-rc1-74-g4dc3cb8e3255

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14.0.0-rc1-74-g4dc3cb8e3255.

PR: 261742
MFC after: 2 weeks


# 1fd87a68 05-Feb-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before
the upstream release/14.x branch was created.

PR: 261742
MFC after: 2 weeks


# 04eeddc0 27-Jan-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-17616-g024a1fab5c35.

PR: 261742
MFC after: 2 weeks


# 5e801ac6 20-Nov-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-10223-g401b76fdf2b3.

PR: 261742
MFC after: 2 weeks


# 6e75b2fb 25-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR: 258209
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR: 258209
MFC after: 2 weeks


# 31ba4ce8 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping llvm-tblgen on macOS and Linux

This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan: Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By: dim
Differential Revision: https://reviews.freebsd.org/D31057

# 23408297 18-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.1 rc2

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.

PR: 255570
MFC after: 6 weeks


# f336b45e 16-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by: oh
PR: 255570
MFC after: 6 weeks

# d409305f 26-Apr-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR: 255570
MFC after: 6 weeks


# e8d8bef9 13-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the
upstream release/12.x branch was created.

PR: 255570
MFC after: 6 weeks


# eaeb601b 03-Jan-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
release/11.x llvmorg-11.0.1-rc2-0-g43ff75f2c3f (aka 11.0.1 rc2).

MFC after: 4 weeks
X-MFC-With: r364284


# 5f24ef21 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Update generated llvm-project related version headers, config.h files
and add a newly generated lldb Plugins.def file too.

# d65cd7a5 23-May-2020 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).

MFC after: 3 weeks


# 0b37c159 25-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

* Bump version numbers to 10.0.0
* Update UPDATING
* Update (Optional)ObsoleteFiles.inc
* Update VCS(Revision|Version) files
* Update generated config headers
* Update clang internal headers Makefile

# c14a5a88 22-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

Release notes for llvm, clang, lld and libc++ 9.0.1 will become
available here:

https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

PR: 240629
MFC after: 1 month


# 22f75ae7 02-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp
release_90 branch r369369, and update version numbers.


# 86aa9539 23-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Regenerate config and version headers.

# efc5c442 12-Jun-2019 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,
libunwind and openmp to the upstream release_80 branch r363030
(effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a
week or so.

MFC after: 2 weeks


# af44a011 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Now for the release_80 branch, update version numbers for llvm, clang
and lld, and regenerate config headers.

# 0bf31f1f 20-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update version numbers, and regenerate config headers for llvm, clang,
lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.

# 68948600 04-Nov-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r346007 (effectively 7.0.1 rc2), resolve conflicts, and bump version
numbers.

PR: 230240, 230355


# 7726714d 17-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r339999, resolve conflicts, and bump version numbers.

PR: 230240,230355


# 6dfa117f 31-Jul-2018 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang version numbers in various files.

# e92a4205 24-Jul-2018 Ed Maste <emaste@FreeBSD.org>

llvm: remove __FreeBSD_version conditionals

All supported FreeBSD build host versions have backtrace.h, so we can
just eliminate that test. For futimes() we can test the compiler's
built-in __FreeBSD__ major version rather than relying on including
osreldate.h. This should reduce the frequency with which Clang gets
rebuilt when building world.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation

# fbfca78e 30-Jun-2018 Dimitry Andric <dim@FreeBSD.org>

Follow-up to r335799 (llvm/clang 6.0.1 update), by regenerating various
headers with new version information defines.

MFC after: 2 weeks
X-MFC-With: r335799

# 30785c0e 06-Jan-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788,
update build glue and version numbers.


# 02d2ad99 20-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Update generated config headers, and version numbers.

# d4419f6f 02-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from the
upstream release_50 branch. This corresponds to 5.0.1 rc2.

MFC after: 2 weeks


# edd7eadd 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and update
build glue.


# 7d9e99b6 05-May-2017 Dimitry Andric <dim@FreeBSD.org>

Regenerate llvm's config.h file.

# 5897d2f0 17-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Initial update of clang/llvm build glue, for building just a minimal
clang executable.

# f1a29dd3 14-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld and lldb release_40 branch r292009. Also update
build glue.


# 09bfd043 03-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Initial updates to llvm/clang build glue.

# 5b41a5b6 25-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for llvm/clang 3.9.1.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# 42d8074a 16-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 250e909a 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Update clang's Version.inc file, and regenerate various generated
configuration headers (these used to be generated by autoconf, but
upstream has deprecated autoconf in favor of CMake).

# 9a4b3118 25-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang and llvm to 3.7.1 release. This is a
bugfix-only release, with no new features.

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# e9ae0170 18-Oct-2015 Dimitry Andric <dim@FreeBSD.org>

Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway. You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.

# b6c25e0e 06-Sep-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm, clang and lldb to 3.7.0 release.


# cc38b640 23-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 97bc6c73 10-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r239412.


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# ef6fa9e2 25-May-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.6.1 release.

This release contains the following cherry-picked revisions from
upstream trunk:

226124 226151 226164 226165 226166 226407 226408 226409 226652
226905 226983 227084 227087 227089 227208 227209 227210 227211
227212 227213 227214 227269 227430 227482 227503 227519 227574
227822 227986 227987 227988 227989 227990 228037 228038 228039
228040 228188 228189 228190 228273 228372 228373 228374 228403
228765 228848 228918 229223 229225 229226 229227 229228 229230
229234 229235 229236 229238 229239 229413 229507 229680 229750
229751 229752 229911 230146 230147 230235 230253 230255 230469
230500 230564 230603 230657 230742 230748 230956 231219 231237
231245 231259 231280 231451 231563 231601 231658 231659 231662
231984 231986 232046 232085 232142 232176 232179 232189 232382
232386 232389 232425 232438 232443 232675 232786 232797 232943
232957 233075 233080 233351 233353 233409 233410 233508 233584
233819 233904 234629 234636 234891 234975 234977 235524 235641
235662 235931 236099 236306 236307

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# 09de9530 26-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Minor updates to llvm's pregenerated config headers.

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 9cac79b3 18-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
only release, no new features have been added.

Please note that this version requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.1/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.1/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month
X-MFC-With: 276479


# 268335d0 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang include files.

# e60e6417 13-Aug-2014 Dimitry Andric <dim@FreeBSD.org>

Stop telling people to directly report llvm or clang bugs upstream,
point them to the FreeBSD bug tracker instead, since we use our own
patches.

MFC after: 3 days

# 85d60e68 12-May-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4.1 release. This release contains
mostly fixes, for the following upstream bugs:

http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000
http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165
http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316
http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515
http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762
http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994
http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033
http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326

MFC after: 2 weeks


# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.

The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month


# 284c1978 12-Jun-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.3 release.

Release notes are still in the works, these will follow soon.

MFC after: 1 month


# 4b6b67b0 03-May-2013 Dimitry Andric <dim@FreeBSD.org>

Allow building clang on older FreeBSD releases, where log2() does not
exist yet. With this change, I have verified that building head on
8.1-RELEASE works.

Noticed by: Ryan Stone <rysto32@gmail.com>

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 3.3 release (branching and freezing expected in a few weeks).

Preliminary release notes can be found at the usual location:
<http://llvm.org/docs/ReleaseNotes.html>

An MFC is planned once the actual 3.3 release is finished.


# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# 7ae0e2c9 20-Aug-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r162107. With thanks to
Benjamin Kramer and Joerg Sonnenberger for their input and fixes.


# 64cc5073 23-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.1 release. Release notes can be
found at: http://llvm.org/releases/3.1/docs/ReleaseNotes.html

MFC after: 3 days


# cb4dff85 03-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r155985, from upstream's release_31
branch. This brings us very close to the 3.1 release, which is planned
for May 14th.

MFC after: 2 weeks


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# fd75cb79 17-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.

# 13051529 06-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

When one attempts to compile the tree with -march=i386, which also used
to be gcc's default before r198344, calls to atomic builtins will not be
expanded inline. Instead, they will be generated as calls to external
functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
on.

Put in a seatbelt that disables use of atomic builtins in libstdc++ and
llvm, when tuning specifically for the real i386 CPU. This does not
protect against all possible issues, but it is better than nothing.

# 6122f3e6 22-Oct-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r142614, from upstream's release_30
branch. This brings us very close to the 3.0 release, which is expected
in a week or two.

MFC after: 1 week


# 17a519f9 17-Jul-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r135360, from upstream's trunk.


# 3b0f4066 02-May-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r130700, from upstream's trunk.


# 86b360ad 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Instead of defining LLVM_MULTITHREADED as 0 or 1, define or undefine it,
and test appropriately. Otherwise it might erroneously pick up some
pthread primitives, and fail to link.

# 45cc80a7 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Update llvm's config.h files to match more closely what is generated by
a regular autoconf-based build. More cosmetic than functional changes.

# 2754fe60 20-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r126079, from upstream's trunk.

This contains many improvements, primarily better C++ support, an
integrated assembler for x86 and support for -pg.


# e580952d 20-Sep-2010 Dimitry Andric <dim@FreeBSD.org>

Upgrade our Clang in base to r114020, from upstream's release_28 branch.

Approved-by: rpaulo (mentor)


# 2a008fdd 12-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of posix_spawn() inside LLVM.

Even though it's nice to use posix_spawn() instead of manually using
fork()/exec(), it's better to disable this. FreeBSD 7 doesn't support
this interface. When enabled, we can't build tblgen, which prevents us
from building FreeBSD 9 on 7.

Tested by: raj

# 3e241e2e 09-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of __DATE__.

This ensures that the Clang binary doesn't change checksums every time
it's built.

# 47c832c3 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Import the build makefiles for clang/LLVM.

Approved by: ed (mentor)

# 6e75b2fb 25-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR: 258209
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR: 258209
MFC after: 2 weeks


# 31ba4ce8 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping llvm-tblgen on macOS and Linux

This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan: Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By: dim
Differential Revision: https://reviews.freebsd.org/D31057

# 23408297 18-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.1 rc2

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.

PR: 255570
MFC after: 6 weeks


# f336b45e 16-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by: oh
PR: 255570
MFC after: 6 weeks

# d409305f 26-Apr-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR: 255570
MFC after: 6 weeks


# e8d8bef9 13-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the
upstream release/12.x branch was created.

PR: 255570
MFC after: 6 weeks


# eaeb601b 03-Jan-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
release/11.x llvmorg-11.0.1-rc2-0-g43ff75f2c3f (aka 11.0.1 rc2).

MFC after: 4 weeks
X-MFC-With: r364284


# 5f24ef21 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Update generated llvm-project related version headers, config.h files
and add a newly generated lldb Plugins.def file too.

# d65cd7a5 23-May-2020 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).

MFC after: 3 weeks


# 0b37c159 25-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

* Bump version numbers to 10.0.0
* Update UPDATING
* Update (Optional)ObsoleteFiles.inc
* Update VCS(Revision|Version) files
* Update generated config headers
* Update clang internal headers Makefile

# c14a5a88 22-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05.

Release notes for llvm, clang, lld and libc++ 9.0.1 will become
available here:

https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html

PR: 240629
MFC after: 1 month


# 22f75ae7 02-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp
release_90 branch r369369, and update version numbers.


# 86aa9539 23-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Regenerate config and version headers.

# efc5c442 12-Jun-2019 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,
libunwind and openmp to the upstream release_80 branch r363030
(effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a
week or so.

MFC after: 2 weeks


# af44a011 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Now for the release_80 branch, update version numbers for llvm, clang
and lld, and regenerate config headers.

# 0bf31f1f 20-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update version numbers, and regenerate config headers for llvm, clang,
lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.

# 68948600 04-Nov-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r346007 (effectively 7.0.1 rc2), resolve conflicts, and bump version
numbers.

PR: 230240, 230355


# 7726714d 17-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch
r339999, resolve conflicts, and bump version numbers.

PR: 230240,230355


# 6dfa117f 31-Jul-2018 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang version numbers in various files.

# e92a4205 24-Jul-2018 Ed Maste <emaste@FreeBSD.org>

llvm: remove __FreeBSD_version conditionals

All supported FreeBSD build host versions have backtrace.h, so we can
just eliminate that test. For futimes() we can test the compiler's
built-in __FreeBSD__ major version rather than relying on including
osreldate.h. This should reduce the frequency with which Clang gets
rebuilt when building world.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation

# fbfca78e 30-Jun-2018 Dimitry Andric <dim@FreeBSD.org>

Follow-up to r335799 (llvm/clang 6.0.1 update), by regenerating various
headers with new version information defines.

MFC after: 2 weeks
X-MFC-With: r335799

# 30785c0e 06-Jan-2018 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788,
update build glue and version numbers.


# 02d2ad99 20-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Update generated config headers, and version numbers.

# d4419f6f 02-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from the
upstream release_50 branch. This corresponds to 5.0.1 rc2.

MFC after: 2 weeks


# edd7eadd 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and update
build glue.


# 7d9e99b6 05-May-2017 Dimitry Andric <dim@FreeBSD.org>

Regenerate llvm's config.h file.

# 5897d2f0 17-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Initial update of clang/llvm build glue, for building just a minimal
clang executable.

# f1a29dd3 14-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Merge llvm, clang, lld and lldb release_40 branch r292009. Also update
build glue.


# 09bfd043 03-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Initial updates to llvm/clang build glue.

# 5b41a5b6 25-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for llvm/clang 3.9.1.

# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.

# 42d8074a 16-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 250e909a 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Update clang's Version.inc file, and regenerate various generated
configuration headers (these used to be generated by autoconf, but
upstream has deprecated autoconf in favor of CMake).

# 9a4b3118 25-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copies of clang and llvm to 3.7.1 release. This is a
bugfix-only release, with no new features.

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# e9ae0170 18-Oct-2015 Dimitry Andric <dim@FreeBSD.org>

Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway. You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.

# b6c25e0e 06-Sep-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm, clang and lldb to 3.7.0 release.


# cc38b640 23-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.

# 97bc6c73 10-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r239412.


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.

# ef6fa9e2 25-May-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.6.1 release.

This release contains the following cherry-picked revisions from
upstream trunk:

226124 226151 226164 226165 226166 226407 226408 226409 226652
226905 226983 227084 227087 227089 227208 227209 227210 227211
227212 227213 227214 227269 227430 227482 227503 227519 227574
227822 227986 227987 227988 227989 227990 228037 228038 228039
228040 228188 228189 228190 228273 228372 228373 228374 228403
228765 228848 228918 229223 229225 229226 229227 229228 229230
229234 229235 229236 229238 229239 229413 229507 229680 229750
229751 229752 229911 230146 230147 230235 230253 230255 230469
230500 230564 230603 230657 230742 230748 230956 231219 231237
231245 231259 231280 231451 231563 231601 231658 231659 231662
231984 231986 232046 232085 232142 232176 232179 232189 232382
232386 232389 232425 232438 232443 232675 232786 232797 232943
232957 233075 233080 233351 233353 233409 233410 233508 233584
233819 233904 234629 234636 234891 234975 234977 235524 235641
235662 235931 236099 236306 236307

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.


# 09de9530 26-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Minor updates to llvm's pregenerated config headers.

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.

# 9cac79b3 18-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
only release, no new features have been added.

Please note that this version requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.1/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.1/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month
X-MFC-With: 276479


# 268335d0 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang include files.

# e60e6417 13-Aug-2014 Dimitry Andric <dim@FreeBSD.org>

Stop telling people to directly report llvm or clang bugs upstream,
point them to the FreeBSD bug tracker instead, since we use our own
patches.

MFC after: 3 days

# 85d60e68 12-May-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4.1 release. This release contains
mostly fixes, for the following upstream bugs:

http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000
http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165
http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316
http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515
http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762
http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994
http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033
http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326

MFC after: 2 weeks


# f785676f 16-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.4 release. This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.

The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>

MFC after: 1 month


# 284c1978 12-Jun-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.3 release.

Release notes are still in the works, these will follow soon.

MFC after: 1 month


# 4b6b67b0 03-May-2013 Dimitry Andric <dim@FreeBSD.org>

Allow building clang on older FreeBSD releases, where log2() does not
exist yet. With this change, I have verified that building head on
8.1-RELEASE works.

Noticed by: Ryan Stone <rysto32@gmail.com>

# 139f7f9b 12-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r178860, in preparation of the
upcoming 3.3 release (branching and freezing expected in a few weeks).

Preliminary release notes can be found at the usual location:
<http://llvm.org/docs/ReleaseNotes.html>

An MFC is planned once the actual 3.3 release is finished.


# 3861d79f 03-Dec-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch. This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.


# 7ae0e2c9 20-Aug-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r162107. With thanks to
Benjamin Kramer and Joerg Sonnenberger for their input and fixes.


# 64cc5073 23-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to 3.1 release. Release notes can be
found at: http://llvm.org/releases/3.1/docs/ReleaseNotes.html

MFC after: 3 days


# cb4dff85 03-May-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r155985, from upstream's release_31
branch. This brings us very close to the 3.1 release, which is planned
for May 14th.

MFC after: 2 weeks


# dff0c46c 16-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to trunk r154661, in preparation of the
upcoming 3.1 release (expected in a few weeks). Preliminary release
notes can be found at: <http://llvm.org/docs/ReleaseNotes.html>

MFC after: 2 weeks


# fd75cb79 17-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.

# 13051529 06-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

When one attempts to compile the tree with -march=i386, which also used
to be gcc's default before r198344, calls to atomic builtins will not be
expanded inline. Instead, they will be generated as calls to external
functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
on.

Put in a seatbelt that disables use of atomic builtins in libstdc++ and
llvm, when tuning specifically for the real i386 CPU. This does not
protect against all possible issues, but it is better than nothing.

# 6122f3e6 22-Oct-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r142614, from upstream's release_30
branch. This brings us very close to the 3.0 release, which is expected
in a week or two.

MFC after: 1 week


# 17a519f9 17-Jul-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r135360, from upstream's trunk.


# 3b0f4066 02-May-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r130700, from upstream's trunk.


# 86b360ad 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Instead of defining LLVM_MULTITHREADED as 0 or 1, define or undefine it,
and test appropriately. Otherwise it might erroneously pick up some
pthread primitives, and fail to link.

# 45cc80a7 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Update llvm's config.h files to match more closely what is generated by
a regular autoconf-based build. More cosmetic than functional changes.

# 2754fe60 20-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Upgrade our copy of llvm/clang to r126079, from upstream's trunk.

This contains many improvements, primarily better C++ support, an
integrated assembler for x86 and support for -pg.


# e580952d 20-Sep-2010 Dimitry Andric <dim@FreeBSD.org>

Upgrade our Clang in base to r114020, from upstream's release_28 branch.

Approved-by: rpaulo (mentor)


# 2a008fdd 12-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of posix_spawn() inside LLVM.

Even though it's nice to use posix_spawn() instead of manually using
fork()/exec(), it's better to disable this. FreeBSD 7 doesn't support
this interface. When enabled, we can't build tblgen, which prevents us
from building FreeBSD 9 on 7.

Tested by: raj

# 3e241e2e 09-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of __DATE__.

This ensures that the Clang binary doesn't change checksums every time
it's built.

# 47c832c3 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Import the build makefiles for clang/LLVM.

Approved by: ed (mentor)

# 31ba4ce8 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Allow bootstrapping llvm-tblgen on macOS and Linux

This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan: Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By: dim
Differential Revision: https://reviews.freebsd.org/D31057


# f336b45e 16-Jun-2021 Dimitry Andric <dim@FreeBSD.org>

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by: oh
PR: 255570
MFC after: 6 weeks


# 5f24ef21 06-Aug-2020 Dimitry Andric <dim@FreeBSD.org>

Update generated llvm-project related version headers, config.h files
and add a newly generated lldb Plugins.def file too.


# 0b37c159 25-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

* Bump version numbers to 10.0.0
* Update UPDATING
* Update (Optional)ObsoleteFiles.inc
* Update VCS(Revision|Version) files
* Update generated config headers
* Update clang internal headers Makefile


# 86aa9539 23-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Regenerate config and version headers.


# af44a011 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Now for the release_80 branch, update version numbers for llvm, clang
and lld, and regenerate config headers.


# 0bf31f1f 20-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update version numbers, and regenerate config headers for llvm, clang,
lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.


# 6dfa117f 31-Jul-2018 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang version numbers in various files.


# e92a4205 24-Jul-2018 Ed Maste <emaste@FreeBSD.org>

llvm: remove __FreeBSD_version conditionals

All supported FreeBSD build host versions have backtrace.h, so we can
just eliminate that test. For futimes() we can test the compiler's
built-in __FreeBSD__ major version rather than relying on including
osreldate.h. This should reduce the frequency with which Clang gets
rebuilt when building world.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation


# fbfca78e 30-Jun-2018 Dimitry Andric <dim@FreeBSD.org>

Follow-up to r335799 (llvm/clang 6.0.1 update), by regenerating various
headers with new version information defines.

MFC after: 2 weeks
X-MFC-With: r335799


# 02d2ad99 20-Dec-2017 Dimitry Andric <dim@FreeBSD.org>

Update generated config headers, and version numbers.


# 7d9e99b6 05-May-2017 Dimitry Andric <dim@FreeBSD.org>

Regenerate llvm's config.h file.


# c83fca58 20-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Turn off llvm/clang's ENABLE_BACKTRACES setting, since it never worked
properly anyway. (Upstream has reorganized this somewhat in the mean
time, but for proper backtraces we would need llvm-symbolizer in base.)

MFC after: 3 days


# 5897d2f0 17-Apr-2017 Dimitry Andric <dim@FreeBSD.org>

Initial update of clang/llvm build glue, for building just a minimal
clang executable.


# 09bfd043 03-Jan-2017 Dimitry Andric <dim@FreeBSD.org>

Initial updates to llvm/clang build glue.


# 5b41a5b6 25-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for llvm/clang 3.9.1.


# 7fff4413 19-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for clang and the llvm/clang extras.


# 42d8074a 16-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.


# 250e909a 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Update clang's Version.inc file, and regenerate various generated
configuration headers (these used to be generated by autoconf, but
upstream has deprecated autoconf in favor of CMake).


# e9ae0170 18-Oct-2015 Dimitry Andric <dim@FreeBSD.org>

Switch the default OpenMP runtime for clang to libomp (from the LLVM
project), as libgomp is not supported anyway. You can use the
devel/llvm-devel port to install a recent copy of the OpenMP runtime.


# cc38b640 23-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm/clang build glue.


# ebeff3f9 30-May-2015 Dimitry Andric <dim@FreeBSD.org>

Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.


# 09de9530 26-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Minor updates to llvm's pregenerated config headers.


# 1ae6788e 26-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang library and binary Makefiles for 3.6.0 rc1.


# 268335d0 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Update llvm and clang include files.


# e60e6417 13-Aug-2014 Dimitry Andric <dim@FreeBSD.org>

Stop telling people to directly report llvm or clang bugs upstream,
point them to the FreeBSD bug tracker instead, since we use our own
patches.

MFC after: 3 days


# 4b6b67b0 03-May-2013 Dimitry Andric <dim@FreeBSD.org>

Allow building clang on older FreeBSD releases, where log2() does not
exist yet. With this change, I have verified that building head on
8.1-RELEASE works.

Noticed by: Ryan Stone <rysto32@gmail.com>


# fd75cb79 17-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.


# 13051529 06-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

When one attempts to compile the tree with -march=i386, which also used
to be gcc's default before r198344, calls to atomic builtins will not be
expanded inline. Instead, they will be generated as calls to external
functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
on.

Put in a seatbelt that disables use of atomic builtins in libstdc++ and
llvm, when tuning specifically for the real i386 CPU. This does not
protect against all possible issues, but it is better than nothing.


# 86b360ad 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Instead of defining LLVM_MULTITHREADED as 0 or 1, define or undefine it,
and test appropriately. Otherwise it might erroneously pick up some
pthread primitives, and fail to link.


# 45cc80a7 26-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Update llvm's config.h files to match more closely what is generated by
a regular autoconf-based build. More cosmetic than functional changes.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 2a008fdd 12-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of posix_spawn() inside LLVM.

Even though it's nice to use posix_spawn() instead of manually using
fork()/exec(), it's better to disable this. FreeBSD 7 doesn't support
this interface. When enabled, we can't build tblgen, which prevents us
from building FreeBSD 9 on 7.

Tested by: raj


# 3e241e2e 09-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Disable usage of __DATE__.

This ensures that the Clang binary doesn't change checksums every time
it's built.


# 47c832c3 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Import the build makefiles for clang/LLVM.

Approved by: ed (mentor)