1. [clang-tidy] performance-inefficient-vector-operation: Support proto (details)
  2. [ELF][ARM] Implement --fix-cortex-a8 to fix erratum 657417 (details)
  3. gn build: Merge r371965 (details)
  4. [SVE][Inline-Asm] Add constraints for SVE predicate registers (details)
  5. Fix the rst doc, unbreak buildbot. (details)
  6. Change signature of __builtin_rotateright64 back to unsigned (details)
Commit ad7a7cea89717daf6b56f35e4bc0b95afe0498a2 by hokein
[clang-tidy] performance-inefficient-vector-operation: Support proto
repeated field
Summary: Finds calls that add element to protobuf repeated field in a
loop without calling Reserve() before the loop. Calling Reserve() first
can avoid unnecessary memory reallocations.
A new option EnableProto is added to guard this feature.
Patch by Cong Liu!
Reviewers: gribozavr, alexfh, hokein, aaron.ballman
Reviewed By: hokein
Subscribers: lebedev.ri, xazax.hun, Eugene.Zelenko, cfe-commits
Tags: #clang, #clang-tools-extra
Differential Revision:
llvm-svn: 371963
The file was modifiedclang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h (diff)
The file was modifiedclang-tools-extra/test/clang-tidy/performance-inefficient-vector-operation.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp (diff)
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/performance-inefficient-vector-operation.rst (diff)
Commit ea99ce5e9b49cf7164355009435a29897934182b by peter.smith
[ELF][ARM] Implement --fix-cortex-a8 to fix erratum 657417
The --fix-cortex-a8 option implements a linker workaround for the
coretex-a8 erratum 657417. A summary of the erratum conditions is:
- A 32-bit Thumb-2 branch instruction B.w, Bcc.w, BL, BLX spans two 4KiB
- The destination of the branch is to the first 4KiB region.
- The instruction before the branch is a 32-bit Thumb-2 non-branch
The linker fix is to redirect the branch to a patch not in the first
4KiB region. The patch forwards the branch on to its target.
The cortex-a8, is an old CPU, with the first implementation of this
workaround in ld.bfd appearing in 2009. The cortex-a8 has been used in
early Android Phones and there are some critical applications that still
need to run on a cortex-a8 that have the erratum. The patch is applied
roughly 10 times on LLD and 20 on Clang when they are built with
--fix-cortex-a8 on an Arm system.
The formal erratum description is avaliable in the ARM Core Cortex-A8
(AT400/AT401) Errata Notice document. This is available from Arm on
request but it seems to be findable via a web search.
Differential Revision:
llvm-svn: 371965
The file was modifiedlld/ELF/CMakeLists.txt (diff)
The file was modifiedlld/ELF/AArch64ErrataFix.cpp (diff)
The file was modifiedlld/ELF/ (diff)
The file was modifiedlld/ELF/Writer.cpp (diff)
The file was modifiedlld/ELF/Config.h (diff)
The file was addedlld/test/ELF/arm-fix-cortex-a8-blx.s
The file was addedlld/test/ELF/arm-fix-cortex-a8-plt.s
The file was addedlld/test/ELF/arm-fix-cortex-a8-nopatch.s
The file was addedlld/test/ELF/arm-fix-cortex-a8-toolarge.s
The file was modifiedlld/ELF/Driver.cpp (diff)
The file was addedlld/test/ELF/arm-fix-cortex-a8-thunk.s
The file was addedlld/test/ELF/arm-fix-cortex-a8-recognize.s
The file was addedlld/ELF/ARMErrataFix.cpp
The file was addedlld/ELF/ARMErrataFix.h
Commit b49bcea42048e145805f181620ddf0ed0af23610 by nicolasweber
gn build: Merge r371965
llvm-svn: 371966
The file was modifiedllvm/utils/gn/secondary/lld/ELF/ (diff)
Commit e55b3bf40ef3e89fc31912102d975863b6501cf1 by kerry.mclaughlin
[SVE][Inline-Asm] Add constraints for SVE predicate registers
Summary: Adds the following inline asm constraints for SVE:
- Upl: One of the low eight SVE predicate registers, P0 to P7 inclusive
- Upa: SVE predicate register with full range, P0 to P15
Reviewers: t.p.northover, sdesmalen, rovka, momchil.velikov,
cameron.mcinally, greened, rengolin
Reviewed By: rovka
Subscribers: javed.absar, tschuett, rkruppe, psnobl, cfe-commits,
Tags: #llvm
Differential Revision:
llvm-svn: 371967
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-sve-asm.ll (diff)
The file was modifiedllvm/docs/LangRef.rst (diff)
The file was modifiedllvm/lib/IR/InlineAsm.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
Commit 3716547c5fe31115cf648950df201491c1858035 by hokein
Fix the rst doc, unbreak buildbot.
llvm-svn: 371968
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/performance-inefficient-vector-operation.rst (diff)
Commit a1bc428b897900eb562df45622f01e6f94329dda by karl-johan.karlsson
Change signature of __builtin_rotateright64 back to unsigned
The signature of __builtin_rotateright64 was by misstake changed from
unsigned to signed in r360863, this patch will change it back to
unsigned as intended.
This fixes pr43309
Reviewers: efriedma, hans
Reviewed By: hans
Differential Revision:
llvm-svn: 371969
The file was modifiedclang/include/clang/Basic/Builtins.def (diff)
The file was modifiedclang/test/CodeGen/avr-builtins.c (diff)