[Mlir-commits] [mlir] 578122c - [mlir] Don't emit unused labels
Marius Brehler
llvmlistbot at llvm.org
Wed Jan 26 23:56:37 PST 2022
Author: Marius Brehler
Date: 2022-01-27T07:56:03Z
New Revision: 578122c18a2fd2765b4b07a6cf9d46719c638a60
URL: https://github.com/llvm/llvm-project/commit/578122c18a2fd2765b4b07a6cf9d46719c638a60
DIFF: https://github.com/llvm/llvm-project/commit/578122c18a2fd2765b4b07a6cf9d46719c638a60.diff
LOG: [mlir] Don't emit unused labels
Stop the Cpp target from emitting unused labels. The previosly generated
code generated warning if `-Wunused-label` is passed to a compiler.
Co-authored-by: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D118154
Added:
Modified:
mlir/lib/Target/Cpp/TranslateToCpp.cpp
mlir/test/Target/Cpp/control_flow.mlir
Removed:
################################################################################
diff --git a/mlir/lib/Target/Cpp/TranslateToCpp.cpp b/mlir/lib/Target/Cpp/TranslateToCpp.cpp
index 1fc120a7dcd96..a332029a4cf81 100644
--- a/mlir/lib/Target/Cpp/TranslateToCpp.cpp
+++ b/mlir/lib/Target/Cpp/TranslateToCpp.cpp
@@ -631,8 +631,8 @@ static LogicalResult printOperation(CppEmitter &emitter, FuncOp functionOp) {
}
for (Block &block : blocks) {
- // Only print a label if there is more than one block.
- if (blocks.size() > 1) {
+ // Only print a label if the block has predecessors.
+ if (!block.hasNoPredecessors()) {
if (failed(emitter.emitLabel(block)))
return failure();
}
diff --git a/mlir/test/Target/Cpp/control_flow.mlir b/mlir/test/Target/Cpp/control_flow.mlir
index ed8ee08ff46d5..d73299e0a9621 100644
--- a/mlir/test/Target/Cpp/control_flow.mlir
+++ b/mlir/test/Target/Cpp/control_flow.mlir
@@ -22,7 +22,6 @@ func @simple(i64, i1) -> i64 {
// CPP-DECLTOP-NEXT: int64_t [[C:[^ ]*]];
// CPP-DECLTOP-NEXT: int64_t [[D:[^ ]*]];
// CPP-DECLTOP-NEXT: int64_t [[E:[^ ]*]];
- // CPP-DECLTOP-NEXT: [[BB0:[^ ]*]]:
// CPP-DECLTOP-NEXT: if ([[COND]]) {
// CPP-DECLTOP-NEXT: goto [[BB1:[^ ]*]];
// CPP-DECLTOP-NEXT: } else {
@@ -51,7 +50,6 @@ func @block_labels0() {
return
}
// CPP-DECLTOP: void block_labels0() {
- // CPP-DECLTOP-NEXT: label1:
// CPP-DECLTOP-NEXT: goto label2;
// CPP-DECLTOP-NEXT: label2:
// CPP-DECLTOP-NEXT: return;
@@ -66,7 +64,6 @@ func @block_labels1() {
return
}
// CPP-DECLTOP: void block_labels1() {
- // CPP-DECLTOP-NEXT: label1:
// CPP-DECLTOP-NEXT: goto label2;
// CPP-DECLTOP-NEXT: label2:
// CPP-DECLTOP-NEXT: return;
More information about the Mlir-commits
mailing list