[all-commits] [llvm/llvm-project] 8301e4: [flang][FIR] add FirAliasAnalysisOpInterface (#68317)

Tom Eccles via All-commits all-commits at lists.llvm.org
Wed Oct 11 07:07:04 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8301e485001b936a15809be6ae55f7927c610551
      https://github.com/llvm/llvm-project/commit/8301e485001b936a15809be6ae55f7927c610551
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-10-11 (Wed, 11 Oct 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/FIRDialect.td
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    A flang/include/flang/Optimizer/Dialect/FirAliasTagOpInterface.h
    A flang/include/flang/Optimizer/Dialect/FirAliasTagOpInterface.td
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/lib/Optimizer/Dialect/FirAliasTagOpInterface.cpp
    A flang/test/Fir/tbaa-codegen.fir

  Log Message:
  -----------
  [flang][FIR] add FirAliasAnalysisOpInterface (#68317)

This interface allows (HL)FIR passes to add TBAA information to fir.load
and fir.store. If present, these TBAA tags take precedence over those
added during CodeGen.

We can't reuse mlir::LLVMIR::AliasAnalysisOpInterface because that uses
the mlir::LLVMIR namespace so it tries to define methods for fir
operations in the wrong namespace. But I did re-use the tbaa tag type to
minimise boilerplate code.

The new builders are to preserve the old interface without the tbaa tag.




More information about the All-commits mailing list