[PATCH] D54638: OpenMP: remove redundant MapTypeModifierSpecified flag in ParseOpenMP.cpp
Ahsan Saghir via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Nov 16 10:36:50 PST 2018
saghir created this revision.
saghir added reviewers: cfe-commits, ABataev, kkwli0.
saghir added a project: OpenMP.
Herald added a subscriber: guansong.
In the below statement in ParseOpenMP.cpp:
bool IsComma =
1942 (Kind != OMPC_reduction && Kind != OMPC_task_reduction &&
1943 Kind != OMPC_in_reduction && Kind != OMPC_depend && Kind != OMPC_map) ||
1944 (Kind == OMPC_reduction && !InvalidReductionId) ||
1945 (Kind == OMPC_map && Data.MapType != OMPC_MAP_unknown &&
1946 (!MapTypeModifierSpecified ||
1947 Data.MapTypeModifier == OMPC_MAP_always)) ||
1948 (Kind == OMPC_depend && Data.DepKind != OMPC_DEPEND_unknown);
Whenever a map type modifier is specified, the flag MapTypeModifierSpecified is set to true.
In the above statement,
1. when there is no map type modifier specified, !MapTypeModifierSpecified portion evaluates to true.
2. when the map type modifier is specified, Data.MapTypeModifier == OMPC_MAP_always is set to true.
So whether a modifier is specified or not, the condition (highlighted in bold) always evaluates to true.
Check for this condition is redundant. Consequently, declaration and all uses of MapTypeModifierSpecified should be removed.
Repository:
rC Clang
https://reviews.llvm.org/D54638
Files:
clang/lib/Parse/ParseOpenMP.cpp
Index: clang/lib/Parse/ParseOpenMP.cpp
===================================================================
--- clang/lib/Parse/ParseOpenMP.cpp
+++ clang/lib/Parse/ParseOpenMP.cpp
@@ -1775,7 +1775,6 @@
OpenMPVarListDataTy &Data) {
UnqualifiedId UnqualifiedReductionId;
bool InvalidReductionId = false;
- bool MapTypeModifierSpecified = false;
// Parse '('.
BalancedDelimiterTracker T(*this, tok::l_paren, tok::annot_pragma_openmp_end);
@@ -1878,8 +1877,6 @@
if (Data.MapTypeModifier != OMPC_MAP_always) {
Diag(Tok, diag::err_omp_unknown_map_type_modifier);
Data.MapTypeModifier = OMPC_MAP_unknown;
- } else {
- MapTypeModifierSpecified = true;
}
ConsumeToken();
@@ -1904,8 +1901,6 @@
if (Data.MapTypeModifier != OMPC_MAP_always) {
Diag(Tok, diag::err_omp_unknown_map_type_modifier);
Data.MapTypeModifier = OMPC_MAP_unknown;
- } else {
- MapTypeModifierSpecified = true;
}
ConsumeToken();
@@ -1942,9 +1937,7 @@
(Kind != OMPC_reduction && Kind != OMPC_task_reduction &&
Kind != OMPC_in_reduction && Kind != OMPC_depend && Kind != OMPC_map) ||
(Kind == OMPC_reduction && !InvalidReductionId) ||
- (Kind == OMPC_map && Data.MapType != OMPC_MAP_unknown &&
- (!MapTypeModifierSpecified ||
- Data.MapTypeModifier == OMPC_MAP_always)) ||
+ (Kind == OMPC_map && Data.MapType != OMPC_MAP_unknown) ||
(Kind == OMPC_depend && Data.DepKind != OMPC_DEPEND_unknown);
const bool MayHaveTail = (Kind == OMPC_linear || Kind == OMPC_aligned);
while (IsComma || (Tok.isNot(tok::r_paren) && Tok.isNot(tok::colon) &&
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54638.174396.patch
Type: text/x-patch
Size: 1762 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20181116/4c0d4764/attachment-0001.bin>
More information about the cfe-commits
mailing list