1. [clang-tidy] Add library for clang-tidy main function (details)
  2. [gn build] Port 3f8b100e94b (details)
  3. AMDGPU: Don't error on ds.ordered intrinsic in function (details)
  4. AMDGPU/GlobalISel: Select wqm, softwqm and wwm intrinsics (details)
  5. Revert a107f86 "[GlobalsAA] Add back a check to (details)
  6. [AST] Split parent map traversal logic into ParentMapContext.h (details)
  7. [gn build] Port 8a81daaa8b5 (details)
  8. [GWP-ASan] enable/disable and fork support. (details)
  9. [PATCH] [Target] Test commit (details)
  10. [LLDB][NFC] Adding clarifying comment in (details)
  11. [DAGCombiner] Add combine for (not (strict_fsetcc)) to create a (details)
  12. [WebAssembly] Add reference types target feature (details)
  13. [WebAssembly] Update bleeding-edge CPU features (details)
  14. [msan] Instrument x86.pclmulqdq* intrinsics. (details)
  15. [X86] Make `llc --help` output readable again (details)
  16. [X86] Break the loop in LowerReturn into 2 loops. NFCI (details)
  17. clang: Only define OBJC_NEW_PROPERTIES when -x objective-c (details)
Commit 3f8b100e94b5c848843fa91c9782d9d4df4bb026 by dmitry.polukhin
[clang-tidy] Add library for clang-tidy main function
Summary: This library allows to create clang-tidy tools with custom
checks outside of llvm repo using prebuilt clang release tarball.
Test Plan: Checked that clang-tidy works as before. New library exists
in istall dir.
Reviewers: smeenai, gribozavr, stephanemoore
Subscribers: mgorny, xazax.hun, cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision:
The file was modifiedclang-tools-extra/clang-tidy/tool/CMakeLists.txt
The file was addedclang-tools-extra/clang-tidy/tool/ClangTidyToolMain.cpp
The file was modifiedclang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
The file was addedclang-tools-extra/clang-tidy/tool/ClangTidyMain.h
Commit 36b887ed15a2d42e34abd9dec96c06779517284c by llvmgnsyncbot
[gn build] Port 3f8b100e94b
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/tool/
Commit 87c46a312975b193bf056b992ae6d778e528026b by Matthew.Arsenault
AMDGPU: Don't error on ds.ordered intrinsic in function
These should be assumed to be called from a compute context. Also don't
use a 2 entry switch over constants.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.ll
Commit 3b93945587a15bb92dd618214037b73197a6dc57 by Matthew.Arsenault
AMDGPU/GlobalISel: Select wqm, softwqm and wwm intrinsics
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wqm.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wwm.mir
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.softwqm.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wwm.ll
Commit b1f3a0f972f60587f8bd689442f0c71a78273c8d by craig.topper
Revert a107f86 "[GlobalsAA] Add back a check to
intrinsic_addresstaken.ll to see if the AVX and AVX512 bots still fail
for it."
It still fails some buildbots which is what I was trying to test.
The file was modifiedllvm/test/Analysis/GlobalsModRef/intrinsic_addresstaken.ll
Commit 8a81daaa8b58aeaa192a47c4ce7f94b4d59ce082 by rnk
[AST] Split parent map traversal logic into ParentMapContext.h
The only part of ASTContext.h that requires most AST types to be
complete is the parent map. Nothing in Clang proper uses the ParentMap,
so split it out into its own class. Make ASTContext own the
ParentMapContext so there is still a one-to-one relationship.
After this change, 562 fewer files depend on ASTTypeTraits.h, and 66
fewer depend on TypeLoc.h:
$ diff -u deps-before.txt deps-after.txt | \
   grep '^[-+] ' | sort | uniq -c | sort -nr | less
     562 -    ../clang/include/clang/AST/ASTTypeTraits.h
     340 +    ../clang/include/clang/AST/ParentMapContext.h
      66 -    ../clang/include/clang/AST/TypeLocNodes.def
      66 -    ../clang/include/clang/AST/TypeLoc.h
      15 -    ../clang/include/clang/AST/TemplateBase.h
