-
Notifications
You must be signed in to change notification settings - Fork 14.7k
[NFC][mlir] Fully qualify namespace to avoid an MSVC bug #152860
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: yronglin <[email protected]>
@llvm/pr-subscribers-mlir-core Author: None (yronglin) ChangesVS17.6 has a name lookup issue, and was fixed in VS17.7, it impact down stream MLIR based project. This MR add full qualifiers to workaround this issue. Full diff: https://github.com/llvm/llvm-project/pull/152860.diff 1 Files Affected:
diff --git a/mlir/include/mlir/IR/PatternMatch.h b/mlir/include/mlir/IR/PatternMatch.h
index b5a93a0c5a898..57e73c1d8c7c1 100644
--- a/mlir/include/mlir/IR/PatternMatch.h
+++ b/mlir/include/mlir/IR/PatternMatch.h
@@ -311,14 +311,14 @@ struct OpOrInterfaceRewritePatternBase : public RewritePattern {
/// opposed to a raw Operation.
template <typename SourceOp>
struct OpRewritePattern
- : public detail::OpOrInterfaceRewritePatternBase<SourceOp> {
+ : public mlir::detail::OpOrInterfaceRewritePatternBase<SourceOp> {
/// Patterns must specify the root operation name they match against, and can
/// also specify the benefit of the pattern matching and a list of generated
/// ops.
OpRewritePattern(MLIRContext *context, PatternBenefit benefit = 1,
ArrayRef<StringRef> generatedNames = {})
- : detail::OpOrInterfaceRewritePatternBase<SourceOp>(
+ : mlir::detail::OpOrInterfaceRewritePatternBase<SourceOp>(
SourceOp::getOperationName(), benefit, context, generatedNames) {}
};
@@ -327,10 +327,10 @@ struct OpRewritePattern
/// of a raw Operation.
template <typename SourceOp>
struct OpInterfaceRewritePattern
- : public detail::OpOrInterfaceRewritePatternBase<SourceOp> {
+ : public mlir::detail::OpOrInterfaceRewritePatternBase<SourceOp> {
OpInterfaceRewritePattern(MLIRContext *context, PatternBenefit benefit = 1)
- : detail::OpOrInterfaceRewritePatternBase<SourceOp>(
+ : mlir::detail::OpOrInterfaceRewritePatternBase<SourceOp>(
Pattern::MatchInterfaceOpTypeTag(), SourceOp::getInterfaceID(),
benefit, context) {}
};
|
@llvm/pr-subscribers-mlir Author: None (yronglin) ChangesVS17.6 has a name lookup issue, and was fixed in VS17.7, it impact down stream MLIR based project. This MR add full qualifiers to workaround this issue. Full diff: https://github.com/llvm/llvm-project/pull/152860.diff 1 Files Affected:
diff --git a/mlir/include/mlir/IR/PatternMatch.h b/mlir/include/mlir/IR/PatternMatch.h
index b5a93a0c5a898..57e73c1d8c7c1 100644
--- a/mlir/include/mlir/IR/PatternMatch.h
+++ b/mlir/include/mlir/IR/PatternMatch.h
@@ -311,14 +311,14 @@ struct OpOrInterfaceRewritePatternBase : public RewritePattern {
/// opposed to a raw Operation.
template <typename SourceOp>
struct OpRewritePattern
- : public detail::OpOrInterfaceRewritePatternBase<SourceOp> {
+ : public mlir::detail::OpOrInterfaceRewritePatternBase<SourceOp> {
/// Patterns must specify the root operation name they match against, and can
/// also specify the benefit of the pattern matching and a list of generated
/// ops.
OpRewritePattern(MLIRContext *context, PatternBenefit benefit = 1,
ArrayRef<StringRef> generatedNames = {})
- : detail::OpOrInterfaceRewritePatternBase<SourceOp>(
+ : mlir::detail::OpOrInterfaceRewritePatternBase<SourceOp>(
SourceOp::getOperationName(), benefit, context, generatedNames) {}
};
@@ -327,10 +327,10 @@ struct OpRewritePattern
/// of a raw Operation.
template <typename SourceOp>
struct OpInterfaceRewritePattern
- : public detail::OpOrInterfaceRewritePatternBase<SourceOp> {
+ : public mlir::detail::OpOrInterfaceRewritePatternBase<SourceOp> {
OpInterfaceRewritePattern(MLIRContext *context, PatternBenefit benefit = 1)
- : detail::OpOrInterfaceRewritePatternBase<SourceOp>(
+ : mlir::detail::OpOrInterfaceRewritePatternBase<SourceOp>(
Pattern::MatchInterfaceOpTypeTag(), SourceOp::getInterfaceID(),
benefit, context) {}
};
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Thanks for the review! |
VS17.6 has a name lookup issue, and was fixed in VS17.7, it impact down stream MLIR based project. This MR add full qualifiers to workaround this issue.
Reproducer: https://godbolt.org/z/Ea6e1Kc3E