Changes

Summary

  1. [mlir][linalg][bufferize] Implement equivalence analysis (details)
  2. Split the locking of the queue and the threads vector in the ThreadPool implementation (details)
  3. Use LLVM_ATTRIBUTE_UNUSED to silent warning for static function used in assert only (NFC) (details)
  4. [mlir] Support collecting logs from notifyMatchFailure(). (details)
  5. [Sparc] Create an error when `__builtin_longjmp` is used (details)
  6. [CodeGen] Use range-based for loops (NFC) (details)
Commit 5fa0b3561a541e992486e29205388e6976c5d77f by springerm
[mlir][linalg][bufferize] Implement equivalence analysis

Instead of checking buffer equivalence during bufferization, gather buffer equivalence information right after the analysis. This is in preparation of decoupling bufferization from BufferizationAliasInfo.

This change also fixes equivalence analysis for scf.if op results, which was not fully implemented. scf.if op results are equivalent to their corresponding yield values if both yield values are equivalent.

Differential Revision: https://reviews.llvm.org/D114774
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.h
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.td
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
Commit e846971811efbcf75a6cbedd9aebd58cecaf8188 by joker.eph
Split the locking of the queue and the threads vector in the ThreadPool implementation

This allows to release the QueueLock early and create Thread
independently of the queue processing.

Differential Revision: https://reviews.llvm.org/D115078
The file was modifiedllvm/lib/Support/ThreadPool.cpp
The file was modifiedllvm/include/llvm/Support/ThreadPool.h
Commit 4022152b3592a8174ebf6f58f57724e43e5ebefc by joker.eph
Use LLVM_ATTRIBUTE_UNUSED to silent warning for static function used in assert only (NFC)
The file was modifiedmlir/lib/IR/MLIRContext.cpp
Commit b8c6b15283000f1f065acd10d487ef87df0542c9 by chiahungduan
[mlir] Support collecting logs from notifyMatchFailure().

Let the user registers their own handler to processing the matching
failure information.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D110896
The file was modifiedmlir/lib/Transforms/Utils/DialectConversion.cpp
The file was modifiedmlir/include/mlir/Transforms/DialectConversion.h
Commit eeb4266f8137c232f0f218a727dd12b5d4f52adc by brad
[Sparc] Create an error when `__builtin_longjmp` is used

Support for builtin setjmp/longjmp was removed by https://reviews.llvm.org/D51487. An
error should be created when compiling C code using __builtin_setjmp or __builtin_longjmp.

Reviewed By: dcederman

Differential Revision: https://reviews.llvm.org/D108901
The file was modifiedclang/test/Sema/builtin-longjmp.c
The file was modifiedclang/lib/Basic/Targets/Sparc.h
Commit 3aed2822574f7062122fc940786024ca869d21c4 by kazu
[CodeGen] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp
The file was modifiedllvm/lib/CodeGen/MachineTraceMetrics.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/CodeGen/InterferenceCache.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
The file was modifiedllvm/lib/CodeGen/LiveVariables.cpp
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
The file was modifiedllvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp

Summary

  1. Refactored the Graph page to use the library plotly instead of jQuery.flot (details)
Commit 8de3fac9e51fad73a7acad6dce969c21b266986d by kosov.pavel
Refactored the Graph page to use the library plotly instead of jQuery.flot

Added the library Plotly.
Updated the page Graph to use plotly instead of jQuery.flot.
Note the tooltip window may be closed by left doubleclick on the graph area.
Implemented multiple Y axis, Dates as X axis, cumulative minimum, etc.

OS Laboratory. Huawei Russian Research Institute. Saint-Petersburg

Reviewed By: cmatthews

Differential Revision: https://reviews.llvm.org/D111289
The file was modifiedlnt/server/ui/views.py (diff)
The file was modifiedlnt/server/ui/templates/v4_graph.html (diff)
The file was modifiedlnt/server/ui/static/lnt_graph.js (diff)
The file was addedlnt/server/ui/static/plotly/plotly-2.6.3.min.js
The file was modifiedsetup.py (diff)