... I computed deps-before.txt and deps-after.txt with `ninja -t deps`.
This removes a common and key dependency on TemplateBase.h and
This also has the effect of breaking the ParentMap RecursiveASTVisitor
instantiation into its own file, which roughly halves the compilation
time of ASTContext.cpp (29.75s -> 17.66s). The new file takes 13.8s to
I left behind forwarding methods for getParents(), but clients will need
to include a new header to make them work:
#include "clang/AST/ParentMapContext.h"
I noticed that this parent map functionality is unfortunately duplicated
in ParentMap.h, which only works for Stmt nodes.
Reviewed By: rsmith
Differential Revision:
The file was modifiedclang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/ExprSequence.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp
The file was modifiedclang/lib/AST/CMakeLists.txt
The file was modifiedlldb/include/lldb/Symbol/TypeSystemClang.h
The file was modifiedclang/lib/CodeGen/CGCall.h
The file was modifiedclang/lib/AST/Linkage.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/lib/Tooling/ASTDiff/ASTDiff.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
The file was addedclang/include/clang/AST/ParentMapContext.h
The file was addedclang/lib/AST/ParentMapContext.cpp
Commit da8bada9383379ad4bdce8016dd9441d88dafeb0 by llvmgnsyncbot
[gn build] Port 8a81daaa8b5
The file was modifiedllvm/utils/gn/secondary/clang/lib/AST/
Commit 596d06145a2b94fa9549f0e8cadc641586dfab1d by eugenis
[GWP-ASan] enable/disable and fork support.
* Implement enable() and disable() in GWP-ASan.
* Setup atfork handler.
* Improve test harness sanity and re-enable GWP-ASan in Scudo.
Scudo_standalone disables embedded GWP-ASan as necessary around fork().
Standalone GWP-ASan sets the atfork handler in init() if asked to. This
requires a working malloc(), therefore GWP-ASan initialization in Scudo
is delayed to the post-init callback.
Test harness changes are about setting up a single global instance of
the GWP-ASan allocator so that pthread_atfork() does not create dangling
Test case shamelessly stolen from D72470.
Reviewers: cryptoad, hctim, jfb
Subscribers: mgorny, jfb, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision:
The file was modifiedcompiler-rt/lib/gwp_asan/guarded_pool_allocator.h
The file was modifiedcompiler-rt/lib/gwp_asan/
The file was addedcompiler-rt/lib/gwp_asan/tests/harness.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/combined_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/
The file was modifiedcompiler-rt/lib/gwp_asan/platform_specific/guarded_pool_allocator_posix.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
The file was modifiedcompiler-rt/lib/gwp_asan/tests/harness.h
The file was modifiedcompiler-rt/lib/gwp_asan/tests/CMakeLists.txt
The file was addedcompiler-rt/lib/gwp_asan/tests/enable_disable.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/combined.h
The file was modifiedcompiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp
Commit 9fa0f236d5011630932e8358e45f81cd21861911 by evandro.menezes
[PATCH] [Target] Test commit
Modify comment to reflect the current users of `Regisgter.CostPerUse`.
The file was modifiedllvm/include/llvm/Target/
Commit 118efa5cda868604f3507760ca061f69b0050b19 by shafik
[LLDB][NFC] Adding clarifying comment in
It is not obvious that the code was correct since it would seem as if we
want to perform the dump for each symbol file.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
Commit d3bf06bc81e38202ab2684b17f6bdb23784173d7 by craig.topper
[DAGCombiner] Add combine for (not (strict_fsetcc)) to create a
strict_fsetcc with the opposite condition.
Unlike the existing code that I modified here, I only handle the case
where the strict_fsetcc has a single use. Not sure exactly how to handle
multiples uses.
Testing this on X86 is hard because we already have a other combines
that get rid of lowered version of the integer setcc that this xor will
eventually become. So this combine really just saves a bunch of extra
nodes being created. Not sure about other targets.
Differential Revision:
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar-cmp.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 764f4089e89e4693b7bb8f1ee18080703ce760dd by aheejin
[WebAssembly] Add reference types target feature
Summary: This adds the reference types target feature. This does not
enable any more functionality in LLVM/clang for now, but this is
necessary to embed the info in the target features section, which is
used by Binaryen and Emscripten. It turned out that after D69832
`-fwasm-exceptions` crashed because we didn't have the reference types
target feature.
Reviewers: tlively
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish,
cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision:
The file was modifiedllvm/lib/Target/WebAssembly/
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
The file was addedllvm/test/CodeGen/WebAssembly/reference-types.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/target-features.ll
The file was modifiedclang/lib/Basic/Targets/WebAssembly.h
The file was modifiedclang/test/Preprocessor/wasm-target-features.c
The file was modifiedclang/lib/Basic/Targets/WebAssembly.cpp
The file was modifiedllvm/lib/Target/WebAssembly/
Commit 65eb11306e921bb0299100dfc61e79858f903c1b by aheejin
[WebAssembly] Update bleeding-edge CPU features
Summary: This adds bulk memory and tail call to "bleeding-edge" CPU,
since their implementation in LLVM/clang seems mostly complete.
Reviewers: tlively
Subscribers: dschuff, sbc100, jgravelle-google, sunfish, cfe-commits
Tags: #clang
Differential Revision:
The file was modifiedclang/test/Preprocessor/wasm-target-features.c
The file was modifiedllvm/lib/Target/WebAssembly/
The file was modifiedclang/lib/Basic/Targets/WebAssembly.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/target-features.ll
Commit 1df8549b26892198ddf77dfd627eb9f979d45b7e by eugenis
[msan] Instrument x86.pclmulqdq* intrinsics.
Summary: These instructions ignore parts of the input vectors which
makes the default MSan handling too strict and causes false positive
Reviewers: vitalybuka, RKSimon, thakis
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was addedllvm/test/Instrumentation/MemorySanitizer/clmul.ll
Commit 70cbf8c71c510077baadcad305fea6f62e830b06 by lebedev.ri
[X86] Make `llc --help` output readable again
Long `cl::value_desc()` is added right after the flag name, before
`cl::desc()` column. And thus the `cl::desc()` column, for all flags, is
padded to the right, which makes the output unreadable.
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Commit 2c1decc040db57ef05ff2e02f9f96131632edf79 by craig.topper
[X86] Break the loop in LowerReturn into 2 loops. NFCI
I believe for STRICT_FP I need to use a STRICT_FP_EXTEND for the
extending to f80 for returning f32/f64 in 32-bit mode when SSE is
enabled. The STRICT_FP_EXTEND node requires a Chain. I need to get that
node onto the chain before any CopyToRegs are emitted. This is because
all the CopyToRegs are glued and chained together. So I can't put a
STRICT_FP_EXTEND on the chain between the glued nodes without also
glueing the STRICT_ FP_EXTEND.
This patch moves all the extend creation to a first pass and then
creates the copytoregs and fills out RetOps in a second pass.
Differential Revision:
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 1e487e4c16821b6de3d651f618274df90bd3fad9 by Duncan P. N. Exon Smith
clang: Only define OBJC_NEW_PROPERTIES when -x objective-c
Since 2009 (in r63846) we've been `#define`-ing OBJC_NEW_PROPERTIES all
the time on Darwin, but this macro only makes sense for `-x objective-c`
and `-x objective-c++`.  Restrict it to those cases (for which there is
already separate logic). rdar://problem/10050342
The file was modifiedclang/test/Preprocessor/init.c
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp