Skip to content

Commit e1ca648

Browse files
author
Chandra Ghale
committed
removing wrong asserts
1 parent b146a1a commit e1ca648

File tree

2 files changed

+200
-223
lines changed

2 files changed

+200
-223
lines changed

clang/lib/CodeGen/CGOpenMPRuntime.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4898,6 +4898,9 @@ void CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
48984898
}
48994899
}
49004900

4901+
static std::string generateUniqueName(CodeGenModule &CGM,
4902+
llvm::StringRef Prefix, const Expr *Ref);
4903+
49014904
void CGOpenMPRuntime::emitPrivateReduction(
49024905
CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
49034906
const Expr *LHSExprs, const Expr *RHSExprs, const Expr *ReductionOps) {
@@ -4929,7 +4932,8 @@ void CGOpenMPRuntime::emitPrivateReduction(
49294932
const OMPDeclareReductionDecl *UDR = getReductionInit(ReductionOps);
49304933
std::string ReductionVarNameStr;
49314934
if (const auto *DRE = dyn_cast<DeclRefExpr>(Privates->IgnoreParenCasts()))
4932-
ReductionVarNameStr = DRE->getDecl()->getNameAsString();
4935+
ReductionVarNameStr =
4936+
generateUniqueName(CGM, DRE->getDecl()->getNameAsString(), Privates);
49334937
else
49344938
ReductionVarNameStr = "unnamed_priv_var";
49354939

@@ -5460,16 +5464,10 @@ void CGOpenMPRuntime::emitReduction(CodeGenFunction &CGF, SourceLocation Loc,
54605464

54615465
CGF.EmitBranch(DefaultBB);
54625466
CGF.EmitBlock(DefaultBB, /*IsFinished=*/true);
5463-
assert(!LHSExprs.empty() && "PrivateVarReduction: LHSExprs is empty");
5464-
assert(!Privates.empty() && "PrivateVarReduction: Privates is empty");
5465-
assert(!ReductionOps.empty() && "PrivateVarReduction: ReductionOps is empty");
5466-
assert(LHSExprs.size() == Privates.size() &&
5467+
assert(OrgLHSExprs.size() == OrgPrivates.size() &&
54675468
"PrivateVarReduction: Privates size mismatch");
5468-
assert(LHSExprs.size() == ReductionOps.size() &&
5469+
assert(OrgLHSExprs.size() == OrgReductionOps.size() &&
54695470
"PrivateVarReduction: ReductionOps size mismatch");
5470-
assert(LHSExprs.size() == Options.IsPrivateVarReduction.size() &&
5471-
"PrivateVarReduction: IsPrivateVarReduction size mismatch");
5472-
54735471
for (unsigned I : llvm::seq<unsigned>(
54745472
std::min(OrgReductionOps.size(), OrgLHSExprs.size()))) {
54755473
if (Options.IsPrivateVarReduction[I])

0 commit comments

Comments
 (0)