Skip to content

Commit a310ae0

Browse files
authored
[CIR][NFC] Teach op parsers to use enum keyword parsing helpers (#1298)
Change `parseVisibilityAttr` to use enum parser helper `parseOptionalCIRKeyword` Fixes: #770
1 parent 1b45e8c commit a310ae0

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

clang/lib/CIR/Dialect/IR/CIRDialect.cpp

+3-11
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ template <typename Ty> struct EnumTraits {};
171171
}
172172

173173
REGISTER_ENUM_TYPE(GlobalLinkageKind);
174+
REGISTER_ENUM_TYPE(VisibilityKind);
174175
REGISTER_ENUM_TYPE(CallingConv);
175176
REGISTER_ENUM_TYPE(SideEffect);
176177
REGISTER_ENUM_TYPE_WITH_NS(cir::sob, SignedOverflowBehavior);
@@ -179,7 +180,6 @@ REGISTER_ENUM_TYPE_WITH_NS(cir::sob, SignedOverflowBehavior);
179180
/// Parse an enum from the keyword, or default to the provided default value.
180181
/// The return type is the enum type by default, unless overriden with the
181182
/// second template argument.
182-
/// TODO: teach other places in this file to use this function.
183183
template <typename EnumTy, typename RetTy = EnumTy>
184184
static RetTy parseOptionalCIRKeyword(AsmParser &parser, EnumTy defaultValue) {
185185
llvm::SmallVector<llvm::StringRef, 10> names;
@@ -259,16 +259,8 @@ void printVisibilityAttr(OpAsmPrinter &printer,
259259
}
260260

261261
void parseVisibilityAttr(OpAsmParser &parser, cir::VisibilityAttr &visibility) {
262-
cir::VisibilityKind visibilityKind;
263-
264-
if (parser.parseOptionalKeyword("hidden").succeeded()) {
265-
visibilityKind = cir::VisibilityKind::Hidden;
266-
} else if (parser.parseOptionalKeyword("protected").succeeded()) {
267-
visibilityKind = cir::VisibilityKind::Protected;
268-
} else {
269-
visibilityKind = cir::VisibilityKind::Default;
270-
}
271-
262+
cir::VisibilityKind visibilityKind =
263+
parseOptionalCIRKeyword(parser, cir::VisibilityKind::Default);
272264
visibility = cir::VisibilityAttr::get(parser.getContext(), visibilityKind);
273265
}
274266

0 commit comments

Comments
 (0)