llvm-project/mlir/lib
Alex Zinenko 80e38b6204 Python bindings: expose boolean and comparison operators
In particular, expose comparison operators as Python operator overloads on
ValueHandles.  The comparison currently emits signed integer comparisons only,
which is compatible with the behavior of emitter-based EDSC interface.  This is
sub-optimal and must be reconsidered in the future.  Note that comparison
operators are not overloaded in the C++ declarative builder API precisely
because this avoids the premature decision on the signedness of comparisons.

Implement the declarative construction of boolean expressions using
ValueHandles by overloading the boolean operators in the `op` namespace to
differentiate between `operator!` for nullity check and for boolean negation.
The operands must be of i1 type.  Also expose boolean operations as Python
operator overloads on ValueHandles.

PiperOrigin-RevId: 238421615
2019-03-29 17:17:47 -07:00
..
AffineOps Fix misc bugs / TODOs / other improvements to analysis utils 2019-03-29 17:15:27 -07:00
Analysis Change parallelism detection test pass to emit a note 2019-03-29 17:16:27 -07:00
Dialect Allow input and output to have different element types for broadcastable ops 2019-03-29 17:12:26 -07:00
EDSC Python bindings: expose boolean and comparison operators 2019-03-29 17:17:47 -07:00
ExecutionEngine Move `createConvertToLLVMIRPass()` to its own header matching the target library clients need to link 2019-03-29 17:11:07 -07:00
IR Give the TypeUniquer its own BumpPtrAllocator and a SmartRWMutex to make it thread-safe. This is step 1/N to making the MLIRContext thread-safe. 2019-03-29 17:15:11 -07:00
LLVMIR Move `createConvertToLLVMIRPass()` to its own header matching the target library clients need to link 2019-03-29 17:11:07 -07:00
Parser Introduce the notion of dialect attributes and dependent attributes. A dialect attribute derives its context from a specific dialect, whereas a dependent attribute derives context from what it is attached to. Following this, we now enforce that functions and function arguments may only contain dialect specific attributes. These are generic entities and cannot provide any specific context for a dependent attribute. 2019-03-29 16:55:05 -07:00
Pass Refactor pass timing so that it is toggled on the passmanager via 'enableTiming'. This also makes the pipeline view the default display mode. 2019-03-29 17:15:42 -07:00
StandardOps Set the namespace of the StandardOps dialect to "std", but add a special case to the parser to allow parsing standard operations without the "std" prefix. This will now allow for the standard dialect to be looked up dynamically by name. 2019-03-29 16:54:20 -07:00
SuperVectorOps Remove remaining references to OperationInst in all directories except for lib/Transforms. 2019-03-29 16:10:38 -07:00
Support Extract openInputFile() into Support/FileUtilities 2019-03-29 15:09:11 -07:00
TableGen [TableGen] Support nested dag attributes arguments in the result pattern 2019-03-29 17:15:57 -07:00
Target/LLVMIR TableGen most of the LLVM IR Dialect to LLVM IR conversions 2019-03-29 17:04:50 -07:00
Transforms Change getMemoryFootprintBytes emitError to a warning 2019-03-29 17:16:12 -07:00
Translation Separate translators into "from MLIR" and "to MLIR". 2019-03-29 14:06:33 -07:00