Changes from Git (git http://labmaster3.local/git/llvm-project.git)


  1. [AArch64] Make the memtag sanitizer require the memtag extension (details)
  2. Enable memtag sanitizer in all AArch64 toolchains (details)
  3. [llvm-readelf] Implement note parsing for NT_FILE and unknown (details)
  4. Revert r368691; test checked in without changes by accident (details)
  5. [clang-tidy] Update `TransformerClangTidyCheck` to use new (details)
  6. [TargetLowering][NFC] prepareUREMEqFold(): fixup comment (details)
  7. [CodeGen][SelectionDAG] More efficient code for X % C == 0 (SREM case) (details)
  8. [libc++] Always build with -fvisibility=hidden (details)
Commit 5b25674b73070f3f882d69737da1a84ac23963f0 by momchil.velikov
[AArch64] Make the memtag sanitizer require the memtag extension
... or otherwise we get an ICE.
Differential Revision:
llvm-svn: 368696
The file was modifiedclang/include/clang/Basic/
The file was modifiedclang/test/Driver/fsanitize.c
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
Commit 941660299ac6d30919af9d943794a2ac516112fc by momchil.velikov
Enable memtag sanitizer in all AArch64 toolchains
That sanitizer does not have runtime library or other dependencies.
Differential Revision:
llvm-svn: 368697
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
Commit 63ac3e5cbe0394ae3cf563f0d13f71ca07b129cf by rupprecht
[llvm-readelf] Implement note parsing for NT_FILE and unknown
Summary: This patch implements two note parsers; one for NT_FILE
coredumps, e.g.:
CORE                  0x00000080      NT_FILE (mapped files)
   Page size: 4096
                Start                 End         Page Offset
   0x0000000000001000  0x0000000000002000  0x0000000000003000
   0x0000000000004000  0x0000000000005000  0x0000000000006000
   0x0000000000007000  0x0000000000008000  0x0000000000009000
(A more realistic example can be tested locally by creating a crashing
program and running `llvm-readelf -n core`)
And also implements a raw hex dump for unknown descriptor data for
unhandled descriptor types.
Reviewers: MaskRay, jhenderson, grimar, alexshap
Reviewed By: MaskRay, grimar
Subscribers: emaste, llvm-commits, labath
Tags: #llvm
Differential Revision:
llvm-svn: 368698
The file was modifiedllvm/test/tools/llvm-readobj/note-unknown.s
The file was modifiedllvm/test/tools/llvm-readobj/note-freebsd.s
The file was addedllvm/test/tools/llvm-readobj/note-core-ntfile-bad.test
The file was addedllvm/test/tools/llvm-readobj/note-core-ntfile.test
The file was modifiedllvm/test/tools/llvm-readobj/note-amd.s
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 07e66137561fc7def181fe098d61e71b59267d26 by hubert.reinterpretcast
Revert r368691; test checked in without changes by accident
llvm-svn: 368699
The file was removedllvm/test/CodeGen/PowerPC/aix-lr.ll
Commit 1896a31dd33147d6bd798b5b209ec74e50b27783 by yitzhakm
[clang-tidy] Update `TransformerClangTidyCheck` to use new
`buildMatchers` functionality.
`buildMatchers` is the new, more general way to extract the matcher from
a rule. This change migrates the code to use it instead of
Reviewers: gribozavr
Subscribers: xazax.hun, cfe-commits
Tags: #clang
Differential Revision:
llvm-svn: 368700
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
Commit f4de7eda4a7098ea3a5d60c56af8ab8e9d28ff08 by lebedev.ri
[TargetLowering][NFC] prepareUREMEqFold(): fixup comment
The comment initially matched the code, but the code was incorrect and
was fixed after the initial revert back back when it was introduced, but
the comment was never updated.
llvm-svn: 368701
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 676594305a16bb085b8dfa24a5adbb5e97be6d69 by lebedev.ri
[CodeGen][SelectionDAG] More efficient code for X % C == 0 (SREM case)
Summary: This implements an optimization described in Hacker's Delight
10-17: when `C` is constant, the result of `X % C == 0` can be computed
more cheaply without actually calculating the remainder. The motivation
is discussed here:
One huge caveat: this signed case is only valid for positive divisors.
While we can freely negate negative divisors, we can't negate `INT_MIN`,
so for now if `INT_MIN` is encountered, we bailout. As a follow-up, it
should be possible to handle that more gracefully via extra
This passes llvm's test-suite, and from cursory(!) cross-examination the
folds (the assembly) match those of GCC, and manual checking via alive
did not reveal any issues (other than the `INT_MIN` case)
Reviewers: RKSimon, spatel, hermord, craig.topper, xbolva00
Reviewed By: RKSimon, xbolva00
Subscribers: xbolva00, thakis, javed.absar, hiraditya, dexonsmith,
Tags: #llvm
Differential Revision:
llvm-svn: 368702
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-optsize.ll
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq.ll
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq-optsize.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vselect-avx.ll
The file was modifiedllvm/test/CodeGen/X86/srem-seteq.ll
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-vec-splat.ll
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq-vec-splat.ll
Commit 8a033a9e3fb96b9a1099325c4cd218c1c979d9d9 by Louis Dionne
[libc++] Always build with -fvisibility=hidden
Summary: This avoids symbols being accidentally exported from the dylib
when they shouldn't. The next step is to use a pragma to apply hidden
visibility to all declarations (unless otherwise specified), which will
allow us to drop the per-declaration hidden visibility attributes we
currently have.
This also has the nice side effect of making sure the dylib exports the
same symbols regardless of the optimization level.
Reviewers: EricWF, mclow.lists
Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits
Tags: #libc
Differential Revision:
llvm-svn: 368703
The file was modifiedlibcxx/include/chrono
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedlibcxx/include/filesystem
The file was modifiedlibcxx/src/valarray.cpp