diff options
| author | Alex Zinenko <zinenko@google.com> | 2018-12-06 11:34:27 -0800 |
|---|---|---|
| committer | jpienaar <jpienaar@google.com> | 2019-03-29 14:19:52 -0700 |
| commit | 7c89a225cfafef3dcf5de4991846de2d0e9dda06 (patch) | |
| tree | f1fa6bc1d2ff1afd92003b91b1a6bcbdaeb9f204 /mlir/lib/Transforms/MaterializeVectors.cpp | |
| parent | 513d6d896ccf991ebc0acf85158d98e574f7b625 (diff) | |
| download | bcm5719-llvm-7c89a225cfafef3dcf5de4991846de2d0e9dda06.tar.gz bcm5719-llvm-7c89a225cfafef3dcf5de4991846de2d0e9dda06.zip | |
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
Diffstat (limited to 'mlir/lib/Transforms/MaterializeVectors.cpp')
0 files changed, 0 insertions, 0 deletions

