[all-commits] [llvm/llvm-project] 0a45d1: [flang] Do not instantiate runtime info globals in...
jeanPerier via All-commits
all-commits at lists.llvm.org
Mon Feb 5 01:12:46 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0a45d172d3229074d414e1942d6bafa2b4ae9126
https://github.com/llvm/llvm-project/commit/0a45d172d3229074d414e1942d6bafa2b4ae9126
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/include/flang/Lower/PFTBuilder.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/nullify-polymorphic.f90
Log Message:
-----------
[flang] Do not instantiate runtime info globals in functions (#80447)
Runtime globals are compiler generated globals injected in user scopes.
They are never referred to directly in lowering code, we only need th
fur.global for them. Yet lowering was creating hlfir.declare for them in
module procedures. In modern fortran apps, this blows up the generated
IR for nothing (Types with dozens of components, type bound procedures
and parents can create in the order of 10 000 runtime info globals to
describe them, if there is a 100 module procedure, that is that is a few
million operations generated and processed in each pass for nothing).
More information about the All-commits
mailing list