New Issue: Incorrect value from modified ref argument with --no-local

18580, "daviditen", "Incorrect value from modified ref argument with --no-local", "2021-10-14T19:14:12Z"

Summary of Problem

For --no-local compilations the code from #16935 is getting incorrect results for the module-level variable getting passed to a virtual method. It appears that it is putting that variable on the heap and assigning its value to a non-reference temp which is then passed to the virtual method by reference. Something like:

var ipos1 = heap(int);
var tmp = ipos1.value;
x!.ff(tmp);
writeln(ipos1);

Steps to Reproduce

chpl --no-local test/optimizations/copyPropagation/cp-problem2-no-local.chpl
./cp-problem2-no-local

Associated Future Test(s):
test/optimizations/copyPropagation/cp-problem2-no-local.chpl

Configuration Information

chpl version 1.26.0 pre-release
built with LLVM version 11.1.0
Copyright 2020-2021 Hewlett Packard Enterprise Development LP
Copyright 2004-2019 Cray Inc.
(See LICENSE file for more details)