[all-commits] [llvm/llvm-project] 91bd4c: [flang] Preserve useResultSymbolShape_ option when...
jeanPerier via All-commits
all-commits at lists.llvm.org
Fri Feb 24 00:07:02 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 91bd4c6e81ac8aebf1089eb52b935484925f2f58
https://github.com/llvm/llvm-project/commit/91bd4c6e81ac8aebf1089eb52b935484925f2f58
Author: Jean Perier <jperier at nvidia.com>
Date: 2023-02-24 (Fri, 24 Feb 2023)
Changed paths:
M flang/include/flang/Evaluate/shape.h
M flang/test/Evaluate/rewrite01.f90
Log Message:
-----------
[flang] Preserve useResultSymbolShape_ option when folding array constructor shape
By default evaluate::GetShape(expr) may return a compiler generated expression
using symbols that are part of function interfaces if there are function
references in "expr".
It is not right to replace an inquiry of "expr" with such compiler
generated expression since the call context would be lost, along with
the meaning of the inquiry expression.
Inquiry folding uses GetContextFreeShape(expr) that sets-up
useResultSymbolShape_ in GetShapeHelper to prevent such bad rewrites. But this did not
work properly with array constructor: GetShapeHelper made a call to
GetShape, ignoring and losing the "useResultSymbolShape_" instruction.
Differential Revision: https://reviews.llvm.org/D144512
More information about the All-commits
mailing list