llvm-project/mlir
Michael Kruse 616f77172f [OpenMPIRBuilder] Detect and fix ambiguous InsertPoints for createParallel.
When a Builder methods accepts multiple InsertPoints, when both point to
the same position, inserting instructions at one position will "move" the
other after the inserted position since the InsertPoint is pegged to the
instruction following the intended InsertPoint. For instance, when
creating a parallel region at Loc and passing the same position as AllocaIP,
creating instructions at Loc will "move" the AllocIP behind the Loc
position.

To avoid this ambiguity, add an assertion checking this condition and
fix the unittests.

In case of AllocaIP, an alternative solution could be to implicitly
split BasicBlock at InsertPoint, using the first as AllocaIP, the second
for inserting the instructions themselves. However, this solution is
specific to AllocaIP since AllocaIP will always have to be first. Hence,
this is an argument to generally handling ambiguous InsertPoints as API
sage error.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D117226
2022-01-20 10:13:44 -06:00
..
cmake/modules [mlir] Configure mlir so that it can be directly included in a parent cmakelists.txt 2022-01-19 12:02:22 -08:00
docs [mlir] Convert OpTrait::FunctionLike to FunctionOpInterface 2022-01-18 20:56:53 -08:00
examples [mlir][Pass] Deprecate FunctionPass in favor of OperationPass<FuncOp> 2022-01-18 19:52:44 -08:00
include [MLIR] The return type in the `computeSingleVarRepr` function is modified to include equality expressions. 2022-01-20 16:40:58 +05:30
lib [OpenMPIRBuilder] Detect and fix ambiguous InsertPoints for createParallel. 2022-01-20 10:13:44 -06:00
python [mlir] Rework subclass construction in PybindAdaptors.h 2022-01-19 18:09:05 +01:00
test [mlir][memref] Add better support for identity layouts in memref.collapse_shape canonicalizer 2022-01-20 15:31:43 +01:00
tools [mlir:Analysis] Move the LoopAnalysis library to Dialect/Affine/Analysis 2022-01-18 10:28:22 -08:00
unittests [mlir][Pass] Deprecate FunctionPass in favor of OperationPass<FuncOp> 2022-01-18 19:52:44 -08:00
utils [mlir][textmate] Add support for function visibility 2022-01-18 18:48:43 -08:00
.clang-format
.clang-tidy Enable readability-redundant-smartptr-get in MLIR local clang-tidy config 2022-01-08 20:07:11 +00:00
CMakeLists.txt [mlir][cmake] Use `GNUInstallDirs` to support custom installation dirs 2022-01-19 17:11:04 +00:00
LICENSE.TXT
README.md

README.md

Multi-Level Intermediate Representation

See https://mlir.llvm.org/ for more information.