1. [llvm-exegesis][mips] Add lit test (details)
  2. [AArch64] Enable clustering memory accesses to fixed stack objects (details)
  3. [AArch64] Improve codegen of volatile load/store of i128 (details)
  4. [OpenCL] Add builtin function extension handling (details)
  5. recommit: [ASTImporter] Friend class decl should not be visible in its (details)
  6. [DebugInfo] Correctly handle salvaged casts and split fragments at ISel (details)
  7. [Syntax] Allow to mutate syntax trees (details)
  8. [Syntax] Uppercase the first letter of the test name. NFC (details)
Commit 862a60241687a2f718d2c4f554afd9d520da8952 by Milos.Stojanovic
[llvm-exegesis][mips] Add lit test
Adding a basic lit test for MIPS.
Differential Revision:
The file was addedllvm/test/tools/llvm-exegesis/Mips/lit.local.cfg
The file was addedllvm/test/tools/llvm-exegesis/Mips/latency-by-opcode-name.s
Commit 97ca7c2cc9083ebde681b0e11f7a8ccae1966d64 by jay.foad
[AArch64] Enable clustering memory accesses to fixed stack objects
Summary: r347747 added support for clustering mem ops with FI base
operands including support for fixed stack objects in shouldClusterFI,
but apparently this was never tested.
This patch fixes shouldClusterFI to work with scaled as well as unscaled
load/store instructions, and fixes the ordering of memory ops in
MemOpInfo::operator< to ensure that memory addresses always increase,
regardless of which direction the stack grows.
Subscribers: MatzeB, kristof.beyls, hiraditya, javed.absar, arphaman,
Tags: #llvm
Differential Revision:
The file was modifiedllvm/test/CodeGen/AArch64/cluster-frame-index.mir
The file was modifiedllvm/lib/CodeGen/MachineScheduler.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
The file was modifiedllvm/test/CodeGen/AArch64/expand-select.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-memset-inline.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/tailcall_misched_graph.ll
Commit 364b8f5fbe0ac496931dcbd6f0493781f0677e82 by victor.campos
[AArch64] Improve codegen of volatile load/store of i128
Summary: Instead of generating two i64 instructions for each load or
store of a volatile i128 value (two LDRs or STRs), now emit a single LDP
or STP.
Reviewers: labrinea, t.p.northover, efriedma
Reviewed By: efriedma
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/test/CodeGen/AArch64/cmpxchg-O0.ll
The file was addedllvm/test/CodeGen/AArch64/i128_volatile_load_store.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 308b8b76ceee805c964faf9f2176e3e05532a45b by sven.vanhaastregt
[OpenCL] Add builtin function extension handling
Provide a mechanism to attach OpenCL extension information to builtin
functions, so that their use can be restricted according to the
extension(s) the builtin is part of.
Patch by Pierre Gondois and Sven van Haastregt.
Differential Revision:
The file was modifiedclang/test/SemaOpenCL/
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/lib/Sema/
The file was modifiedclang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
Commit bc5b7e21e32b23603f4d6148adeb88cd34dd287e by gabor.marton
recommit: [ASTImporter] Friend class decl should not be visible in its
Summary: In the past we had to use DeclContext::makeDeclVisibleInContext
to make friend declarations available for subsequent lookup calls and
this way we could chain (redecl) the structurally equivalent decls. By
doing this we created an AST that improperly made declarations visible
in some contexts, so the AST was malformed. Since we use the importer
specific lookup this is no longer necessary, because with that we can
find every previous nodes.
Reviewers: balazske, a_sidorin, a.sidorin, shafik
Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, teemperor,
Tags: #clang
Differential Revision:
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
Commit bb1b0bc4e57428ce364d3d6c075ff03cb8973462 by stozer
[DebugInfo] Correctly handle salvaged casts and split fragments at ISel
Previously, LLVM had no functional way of performing casts inside of a
DIExpression(), which made salvaging cast instructions other than Noop
casts impossible. This patch enables the salvaging of casts by using the
DW_OP_LLVM_convert operator for SExt and Trunc instructions.
There is another issue which is exposed by this fix, in which fragment
DIExpressions (which are preserved more readily by this patch) for
values that must be split across registers in ISel trigger an assertion,
as the 'split' fragments extend beyond the bounds of the fragment
DIExpression causing an error. This patch also fixes this issue by
checking the fragment status of DIExpressions which are to be split, and
dropping fragments that are invalid.
The file was modifiedllvm/test/Transforms/InstCombine/cast-mul-select.ll
The file was modifiedllvm/test/Transforms/InstCombine/pr43893.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was addedllvm/test/DebugInfo/salvage-cast-debug-info.ll
The file was modifiedllvm/test/Transforms/EarlyCSE/debug-info-undef.ll
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/CodeGen/ARM/fragmented-args-multiple-regs.ll
The file was modifiedllvm/test/DebugInfo/X86/dbg-value-dropped-instcombine.ll
The file was modifiedllvm/test/Transforms/InstCombine/unavailable-debug.ll
Commit 1ad15046dcf6ff8bafc4a1ea13f214f8d6ba7de6 by ibiryukov
[Syntax] Allow to mutate syntax trees
Summary: This patch adds facilities to mutate the syntax trees and
produce corresponding text replacements.
The public interface of the syntax library now includes facilities to:
   1. perform type-safe modifications of syntax trees,
   2. compute textual replacements to apply the modifications,
   3. create syntax trees not backed by the source code.
For each of the three, we only add a few example transformations in this
patch to illustrate the idea, support for more kinds of nodes and
transformations will be done in follow-up patches.
The high-level mutation operations are implemented on top of operations
that allow to arbitrarily change the trees. They are considered to be
implementation details and are not available to the users of the
Reviewers: sammccall, gribozavr2
Reviewed By: gribozavr2
Subscribers: merge_guards_bot, mgorny, cfe-commits
Tags: #clang
Differential Revision:
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Tokens.cpp
The file was addedclang/lib/Tooling/Syntax/Mutations.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Tokens.h
The file was addedclang/include/clang/Tooling/Syntax/Mutations.h
The file was modifiedclang/unittests/Tooling/Syntax/CMakeLists.txt
The file was modifiedclang/include/clang/Tooling/Syntax/BuildTree.h
The file was modifiedclang/lib/Tooling/Syntax/CMakeLists.txt
The file was addedclang/lib/Tooling/Syntax/ComputeReplacements.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was addedclang/lib/Tooling/Syntax/Synthesis.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
Commit 038f53882e7cc25da0a71018d1c7f9b4706675c2 by ibiryukov
[Syntax] Uppercase the first letter of the test name. NFC
To match naming style of other tests.
The file was modifiedclang/unittests/Tooling/Syntax/TokensTest.cpp