SuccessChanges

Summary

  1. [OpenMP][Test] Add check for aux-triple predefined macros (details)
  2. AMDGPU/SILoadStoreOptimizer: Simplify function (details)
  3. [ARM][CMSE] Add CMSE header and builtins (details)
  4. gn build: Merge 600d123c6ff (details)
  5. [Alignment][NFC] Adding Align compatible methods to (details)
  6. [ARM][MVE] findVCMPToFoldIntoVPS. NFC. (details)
  7. [Matrix] Add first set of matrix intrinsics and initial lowering pass. (details)
  8. gn build: Merge 526244b187d (details)
  9. Fix naming style. NFC. (details)
  10. [clang-tidy] Use early returns to make the code easier to read and (details)
  11. [clang] Turn -fno-builtin flag into an IR Attribute (details)
  12. [amdgpu] Fix `-Wenum-compare` warning. NFC. (details)
  13. [ASTImporter] Support functions with placeholder return types ... (details)
  14. [fuzzer] Add basic support for emscripten. (details)
Commit 2d6a5e4fe45d0a1f1c94df6b3422ffb0d676fb6d by alexey.bader
[OpenMP][Test] Add check for aux-triple predefined macros
Summary: Make sure that auxiliary target specific macros are defined in
OpenMP mode.
Reviewers: ABataev, jdoerfert
Subscribers: guansong, ebevhan, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71413
The file was addedclang/test/OpenMP/aux-triple-macros.cpp
Commit bf13a71095fd95897cca032e194d73b88af22dea by tstellar
AMDGPU/SILoadStoreOptimizer: Simplify function
Reviewers: arsenm, nhaehnle
Reviewed By: arsenm
Subscribers: merge_guards_bot, kzhuravl, jvesely, wdng, yaxunl,
dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71044
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp (diff)
Commit 600d123c6ff16180a20ebb9b55476257bf69513a by momchil.velikov
[ARM][CMSE] Add CMSE header and builtins
This is patch C2 as mentioned in RFC
http://lists.llvm.org/pipermail/cfe-dev/2019-March/061834.html
This adds CMSE builtin functions, and introduces arm_cmse.h header which
has useful macros, functions, and data types for end-users of CMSE.
Patch by Javed Absar.
Diferential Revision: https://reviews.llvm.org/D70817
The file was modifiedclang/include/clang/Basic/BuiltinsARM.def (diff)
The file was addedclang/test/CodeGen/arm-cmse-secure.c
The file was addedclang/test/CodeGen/arm-cmse.c
The file was modifiedclang/lib/Headers/CMakeLists.txt (diff)
The file was addedclang/lib/Headers/arm_cmse.h
The file was addedclang/test/CodeGen/arm-cmse-nonsecure.c
The file was addedclang/test/Headers/arm-cmse-header-ns.c
The file was addedclang/test/Headers/arm-cmse-header.c
Commit a3d3d17be304afde60c36a47d8c918b6915dc3cb by llvmgnsyncbot
gn build: Merge 600d123c6ff
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn (diff)
Commit dbc5acf8ce8ae7b9adfa61e8133b50f2b82e4cde by gchatelet
[Alignment][NFC] Adding Align compatible methods to
IntrinsicInst/IRBuilder
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D71420
The file was modifiedclang/lib/CodeGen/CGBuilder.h (diff)
The file was modifiedllvm/lib/IR/IRBuilder.cpp (diff)
The file was modifiedllvm/include/llvm/IR/IRBuilder.h (diff)
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h (diff)
Commit 9468e3334ba54fbb1b209aaec662d7375451fa1f by sjoerd.meijer
[ARM][MVE] findVCMPToFoldIntoVPS. NFC.
This adds ReachingDefAnalysis (RDA) to the VPTBlock pass, so that we can
reimplement findVCMPToFoldIntoVPS with just a few calls to RDA.
Differential Revision: https://reviews.llvm.org/D71330
The file was modifiedllvm/lib/Target/ARM/MVEVPTBlockPass.cpp (diff)
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll (diff)
Commit 526244b187d23351056de6aba715dc3d44668b1c by flo
[Matrix] Add first set of matrix intrinsics and initial lowering pass.
This is the first patch adding an initial set of matrix intrinsics and a
corresponding lowering pass. This has been discussed on llvm-dev:
http://lists.llvm.org/pipermail/llvm-dev/2019-October/136240.html
The first patch introduces four new intrinsics (transpose, multiply,
columnwise load and store) and a LowerMatrixIntrinsics pass, that lowers
those intrinsics to vector operations.
Matrixes are embedded in a 'flat' vector (e.g. a 4 x 4 float matrix
embedded in a <16 x float> vector) and the intrinsics take the dimension
information as parameters. Those parameters need to be ConstantInt. For
the memory layout, we initially assume column-major, but in the RFC we
also described how to extend the intrinsics to support row-major as
well.
For the initial lowering, we split the input of the intrinsics into a
set of column vectors, transform those column vectors and concatenate
the result columns to a flat result vector.
This allows us to lower the intrinsics without any shape propagation, as
mentioned in the RFC. In follow-up patches, we plan to submit the
following improvements:
* Shape propagation to eliminate the embedding/splitting for each
  intrinsic.
