[all-commits] [llvm/llvm-project] 6f5df4: [flang] Fold IS_CONTIGUOUS for TYPE(*) when possible

jeanPerier via All-commits all-commits at lists.llvm.org
Thu Apr 13 23:43:06 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6f5df4199e64020d9290838a72ba79b74ed91269
      https://github.com/llvm/llvm-project/commit/6f5df4199e64020d9290838a72ba79b74ed91269
  Author: Jean Perier <jperier at nvidia.com>
  Date:   2023-04-14 (Fri, 14 Apr 2023)

  Changed paths:
    M flang/include/flang/Evaluate/check-expression.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Semantics/check-declarations.cpp
    A flang/test/Evaluate/rewrite03.f90

  Log Message:
  -----------
  [flang] Fold IS_CONTIGUOUS for TYPE(*) when possible

TYPE(*) arguments fell through in IS_CONTIGUOUS folding
because they are not Expr<SomeType>. Expose entry point for
symbols in IsContiguous and use that.

The added test revealed that IS_CONTIGUOUS was folded to
false for assumed rank arguments. Fix this: the contiguity of
assumed rank without the CONTIGUOUS argument can only be
verified at runtime.

Differential Revision: https://reviews.llvm.org/D148128




More information about the All-commits mailing list