
Implement hlfir.elemental inlining as proposed in flang/docs/HighLevelFIR.md. This is a separate pass to make the code easier to understand. One alternative would have been to modify the hlfir.elemental lowering in the HLFIR bufferization pass. Currently, a hlfir.elemental can only be inlined once; if there are more uses, the existing bufferization is used instead. Usage of mlir::applyPatternsAndFoldGreedily was suggested by @jeanPerier Differential Revision: https://reviews.llvm.org/D149258
32 lines
527 B
CMake
32 lines
527 B
CMake
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
|
|
|
|
add_flang_library(HLFIRTransforms
|
|
BufferizeHLFIR.cpp
|
|
ConvertToFIR.cpp
|
|
InlineElementals.cpp
|
|
LowerHLFIRIntrinsics.cpp
|
|
LowerHLFIROrderedAssignments.cpp
|
|
ScheduleOrderedAssignments.cpp
|
|
SimplifyHLFIRIntrinsics.cpp
|
|
|
|
DEPENDS
|
|
FIRDialect
|
|
HLFIROpsIncGen
|
|
${dialect_libs}
|
|
|
|
LINK_LIBS
|
|
FIRAnalysis
|
|
FIRDialect
|
|
FIRBuilder
|
|
FIRDialectSupport
|
|
FIRSupport
|
|
HLFIRDialect
|
|
MLIRIR
|
|
${dialect_libs}
|
|
|
|
LINK_COMPONENTS
|
|
AsmParser
|
|
AsmPrinter
|
|
Remarks
|
|
)
|