[all-commits] [llvm/llvm-project] 22ee83: [flang][NFC] do not copy fields in fir::RecordType...

jeanPerier via All-commits all-commits at lists.llvm.org
Wed Jun 25 02:51:29 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 22ee837ec0ae5c097fa8e2cf49bfc504664f5ebe
      https://github.com/llvm/llvm-project/commit/22ee837ec0ae5c097fa8e2cf49bfc504664f5ebe
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-06-25 (Wed, 25 Jun 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/test/Fir/convert-to-llvm.fir

  Log Message:
  -----------
  [flang][NFC] do not copy fields in fir::RecordType::getTypeList (#145530)

For historical reason, `fir::RecordType::getTypeList` was returning an
std::vector, causing the entire field list to be copied when called.

It is called a lot indirectly in all type helpers, which themselves are
called a lot in derived type heavy code like WRF.
The `fir::hasDynamicType` helper is also called a lot, and it can just
check for length parameters to avoid looping on all derived type
components in most cases.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list