<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/llvm.git/utils/bazel, branch EmptyLineAfterFunctionDefinition</title>
<subtitle>github.com: llvm/llvm-project.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/'/>
<entry>
<title>[Bazel] Ignore both old and new benchmark directories</title>
<updated>2021-11-17T00:49:30+00:00</updated>
<author>
<name>Geoffrey Martin-Noble</name>
<email>gcmn@google.com</email>
</author>
<published>2021-11-17T00:43:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=00e11fdf09f194bfcd22c9150ddea56a5456498e'/>
<id>00e11fdf09f194bfcd22c9150ddea56a5456498e</id>
<content type='text'>
This is getting reverted and relanded a lot, breaking the build each
time.

Differential Revision: https://reviews.llvm.org/D114043
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is getting reverted and relanded a lot, breaking the build each
time.

Differential Revision: https://reviews.llvm.org/D114043
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bazel] Update .bazelignore for moved google/benchmark</title>
<updated>2021-11-16T18:50:09+00:00</updated>
<author>
<name>Geoffrey Martin-Noble</name>
<email>gcmn@google.com</email>
</author>
<published>2021-11-16T18:40:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=7bfa9bd15574fd853db7cfb726f7e3a299c8a6cf'/>
<id>7bfa9bd15574fd853db7cfb726f7e3a299c8a6cf</id>
<content type='text'>
We need to avoid directly processing the Bazel config in LLVM's copy of
google/benchmark, which was moved in
https://github.com/llvm/llvm-project/commit/1ee32055ea.

Differential Revision: https://reviews.llvm.org/D114014
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to avoid directly processing the Bazel config in LLVM's copy of
google/benchmark, which was moved in
https://github.com/llvm/llvm-project/commit/1ee32055ea.

Differential Revision: https://reviews.llvm.org/D114014
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bazel] Enable layering_check for MLIR build</title>
<updated>2021-11-15T23:53:22+00:00</updated>
<author>
<name>Geoffrey Martin-Noble</name>
<email>gcmn@google.com</email>
</author>
<published>2021-11-15T23:31:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=d4238fbf6a691188e1ccda21f88a90bd41d919b6'/>
<id>d4238fbf6a691188e1ccda21f88a90bd41d919b6</id>
<content type='text'>
This feature checks that headers included by a file are provided by a
header exported by one of the direct dependencies of the build rule in
which it is contained. It ensures that appropriate layering (a goal of
the LLVM project) is preserved. So far, I'm only adding this to MLIR
because we've had it turned on internally since the beginning, so MLIR
is already layering clean. It would be nice to also enable it for LLVM,
but that requires some additional cleanup.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D113952
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This feature checks that headers included by a file are provided by a
header exported by one of the direct dependencies of the build rule in
which it is contained. It ensures that appropriate layering (a goal of
the LLVM project) is preserved. So far, I'm only adding this to MLIR
because we've had it turned on internally since the beginning, so MLIR
is already layering clean. It would be nice to also enable it for LLVM,
but that requires some additional cleanup.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D113952
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't define //mlir:MLIRBindingsPythonCore in terms of the NoCAPI and CAPIDeps targets.</title>
<updated>2021-11-12T20:05:24+00:00</updated>
<author>
<name>Peter Hawkins</name>
<email>phawkins@google.com</email>
</author>
<published>2021-11-12T20:02:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=5074a20dec70ef2afef650f770fb45eb0247a4f7'/>
<id>5074a20dec70ef2afef650f770fb45eb0247a4f7</id>
<content type='text'>
We noticed that the library structure causes link ordering problems in Google's internal build. However, we don't think the problem is specific to Google's build, it probably can be reproduced anywhere with the right library structure.

In general splitting the Python bindings from their dependencies (the C API targets) creates the possibility that the two libraries might end up in the wrong order on the linker command line. We can avoid this problem happening by reverting the structure of the MLIRBindingsPythonCore to represent its dependencies in the usual way, rather than composing an incomplete `MLIRBindingsPythonCoreNoCAPI` target and their CAPI dependencies. It was probably a mistake to rewrite this particular `cc_library()` rule in terms of the two, since nothing guarantees that the two will be correctly ordered by the linker when both are being linked into the same binary, and it was only an incidental "cleanup" done in passing.

Otherwise the previous PR (D113565) is fine, since that was about the case where both are being built into two separate shared libraries. It just shouldn't have made this (unrelated) change.

Reviewed By: GMNGeoffrey

Differential Revision: https://reviews.llvm.org/D113773
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We noticed that the library structure causes link ordering problems in Google's internal build. However, we don't think the problem is specific to Google's build, it probably can be reproduced anywhere with the right library structure.

In general splitting the Python bindings from their dependencies (the C API targets) creates the possibility that the two libraries might end up in the wrong order on the linker command line. We can avoid this problem happening by reverting the structure of the MLIRBindingsPythonCore to represent its dependencies in the usual way, rather than composing an incomplete `MLIRBindingsPythonCoreNoCAPI` target and their CAPI dependencies. It was probably a mistake to rewrite this particular `cc_library()` rule in terms of the two, since nothing guarantees that the two will be correctly ordered by the linker when both are being linked into the same binary, and it was only an incidental "cleanup" done in passing.

Otherwise the previous PR (D113565) is fine, since that was about the case where both are being built into two separate shared libraries. It just shouldn't have made this (unrelated) change.

Reviewed By: GMNGeoffrey

