[PATCH] D113295: [flang][codegen] Add `fir.end` conversion placeholder
Andrzej Warzynski via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 18 06:20:11 PST 2021
This revision was automatically updated to reflect the committed changes.
Closed by commit rG22d332a0a20f: [flang][codegen] Add `fir.end` conversion placeholder (authored by awarzynski).
Changed prior to commit:
https://reviews.llvm.org/D113295?vs=387635&id=388178#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113295/new/
https://reviews.llvm.org/D113295
Files:
flang/lib/Optimizer/CodeGen/CodeGen.cpp
flang/test/Fir/convert-to-llvm-invalid.fir
Index: flang/test/Fir/convert-to-llvm-invalid.fir
===================================================================
--- flang/test/Fir/convert-to-llvm-invalid.fir
+++ flang/test/Fir/convert-to-llvm-invalid.fir
@@ -173,3 +173,10 @@
// Test that `fir.unboxproc` and `fir.boxproc_host` also fails to be legalized.
// At the moment these cannot be tested since the `fir.boxproc` type does not have a conversion.
+
+// -----
+
+// Test `fir.end` conversion failure. Not implemented yet.
+
+// expected-error at +1{{failed to legalize operation 'fir.end'}}
+"fir.end"() : () -> ()
Index: flang/lib/Optimizer/CodeGen/CodeGen.cpp
===================================================================
--- flang/lib/Optimizer/CodeGen/CodeGen.cpp
+++ flang/lib/Optimizer/CodeGen/CodeGen.cpp
@@ -839,6 +839,18 @@
}
};
+/// Convert `fir.end`
+struct FirEndOpConversion : public FIROpConversion<fir::FirEndOp> {
+ using FIROpConversion::FIROpConversion;
+
+ mlir::LogicalResult
+ matchAndRewrite(fir::FirEndOp firEnd, OpAdaptor,
+ mlir::ConversionPatternRewriter &rewriter) const override {
+ return rewriter.notifyMatchFailure(
+ firEnd, "fir.end codegen is not implemented yet");
+ }
+};
+
/// Lower `fir.has_value` operation to `llvm.return` operation.
struct HasValueOpConversion : public FIROpConversion<fir::HasValueOp> {
using FIROpConversion::FIROpConversion;
@@ -2108,9 +2120,9 @@
CmpcOpConversion, ConstcOpConversion, ConvertOpConversion,
DispatchOpConversion, DispatchTableOpConversion, DTEntryOpConversion,
DivcOpConversion, EmboxOpConversion, EmboxCharOpConversion,
- EmboxProcOpConversion, ExtractValueOpConversion, HasValueOpConversion,
- GenTypeDescOpConversion, GlobalLenOpConversion, GlobalOpConversion,
- InsertOnRangeOpConversion, InsertValueOpConversion,
+ EmboxProcOpConversion, ExtractValueOpConversion, FirEndOpConversion,
+ HasValueOpConversion, GenTypeDescOpConversion, GlobalLenOpConversion,
+ GlobalOpConversion, InsertOnRangeOpConversion, InsertValueOpConversion,
IsPresentOpConversion, LoadOpConversion, NegcOpConversion,
MulcOpConversion, SelectCaseOpConversion, SelectOpConversion,
SelectRankOpConversion, SelectTypeOpConversion, ShapeOpConversion,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D113295.388178.patch
Type: text/x-patch
Size: 2306 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211118/1f08341b/attachment.bin>
More information about the llvm-commits
mailing list