1. [mlir] [VectorOps] A "reference" lowering of vector.transpose to LLVM IR (details)
  2. [MLIR][NFC] loop tiling - improve comments / naming (details)
  3. Create basic SBEnvironment class (details)
  4. [MLIR] move loopUnrollJamBy*Factor to loop transforms utils (details)
  5. Add an algorithm for performing "optimal" layout of a struct. (details)
  6. [NFC][RUIP] Small debug output refine (details)
  7. [libc] Enable llvmlibc clang-tidy checks (details)
  8. [objc_direct] also go through implementations when looking for clashes (details)
  9. Make test more flexible for when the variable is renamed in the generated LLVM IR. [NFC] (details)
Commit 8d46bfa8084700f2b5c0cb2b668024290d9ed729 by ajcbik
[mlir] [VectorOps] A "reference" lowering of vector.transpose to LLVM IR

Summary: Makes the vector.tranpose runnable on CPU.

Reviewers: nicolasvasilache, andydavis1, rriddle

Reviewed By: nicolasvasilache

Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits

Tags: #llvm

Differential Revision:
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/include/mlir/Dialect/Vector/
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
Commit 78e61496bc49c52d1452b8913c306cf96e577b8b by uday
[MLIR][NFC] loop tiling - improve comments / naming

Improve comments, naming, and other cleanup

Signed-off-by: Uday Bondhugula <>

Differential Revision:
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
Commit ca69be218c03b1528b1439c4ca56074e434c094d by waltermelon
Create basic SBEnvironment class
The file was modifiedlldb/bindings/interface/SBLaunchInfo.i
The file was addedlldb/bindings/interface/SBEnvironment.i
The file was modifiedlldb/source/API/SBLaunchInfo.cpp
The file was modifiedlldb/include/lldb/Utility/Environment.h
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was modifiedlldb/include/lldb/API/SBPlatform.h
The file was modifiedlldb/include/lldb/API/SBLaunchInfo.h
The file was addedlldb/source/API/SBEnvironment.cpp
The file was modifiedlldb/bindings/interfaces.swig
The file was modifiedlldb/bindings/interface/SBPlatform.i
The file was modifiedlldb/source/API/CMakeLists.txt
The file was modifiedlldb/include/lldb/API/SBDefines.h
The file was modifiedlldb/source/API/SBPlatform.cpp
The file was modifiedlldb/include/lldb/API/LLDB.h
The file was modifiedlldb/include/lldb/API/SBTarget.h
The file was addedlldb/test/API/python_api/sbenvironment/
The file was addedlldb/include/lldb/API/SBEnvironment.h
The file was modifiedlldb/bindings/headers.swig
The file was modifiedlldb/source/API/SBTarget.cpp
The file was modifiedlldb/bindings/interface/SBTarget.i
Commit 98fa615002826e2e67892df0ee6847fbfa182308 by uday
[MLIR] move loopUnrollJamBy*Factor to loop transforms utils

The declarations for these were already part of transforms utils, but
the definitions were left in affine transforms. Move definitions to loop
transforms utils.

Signed-off-by: Uday Bondhugula <>

Differential Revision:
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
Commit 49e5a97ec363a844b167340a82b54a01dc4e671a by rjmccall
Add an algorithm for performing "optimal" layout of a struct.

The algorithm supports both assigning a fixed offset to a field prior to
layout and allowing fields to have sizes that aren't multiples of their
required alignments.  This means that the well-known algorithm of sorting
by decreasing alignment isn't always good enough.  Still, we start with
that, and only if that leaves padding around do we fall back on a greedy
padding-minimizing algorithm.

There is no known efficient algorithm for producing a guaranteed-minimal
layout in all cases.  In fact, allowing arbitrary fixed-offset fields means
there's a straightforward reduction from bin-packing, making this NP-hard.
But as usual with such problems, we can still efficiently produce adequate
solutions to the cases that matter most to us.

I intend to use this in coroutine frame layout, where the retcon lowerings
very badly want to minimize total space usage, and where the switch lowering
can indeed produce a header with interior padding if the promise field is
highly-aligned.  But it may be useful in a much wider variety of situations.
The file was addedllvm/unittests/Support/OptimalLayoutTest.cpp
The file was addedllvm/include/llvm/Support/OptimalLayout.h
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was modifiedllvm/unittests/Support/CMakeLists.txt
The file was addedllvm/lib/Support/OptimalLayout.cpp
Commit 816ad48c820bf49feb276fa623d5115c0bc9ee66 by Jinsong Ji
[NFC][RUIP] Small debug output refine

Add a new line, so that we always print MI in a new line,
before and after UpdateRegMask, for easier check..
The file was modifiedllvm/lib/CodeGen/RegUsageInfoPropagate.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/ipra-04.ll
Commit dab219eedd29fdadf6599224c54c6fd74637cb41 by paulatoth
[libc] Enable llvmlibc clang-tidy checks

Add  clang-tidy for llvm-libc source directory.

Example of check in action:
/workspace/llvm-project/libc/src/string/strcpy.cpp:10:1: error: system include stdio.h not allowed [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <stdio.h>

Reviewers: sivachandra, abrachet

Reviewed By: sivachandra, abrachet

Subscribers: aheejin, MaskRay, tschuett, libc-commits

Tags: #libc-project

Differential Revision:
The file was modifiedlibc/src/math/round_redirector.cpp
The file was addedlibc/src/.clang-tidy
Commit 20d704a75ed51c7a9a155aa3978d0c02671c3f69 by phabouzit
[objc_direct] also go through implementations when looking for clashes

Some methods are sometimes declared in the @implementation blocks which
can cause undiagnosed clashes.

Just write a checkObjCDirectMethodClashes() for this purpose.

Also make sure that "unavailable" selectors do not inherit

Differential Revision:
Signed-off-by: Pierre Habouzit <>
Radar-ID: rdar://problem/59332804, rdar://problem/59782963
The file was modifiedclang/test/SemaObjC/method-direct.m
The file was modifiedclang/test/SemaObjC/method-direct-one-definition.m
The file was modifiedclang/lib/Sema/SemaDeclObjC.cpp
Commit e79b1ab65b8d4d780f824d138a8f597aed9be766 by douglas.yung
Make test more flexible for when the variable is renamed in the generated LLVM IR. [NFC]
The file was modifiedllvm/test/Transforms/GVNSink/sink-common-code.ll