llvm-project/mlir
Alex Zinenko 7c89a225cf ConvertToCFG: support min/max in loop bounds.
The recently introduced `select` operation enables ConvertToCFG to support
min(max) in loop bounds.  Individual min(max) is implemented as
`cmpi "lt"`(`cmpi "gt"`) followed by a `select` between the compared values.
Multiple results of an `affine_apply` operation extracted from the loop bounds
are reduced using min(max) in a sequential manner.  While this may decrease the
potential for instruction-level parallelism, it is easier to recognize for the
following passes, in particular for the vectorizer.

PiperOrigin-RevId: 224376233
2019-03-29 14:19:52 -07:00
..
g3doc Make examples semantically meaningful and fix miscellaneous typos. Thanks to @rocky for pointing out the bugs. 2019-03-29 14:18:52 -07:00
include/mlir OpPointer: replace conversion operator to Operation* to OpType*. 2019-03-29 14:19:37 -07:00
lib ConvertToCFG: support min/max in loop bounds. 2019-03-29 14:19:52 -07:00
test ConvertToCFG: support min/max in loop bounds. 2019-03-29 14:19:52 -07:00
tools Clean up base TableGen definitions 2019-03-29 14:18:07 -07:00
utils Rename affineint type to index type. The name 'index' may not be perfect, but is better than the old name. Here is some justification: 2019-03-29 13:24:16 -07:00
.clang-format [mlir] add .clang-format 2019-03-29 12:41:43 -07:00
LICENSE.TXT Continue sketching out basic infrastructure, including an input and output 2019-03-29 12:23:51 -07:00