Differential Revision: https://reviews.llvm.org/D113773
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][linalg][bufferize] Decouple ComprehensiveBufferize from Linalg</title>
<updated>2021-11-12T01:08:09+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>springerm@google.com</email>
</author>
<published>2021-11-12T01:00:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=d1c8df8743429a79ffd62043f00b6e568b4d2e34'/>
<id>d1c8df8743429a79ffd62043f00b6e568b4d2e34</id>
<content type='text'>
The remaining dialects will be decoupled from ComprehensiveBufferize in separate commits.

Differential Revision: https://reviews.llvm.org/D113459
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The remaining dialects will be decoupled from ComprehensiveBufferize in separate commits.

Differential Revision: https://reviews.llvm.org/D113459
</pre>
</div>
</content>
</entry>
<entry>
<title>Split headers from implementations in MLIR C API Bazel build.</title>
<updated>2021-11-11T16:34:42+00:00</updated>
<author>
<name>Peter Hawkins</name>
<email>phawkins@google.com</email>
</author>
<published>2021-11-11T16:34:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=816d184d44d2a620afcfc615679ebe8f6138a37b'/>
<id>816d184d44d2a620afcfc615679ebe8f6138a37b</id>
<content type='text'>
This allows clients to build, e.g., the Python bindings against the C API headers, without including the C API implementations. This is useful when distributing software as multiple shared libraries.

Reviewed By: GMNGeoffrey

Differential Revision: https://reviews.llvm.org/D113565
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows clients to build, e.g., the Python bindings against the C API headers, without including the C API implementations. This is useful when distributing software as multiple shared libraries.

Reviewed By: GMNGeoffrey

Differential Revision: https://reviews.llvm.org/D113565
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][linalg][bufferize] Remove remaining linalg dependencies</title>
<updated>2021-11-11T10:04:41+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>springerm@google.com</email>
</author>
<published>2021-11-11T09:50:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=4397a1baefdb0e8c83329acd31866890199856b7'/>
<id>4397a1baefdb0e8c83329acd31866890199856b7</id>
<content type='text'>
* Move "linalg.inplaceable" attr name literals to BufferizableOpInterface.
* Use `memref.copy` by default. Override to `linalg.copy` in ComprehensiveBufferizePass.

These are the last remaining code dependencies on Linalg in Comprehensive Bufferize. The next commit will make ComprehensiveBufferize independent of the Linalg dialect.

Differential Revision: https://reviews.llvm.org/D113457
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Move "linalg.inplaceable" attr name literals to BufferizableOpInterface.
* Use `memref.copy` by default. Override to `linalg.copy` in ComprehensiveBufferizePass.

These are the last remaining code dependencies on Linalg in Comprehensive Bufferize. The next commit will make ComprehensiveBufferize independent of the Linalg dialect.

Differential Revision: https://reviews.llvm.org/D113457
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][X86Vector] Add specialized vector.transpose lowering patterns for AVX2</title>
<updated>2021-11-11T07:33:31+00:00</updated>
<author>
<name>Nicolas Vasilache</name>
<email>nicolas.vasilache@gmail.com</email>
</author>
<published>2021-11-10T13:19:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=34ff8573505e04c75e84a0e515af462f223f2795'/>
<id>34ff8573505e04c75e84a0e515af462f223f2795</id>
<content type='text'>
This revision adds an implementation of 2-D vector.transpose for 4x8 and 8x8 for
AVX2 and surfaces it to the Linalg level of control.

Reviewed By: dcaballe

Differential Revision: https://reviews.llvm.org/D113347
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This revision adds an implementation of 2-D vector.transpose for 4x8 and 8x8 for
AVX2 and surfaces it to the Linalg level of control.

Reviewed By: dcaballe

Differential Revision: https://reviews.llvm.org/D113347
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][linalg][bufferize] Move more helper functions/structs to interface</title>
<updated>2021-11-11T05:16:20+00:00</updated>
<author>
<name>Matthias Springer</name>
<email>springerm@google.com</email>
</author>
<published>2021-11-11T02:45:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=a4547dc5758ee9f8ea8aa8e41cce05a7cdec3d56'/>
<id>a4547dc5758ee9f8ea8aa8e41cce05a7cdec3d56</id>
<content type='text'>
Move helper functions for traversing reverse use-def chains. These are useful for implementing custom optimizations (e.g., custom InitTensorOp eliminations).

Also move over the AllocationCallbacks struct. This is in preparation for decoupling ComprehensiveBufferize from various dialects.

Differential Revision: https://reviews.llvm.org/D113386
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move helper functions for traversing reverse use-def chains. These are useful for implementing custom optimizations (e.g., custom InitTensorOp eliminations).

Also move over the AllocationCallbacks struct. This is in preparation for decoupling ComprehensiveBufferize from various dialects.

Differential Revision: https://reviews.llvm.org/D113386
</pre>
</div>
</content>
</entry>
<entry>
<title>Restructure the Test dialect ODS to include the AttrDef in TestOps.td (NFC)</title>
<updated>2021-11-10T00:38:19+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>joker.eph@gmail.com</email>
</author>
<published>2021-11-06T07:14:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=9d506ae0f607db876e8bfcd1169d24c92156ae48'/>
<id>9d506ae0f607db876e8bfcd1169d24c92156ae48</id>
<content type='text'>
This structure is necessary to be able to use AttrDef as arguments on operations.

Differential Revision: https://reviews.llvm.org/D113327
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This structure is necessary to be able to use AttrDef as arguments on operations.

Differential Revision: https://reviews.llvm.org/D113327
</pre>
</div>
</content>
</entry>
</feed>
