[all-commits] [llvm/llvm-project] c6b6e1: [flang] Implement !DIR$ VECTOR ALWAYS (#93830)

David Truby via All-commits all-commits at lists.llvm.org
Fri Jun 14 06:11:03 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c6b6e18c4d25305ab98b6eab752de99ea4e15344
      https://github.com/llvm/llvm-project/commit/c6b6e18c4d25305ab98b6eab752de99ea4e15344
  Author: David Truby <david.truby at arm.com>
  Date:   2024-06-14 (Fri, 14 Jun 2024)

  Changed paths:
    M flang/docs/Directives.md
    M flang/include/flang/Lower/PFTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/CMakeLists.txt
    A flang/lib/Semantics/canonicalize-directives.cpp
    A flang/lib/Semantics/canonicalize-directives.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    A flang/test/Fir/vector-always-cfg.fir
    A flang/test/Fir/vector-always.fir
    A flang/test/Integration/vector-always.f90
    A flang/test/Lower/vector-always.f90
    M flang/test/Parser/compiler-directives.f90
    A flang/test/Semantics/loop-directives.f90

  Log Message:
  -----------
  [flang] Implement !DIR$ VECTOR ALWAYS (#93830)

This patch implements support for the VECTOR ALWAYS directive, which
forces
vectorization to occurr when possible regardless of a decision by the
cost
model. This is done by adding an attribute to the branch into the loop
in LLVM
to indicate that the loop should always be vectorized.

This patch only implements this directive on plan structured do loops 
without labels. Support for unstructured loops and array
expressions is planned for future patches.



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