forked from OSchip/llvm-project
8f3f88d2f5
This patch implements matrix index expressions (matrix[RowIdx][ColumnIdx]). It does so by introducing a new MatrixSubscriptExpr(Base, RowIdx, ColumnIdx). MatrixSubscriptExprs are built in 2 steps in ActOnMatrixSubscriptExpr. First, if the base of a subscript is of matrix type, we create a incomplete MatrixSubscriptExpr(base, idx, nullptr). Second, if the base is an incomplete MatrixSubscriptExpr, we create a complete MatrixSubscriptExpr(base->getBase(), base->getRowIdx(), idx) Similar to vector elements, it is not possible to take the address of a MatrixSubscriptExpr. For CodeGen, a new MatrixElt type is added to LValue, which is very similar to VectorElt. The only difference is that we may need to cast the type of the base from an array to a vector type when accessing it. Reviewers: rjmccall, anemet, Bigcheese, rsmith, martong Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D76791 |
||
---|---|---|
.. | ||
arcmt-test | ||
c-arcmt-test | ||
c-index-test | ||
clang-check | ||
clang-diff | ||
clang-extdef-mapping | ||
clang-format | ||
clang-format-vs | ||
clang-fuzzer | ||
clang-import-test | ||
clang-offload-bundler | ||
clang-offload-wrapper | ||
clang-refactor | ||
clang-rename | ||
clang-scan-deps | ||
clang-shlib | ||
diag-build | ||
diagtool | ||
driver | ||
libclang | ||
scan-build | ||
scan-build-py | ||
scan-view | ||
CMakeLists.txt |