Commit
94f5d248772ba0f1f9c8b0746fe75a5d246c5540
by ehsan.nadjaran_toosi[mlir] Extend BufferAssignmentTypeConverter with result conversion callbacks
In this PR, the users of BufferPlacement can configure BufferAssginmentTypeConverter. These new configurations would give the user more freedom in the process of converting function signature, and return and call operation conversions.
These are the new features:  Accepting callback functions for decomposing types (i.e. 1 to N type conversion such as unpacking tuple types).  Defining ResultConversionKind for specifying whether a function result with a certain type should be appended to the function arguments list or should be kept as function result. (Usage: converter.setResultConversionKind<MemRefType>(AppendToArgumentList))  Accepting callback functions for composing or decomposing values (i.e. N to 1 and 1 to N value conversion).
Differential Revision: https://reviews.llvm.org/D85133

 mlir/test/lib/Dialect/Test/TestOps.td 
 mlir/lib/Transforms/BufferPlacement.cpp 
 mlir/test/Transforms/bufferplacementpreparation.mlir 
 mlir/include/mlir/Transforms/BufferPlacement.h 
 mlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp 
 mlir/test/Transforms/bufferplacementpreparationallowedmemrefresults.mlir 
 mlir/test/lib/Transforms/TestBufferPlacement.cpp 
Commit
8a3907cd494e8779bbc16ec5cfc763289b0ce041
by mkazantsev[Test] Simplify test by removing unneeded variable

 llvm/test/Transforms/IndVarSimplify/predicated_ranges.ll 
Commit
c4a2a1307484cffe94a291c42572775411bac8d8
by dany.grumbergMove all fields of 'cc1' option related classes into def file databases
Once the new option parsing system is committed, this will allow to generate a check to ensure that correct command line generation happens
Differential Revision: https://reviews.llvm.org/D86290

 clang/include/clang/Lex/PreprocessorOptions.def 
 clang/include/clang/Frontend/CompilerInvocation.h 
 clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h 
 clang/include/clang/Basic/LangOptions.h 
 clang/include/clang/Basic/TargetOptions.def 
 clang/include/clang/Frontend/FrontendOptions.def 
 clang/include/clang/Basic/FileSystemOptions.h 
 clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def 
 clang/include/clang/Basic/CodeGenOptions.h 
 clang/include/clang/Frontend/PreprocessorOutputOptions.def 
 clang/include/clang/Basic/CommentOptions.def 
 clang/include/clang/Lex/HeaderSearchOptions.def 
 clang/include/clang/Frontend/MigratorOptions.h 
 clang/include/clang/Frontend/PreprocessorOutputOptions.h 
 clang/include/clang/Basic/CodeGenOptions.def 
 clang/include/clang/Basic/FileSystemOptions.def 
 clang/include/clang/Frontend/DependencyOutputOptions.def 
 clang/include/clang/Frontend/MigratorOptions.def 
 clang/include/clang/Basic/CommentOptions.h 
 clang/include/clang/Basic/LangOptions.def 
 clang/include/clang/Sema/CodeCompleteOptions.h 
 clang/include/clang/Lex/PreprocessorOptions.h 
 clang/include/clang/Basic/DiagnosticOptions.h 
 clang/include/clang/Frontend/FrontendOptions.h 
 clang/lib/Basic/LangOptions.cpp 
 clang/include/clang/Basic/DiagnosticOptions.def 
 clang/include/clang/Frontend/DependencyOutputOptions.h 
 clang/include/clang/Lex/HeaderSearchOptions.h 
 clang/include/clang/Basic/TargetOptions.h 
 clang/include/clang/Sema/CodeCompleteOptions.def 
 clang/lib/Basic/CodeGenOptions.cpp 
Commit
8fb055932c085da21f3b721995a06f42006744bd
by spatel[VectorCombine] allow vector loads with mismatched insert type
This is an enhancement to D81766 to allow loading the minimum target vector type into an IR vector with a different number of elements.
In one of the motivating tests from PR16739, SLP creates <2 x float> load ops mixed with <4 x float> insert ops, so we want to handle that pattern in addition to potential oversized vectors created by the vectorizers.
For now, we are assuming the insert/extract subvector with undef is free because there is no exact corresponding TTI modeling for that.
Differential Revision: https://reviews.llvm.org/D86160

 llvm/test/Transforms/VectorCombine/X86/load.ll 
 llvm/lib/Transforms/Vectorize/VectorCombine.cpp 
Commit
626c3738cdfa49527097fccdf89e22949138ade7
by spatel[InstCombine] Transform 1.0/sqrt(X) * X to X/sqrt(X)
These transforms will now be performed irrespective of the number of uses for the expression "1.0/sqrt(X)": 1.0/sqrt(X) * X => X/sqrt(X) X * 1.0/sqrt(X) => X/sqrt(X)
We already handle more general cases, and we are intentionally not creating extra (and likely expensive) fdiv ops in IR. This pattern is the exception to the rule because we always expect the Backend to reduce X/sqrt(X) to sqrt(X), if it has the necessary (reassoc) fastmathflags.
Ref: DagCombiner optimizes the X/sqrt(X) to sqrt(X).
Differential Revision: https://reviews.llvm.org/D86726

 llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp 
 llvm/test/Transforms/InstCombine/fmulsqrt.ll 
Commit
f5ed22f09dd95c879b57a11c42d2fa7f5ef5e72d
by limo[mlir][VectorToSCF] 128 byte alignment of alloc ops
Added 128 byte alignment to alloc ops created in VectorToSCF pass. 128b alignment was already introduced to this pass but not to all alloc ops. This commit changes that by adding 128b alignment to the remaining ops. The point of specifying alignment is to prevent possible memory alignment errors on weakly tested architectures.
Differential Revision: https://reviews.llvm.org/D86454

 mlir/test/Conversion/VectorToSCF/vectortoloops.mlir 
 mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp 