#include "flang/Optimizer/Analysis/AliasAnalysis.h"
#include "flang/Optimizer/Dialect/FIROpsSupport.h"
#include "flang/Optimizer/Dialect/FortranVariableInterface.h"
#include "flang/Optimizer/HLFIR/HLFIROps.h"
#include "flang/Optimizer/Transforms/Passes.h"
#include "mlir/Dialect/OpenMP/OpenMPDialect.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/LoopInvariantCodeMotionUtils.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/DebugLog.h"
#include "flang/Optimizer/Transforms/Passes.h.inc"
|
|
#define | GEN_PASS_DEF_LOOPINVARIANTCODEMOTION |
|
#define | DEBUG_TYPE "flang-licm" |
FIR-specific Loop Invariant Code Motion pass. The pass relies on FIR types and interfaces to prove the safety of hoisting invariant operations out of loop-like operations. It may be run on both HLFIR and FIR representations.