[flang-commits] [clang] [flang] [llvm] [flang] Add -finit-local= to initialize automatic variables (PR #216164)

via flang-commits flang-commits at lists.llvm.org
Thu Sep 3 00:09:11 PDT 2026


================
@@ -0,0 +1,65 @@
+! LLVM IR-level regression test for volatile byte-fill stores.
+! Verifies that volatile locals produce "store volatile" in LLVM IR for
+! every byte written by the -finit-local= byte-fill paths.
----------------
MattPD wrote:

Could this LLVM IR test also cover volatile CHARACTER? The header states that it covers every byte written by the byte-fill paths, and the compile-time-length and runtime-length CHARACTER paths both changed in this commit.

Those two paths carry the longest conversion chain: a CHARACTER view, a coordinate operation, and a final `i8` conversion. The runtime-length path in hexadecimal mode also re-enters the compile-time-length path recursively.

Both paths emit `store volatile i8` today, so the implementation itself looks right. No committed volatile test declares a CHARACTER local. `fir::CoordinateOp` verifies no volatility, so a dropped flag on either chain would stay invisible at the FIR layer and would surface only in LLVM IR.


https://github.com/llvm/llvm-project/pull/216164


More information about the flang-commits mailing list