summaryrefslogtreecommitdiffstats
path: root/mlir/lib/Transforms/MaterializeVectors.cpp
diff options
context:
space:
mode:
authorAlex Zinenko <zinenko@google.com>2018-12-06 11:34:27 -0800
committerjpienaar <jpienaar@google.com>2019-03-29 14:19:52 -0700
commit7c89a225cfafef3dcf5de4991846de2d0e9dda06 (patch)
treef1fa6bc1d2ff1afd92003b91b1a6bcbdaeb9f204 /mlir/lib/Transforms/MaterializeVectors.cpp
parent513d6d896ccf991ebc0acf85158d98e574f7b625 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud