Merge llvm-project 12.0.1 release and follow-up fixesMerge llvm-project main llvmorg-12-init-17869-g8e464dd76befThis updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to l
Merge llvm-project 12.0.1 release and follow-up fixesMerge llvm-project main llvmorg-12-init-17869-g8e464dd76befThis updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before theupstream release/12.x branch was created.PR: 255570(cherry picked from commit e8d8bef961a50d4dc22501cde4fb9fb0be1b2532)Merge llvm-project 12.0.0 releaseThis updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.PR: 255570(cherry picked from commit d409305fa3838fb39b38c26fc085fb729b8766d5)Disable strict-fp for powerpcspe, as it does not work properly yetMerge commit 5c18d1136665 from llvm git (by Qiu Chaofan) [SPE] Disable strict-fp for SPE by default As discussed in PR50385, strict-fp on PowerPC SPE has not been handled well. This patch disables it by default for SPE. Reviewed By: nemanjai, vit9696, jhibbits Differential Revision: https://reviews.llvm.org/D103235PR: 255570(cherry picked from commit 715df83abc049b23d9acddc81f2480bd4c056d64)Apply upstream libc++ fix to allow building with devel/xxx-xtoolchain-gccMerge commit 52e9d80d5db2 from llvm git (by Jason Liu): [libc++] add `inline` for __open's definition in ifstream and ofstream Summary: When building with gcc on AIX, it seems that gcc does not like the `always_inline` without the `inline` keyword. So adding the inline keywords in for __open in ifstream and ofstream. That will also make it consistent with __open in basic_filebuf (it seems we added `inline` there before for gcc build as well). Differential Revision: https://reviews.llvm.org/D99422PR: 255570(cherry picked from commit d099db25464b826c5724cf2fb5b22292bbe15f6e)Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on armOtherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,stating that __register_frame is undefined. This function is normallyprovided by libunwind, but explicitly not for the ARM Exception ABI.Reported by: ohPR: 255570(cherry picked from commit f336b45e943c7f9a90ffcea1a6c4c7039e54c73c)Merge llvm-project 12.0.1 rc2This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.PR: 255570(cherry picked from commit 23408297fbf3089f0388a8873b02fa75ab3f5bb9)Revert libunwind change to fix backtrace segfault on aarch64Revert commit 22b615a96593 from llvm git (by Daniel Kiss): [libunwind] Support for leaf function unwinding. Unwinding leaf function is useful in cases when the backtrace finds a leaf function for example when it caused a signal. This patch also add the support for the DW_CFA_undefined because it marks the end of the frames. Ryan Prichard provided code for the tests. Reviewed By: #libunwind, mstorsjo Differential Revision: https://reviews.llvm.org/D83573 Reland with limit the test to the x86_64-linux target.Bisection has shown that this particular upstream commit causes programsusing backtrace(3) on aarch64 to segfault. This affects the lang/rustport, for instance. Until we can upstream to fix this problem, revertthe commit for now.Reported by: mikaelPR: 256864(cherry picked from commit 5866c369e4fd917c0d456f0f10b92ee354b82279)Merge llvm-project 12.0.1 releaseThis updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb andopenmp to llvmorg-12.0.1-0-gfed41342a82f, a.k.a. 12.0.1 release.PR: 255570(cherry picked from commit 4652422eb477731f284b1345afeefef7f269da50)compilert-rt: build out-of-line LSE atomics helpers for aarch64Both clang >= 12 and gcc >= 10.1 now default to -moutline-atomics foraarch64. This requires a bunch of helper functions in libcompiler_rt.a,to avoid link errors like "undefined symbol: __aarch64_ldadd8_acq_rel".(Note: of course you can use -mno-outline-atomics as a workaround too,but this would negate the potential performance benefit of the fasterLSE instructions.)Bump __FreeBSD_version so ports maintainers can easily detect this.PR: 257392(cherry picked from commit cc55ee8009a550810d38777fd6ace9abf3a2f6b4)
show more ...
Regenerate ReStructuredText based manpages for llvm-project tools:* bugpoint.1* clang.1* llc.1* lldb.1* lli.1* llvm-ar.1* llvm-as.1* llvm-bcanalyzer.1* llvm-cov.1* llvm-diff.1* llvm-dis.1
Regenerate ReStructuredText based manpages for llvm-project tools:* bugpoint.1* clang.1* llc.1* lldb.1* lli.1* llvm-ar.1* llvm-as.1* llvm-bcanalyzer.1* llvm-cov.1* llvm-diff.1* llvm-dis.1* llvm-dwarfdump.1* llvm-extract.1* llvm-link.1* llvm-mca.1* llvm-nm.1* llvm-pdbutil.1* llvm-profdata.1* llvm-symbolizer.1* llvm-tblgen.1* opt.1Add newly generated manpages for:* llvm-addr2line.1 (this is an alias of llvm-symbolizer)* llvm-cxxfilt.1* llvm-objcopy.1* llvm-ranlib.1 (this is an alias of llvm-ar)Note that llvm-objdump.1 is an exception, as upstream has both a plain.1 file, and a .rst variant. These will have to be reconciled upstreamfirst.MFC after: 3 days
Move all sources from the llvm project into contrib/llvm-project.This uses the new layout of the upstream repository, which was recentlymigrated to GitHub, and converted into a "monorepo". That i
Move all sources from the llvm project into contrib/llvm-project.This uses the new layout of the upstream repository, which was recentlymigrated to GitHub, and converted into a "monorepo". That is, most ofthe earlier separate sub-projects with their own branches and tags wereconsolidated into one top-level directory, and are now branched andtagged together.Updating the vendor area to match this layout is next.
Update llvm tool manpages, and llvm-mca.1.
Regenerate llvm tools manpages, and add one for llvm-pbdutil.
DIRDEPS_BUILD: Update dependencies.Sponsored by: Dell EMC Isilon
DIRDEPS_BUILD: Connect the new clang build.Sponsored by: EMC / Isilon Storage Division
Completely revamp the way llvm, clang and lldb are built.* Bootstrap llvm-tblgen and clang-tblgen with a minimal llvm static library, that has no other dependencies.* Roll up all separate llvm l
Completely revamp the way llvm, clang and lldb are built.* Bootstrap llvm-tblgen and clang-tblgen with a minimal llvm static library, that has no other dependencies.* Roll up all separate llvm libraries into one big static libllvm.* Similar for all separate clang and lldb static libraries.* For all these libraries, generate their .inc files only once.* Link all llvm tools (including extra) against the big libllvm.* Link clang and clang-format against the big libllvm and libclang.* Link lldb against the big libllvm, libclang and liblldb.N.B.: This is work in progress, some details may still be missing.It also heavily depends on bsd.*.mk's support for SRCS and DPSRCS withrelative pathnames, which apparently does not always work as expected.For building llvm, clang and lldb though, it seems to work just fine.The main idea behind this restructuring is maintainability and buildpeformance. The previous large number of very small libraries, eachwith their own generated files and dependencies was slow to traverseand hard to understand.Possible future improvements:* Only build certain targets, e.g. for most regular users having just one target will be fine. This will shave off some build time.* Building the big llvm, clang and lldb libraries as shared (private) libraries.* Adding other components from the LLVM project, such as lld.
Update build glue for clang and the llvm/clang extras.
DIRDEPS_BUILD: Update clang dependencies after r296417.Sponsored by: EMC / Isilon Storage Division
Regenerate llvm and clang manpages.
DIRDEPS_BUILD: Hookup CLANG_EXTRAS.Sponsored by: EMC / Isilon Storage Division
Merge ^/head r295544 through r295600.
Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunkr238337.
Add the llvm-cov and llvm-profdata tools, when WITH_CLANG_EXTRAS isdefined. These help with processing coverage and profile data.