* Fused & tiled lowering of multiply and other operations.
* Optimization remarks highlighting matrix expressions and costs.
* Generate loops for operations on large matrixes.
* More general block processing for operation on large vectors,
  exploiting shape information.
We would like to add dedicated transpose, columnwise load and store
intrinsics, even though they are not strictly necessary. For example, we
could instead emit a large shufflevector instruction instead of the
transpose. But we expect that to
(1) become unwieldy for larger matrixes (even for 16x16 matrixes,
     the resulting shufflevector masks would be huge),
(2) risk instcombine making small changes, causing us to fail to
     detect the transpose, preventing better lowerings
For the load/store, we are additionally planning on exploiting the
intrinsics for better alias analysis.
Reviewers: anemet, Gerolf, reames, hfinkel, andrew.w.kaylor, efriedma,
rengolin
Reviewed By: anemet
Differential Revision: https://reviews.llvm.org/D70456
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32.ll
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/strided-store-i32.ll
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/strided-load-float.ll
The file was addedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td (diff)
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/bigger-expressions-double.ll
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-float.ll
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/strided-store-float.ll
The file was modifiedllvm/include/llvm/Transforms/Scalar.h (diff)
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/transpose-double.ll
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp (diff)
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/strided-load-double.ll
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/strided-load-i32.ll
The file was addedllvm/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/transpose-float.ll
The file was modifiedllvm/lib/Transforms/Scalar/CMakeLists.txt (diff)
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/transpose-i32.ll
The file was modifiedllvm/docs/LangRef.rst (diff)
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-double.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp (diff)
The file was modifiedllvm/lib/Passes/PassRegistry.def (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp (diff)
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/strided-store-double.ll
Commit 107703abd6eba56d7f6d4792c38ddb0f7baddd1c by llvmgnsyncbot
gn build: Merge 526244b187d
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn (diff)
Commit 2b09390c136247b42c1b54f42ce925e31d51062a by alexfh
Fix naming style. NFC.
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h (diff)
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp (diff)
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp (diff)
Commit 65996c302a4472e597780c99bd834f9bf8978712 by alexfh
[clang-tidy] Use early returns to make the code easier to read and
potentially run faster
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp (diff)
Commit 0508c994f0b14144041f2cfd3ba9f9a80f03de08 by gchatelet
[clang] Turn -fno-builtin flag into an IR Attribute
Summary: This is a follow up on https://reviews.llvm.org/D61634#1742154
to turn the clang driver -fno-builtin flag into an IR attribute. I also
investigated pushing the attribute earlier on (in Sema) but it looks
like this patch is simple and will cover all function calls.
Reviewers: aaron.ballman, courbet
Subscribers: cfe-commits, tejohnson
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71193
The file was modifiedclang/test/CodeGen/memccpy-libcall.c (diff)
The file was modifiedclang/test/CodeGen/libcalls-fno-builtin.c (diff)
The file was modifiedclang/lib/CodeGen/CGCall.cpp (diff)
Commit 11b2b2f4b10023585cfc53e0dfd06441532ab954 by michael.hliao
[amdgpu] Fix `-Wenum-compare` warning. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp (diff)
Commit 25234fd69e32e51bc800686075265f535d69d990 by gabor.marton
[ASTImporter] Support functions with placeholder return types ...
Summary: Support functions with placeholder return types even in cases
when the type is declared in the body of the function. Example: auto f()
{ struct X{}; return X(); }
Reviewers: balazske, a_sidorin, a.sidorin, shafik
Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, teemperor,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70819
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp (diff)
The file was modifiedclang/unittests/AST/Language.h (diff)
The file was modifiedclang/unittests/AST/Language.cpp (diff)
The file was modifiedclang/unittests/AST/MatchVerifier.h (diff)
The file was modifiedclang/lib/AST/ASTImporter.cpp (diff)
Commit 23bee0b0cf7a1af084ea06f2b7dfde1767837084 by metzman
[fuzzer] Add basic support for emscripten.
Summary: Add basic support for emscripten.
This enables libFuzzer to build (using build.sh) for emscripten and fuzz
a target compiled with
-fsanitize-coverage=inline-8bit-counters.
Basic fuzzing and bug finding work with this commit. RSS limit and
timeouts will not work because they depend on system functions that are
not implemented/widely supported in emscripten.
Reviewers: kcc, vitalybuka, hctim
Reviewed By: hctim
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D71285
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDriver.cpp (diff)
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp (diff)
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp (diff)
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDefs.h (diff)
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp (diff)
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp (diff)