aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorAlex Zinenko <zinenko@google.com>2022-07-13 11:11:16 +0000
committerAlex Zinenko <zinenko@google.com>2022-07-27 08:52:13 +0000
commit70e99f387a482bfe0ad2b7accc88e9e8b2a4a59d (patch)
treec4cfa3f1fd339ce7b2156c845962fe04ae98adc3 /clang/lib/CodeGen/CodeGenFunction.cpp
parent08a1b07e7c19d14896f8be501c763ba8aff5b427 (diff)
downloadllvm-70e99f387a482bfe0ad2b7accc88e9e8b2a4a59d.zip
llvm-70e99f387a482bfe0ad2b7accc88e9e8b2a4a59d.tar.gz
llvm-70e99f387a482bfe0ad2b7accc88e9e8b2a4a59d.tar.bz2
[mlir] Make ViewLikeInterface Range work with attributes
While most of methods in ViewLikeInterface accept an `OpFoldResult` for the offset/size/stride that may be static, represented as `Attribute`, or dynamic, represented as `Value`, the `Range` abstraction only accepted `Values`. This can often lead to known-constant offset/size/strides being materialized into constant operations and hinder further constant propagation without explicitly running the constant folding pass. This often leads to a more complicated than necessary addressing code being emitted. Switch `Range` to use `OpFoldResult`. Code that uses `Range` currently keeps materializing the constants to minimize the effect of this change on the IR. Further commits will make use of this. Reviewed By: nicolasvasilache, mravishankar Differential Revision: https://reviews.llvm.org/D129633
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions