Skip to content

Commit f42d44f

Browse files
Vedant2005goyalvgvassilev
authored andcommitted
Modified variable name generation
Fixes #958
1 parent 1cd47b4 commit f42d44f

10 files changed

Lines changed: 183 additions & 174 deletions

File tree

lib/Differentiator/ReverseModeVisitor.cpp

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -433,9 +433,9 @@ Expr* ReverseModeVisitor::getStdInitListSizeExpr(const Expr* E) {
433433
// If the type is not a tensor, we can use zero initialization.
434434
initExpr = getZeroInit(VDDerivedType);
435435
}
436-
auto* VDDerived =
437-
BuildGlobalVarDecl(VDDerivedType, "_d_" + param->getNameAsString(),
438-
initExpr, isDirectInit);
436+
auto* VDDerived = BuildGlobalVarDecl(
437+
VDDerivedType, "_d_" + param->getName().ltrim('_').str(), initExpr,
438+
isDirectInit);
439439
m_Variables[param] = BuildDeclRef(VDDerived);
440440
addToBlock(BuildDeclStmt(VDDerived), m_Globals);
441441
}
@@ -1491,7 +1491,9 @@ Expr* ReverseModeVisitor::getStdInitListSizeExpr(const Expr* E) {
14911491
if (it == std::end(m_Variables)) {
14921492
if (VD->isFileVarDecl() && !VD->getType().isConstQualified()) {
14931493
// VD is a global variable, attempt to find its adjoint.
1494-
std::string nameDiff_str = "_d_" + VD->getNameAsString();
1494+
llvm::StringRef Name = VD->getName();
1495+
std::string CleanName = Name.ltrim('_').str();
1496+
std::string nameDiff_str = "_d_" + CleanName;
14951497
DeclarationName nameDiff = &m_Context.Idents.get(nameDiff_str);
14961498
DeclContext* DC = VD->getDeclContext();
14971499
LookupResult result(m_Sema, nameDiff, noLoc,
@@ -2830,10 +2832,12 @@ Expr* ReverseModeVisitor::getStdInitListSizeExpr(const Expr* E) {
28302832
// Build the adjoint VarDecl
28312833
VarDecl* VDDerived = nullptr;
28322834
if (m_DiffReq.shouldHaveAdjoint(VD) &&
2833-
!clad::utils::hasNonDifferentiableAttribute(VD))
2834-
VDDerived = BuildGlobalVarDecl(VDDerivedType,
2835-
"_d_" + VD->getNameAsString(), dummyInit);
2836-
2835+
!clad::utils::hasNonDifferentiableAttribute(VD)) {
2836+
llvm::StringRef Name = VD->getName();
2837+
std::string CleanName = Name.ltrim('_').str();
2838+
VDDerived =
2839+
BuildGlobalVarDecl(VDDerivedType, "_d_" + CleanName, dummyInit);
2840+
}
28372841
// Differentiate the initializer
28382842
StmtDiff initDiff;
28392843
if (const Expr* init = VD->getInit()) {
@@ -3222,10 +3226,13 @@ Expr* ReverseModeVisitor::getStdInitListSizeExpr(const Expr* E) {
32223226
copyInit = CE && CE->getNumArgs() == 0;
32233227
if (!copyInit && CE) {
32243228
if (const auto* DRE =
3225-
dyn_cast<DeclRefExpr>(CE->getArg(0)->IgnoreImplicit()))
3226-
if (cast<VarDecl>(decl)->getNameAsString() ==
3227-
"_d_" + cast<VarDecl>(DRE->getDecl())->getNameAsString())
3229+
dyn_cast<DeclRefExpr>(CE->getArg(0)->IgnoreImplicit())) {
3230+
llvm::StringRef OrigName =
3231+
cast<VarDecl>(DRE->getDecl())->getName();
3232+
std::string CleanName = "_d_" + OrigName.ltrim('_').str();
3233+
if (cast<VarDecl>(decl)->getNameAsString() == CleanName)
32283234
copyInit = true;
3235+
}
32293236
}
32303237
}
32313238
}
@@ -4634,8 +4641,9 @@ Expr* ReverseModeVisitor::getStdInitListSizeExpr(const Expr* E) {
46344641
m_NonIndepParams.push_back(PVD);
46354642
continue;
46364643
}
4637-
IdentifierInfo* II =
4638-
CreateUniqueIdentifier("_d_" + PVD->getNameAsString());
4644+
llvm::StringRef Name = PVD->getName();
4645+
std::string CleanName = Name.ltrim('_').str();
4646+
IdentifierInfo* II = CreateUniqueIdentifier("_d_" + CleanName);
46394647
QualType dPVDTy = FnType->getParamType(p++);
46404648
auto* dPVD = utils::BuildParmVarDecl(m_Sema, m_Derivative, II, dPVDTy,
46414649
PVD->getStorageClass());

test/Gradient/Constructors.C

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -386,16 +386,17 @@ double fn8(double u, double v) {
386386
return p.first + p.second;
387387
}
388388

389-
// CHECK: static constexpr void constructor_pullback(double &__{{u1|x}}, double &__{{u2|y}}, std::pair<double, double> *_d_this, double *_d___{{u1|x}}, double *_d___{{u2|y}}){{.*}}{
389+
// CHECK: constructor_pullback(double &__{{u1|x}}, double &__{{u2|y}}, std::pair<double, double> *_d_this, double *_d_{{u1|x}}, double *_d_{{u2|y}})
390+
// CHECK-SAME: {
390391
// CHECK-NEXT: std::pair<double, double> *_this = (std::pair<double, double> *)malloc(sizeof(std::pair<double, double>));
391392
// CHECK: _this->first = __{{u1|x}};
392393
// CHECK-NEXT: _this->second = __{{u2|y}};
393394
// CHECK: {
394-
// CHECK-NEXT: *_d___{{u2|y}} += _d_this->second;
395+
// CHECK-NEXT: *_d_{{u2|y}} += _d_this->second;
395396
// CHECK-NEXT: _d_this->second = 0.;
396397
// CHECK-NEXT: }
397398
// CHECK-NEXT: {
398-
// CHECK-NEXT: *_d___{{u1|x}} += _d_this->first;
399+
// CHECK-NEXT: *_d_{{u1|x}} += _d_this->first;
399400
// CHECK-NEXT: _d_this->first = 0.;
400401
// CHECK-NEXT: }
401402
// CHECK-NEXT: free(_this);
@@ -601,4 +602,4 @@ int main() {
601602

602603
INIT_GRADIENT(fn12);
603604
TEST_GRADIENT(fn12, /*numOfDerivativeArgs=*/2, 3, 6, &d_i, &d_j); // CHECK-EXEC: {1.00, 1.00}
604-
}
605+
}

test/Gradient/FunctionCalls.C

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,10 +332,10 @@ double fn7(double i, double j) {
332332

333333
// CHECK: void identity_pullback(double &i, double *_d_i) {
334334
// CHECK-NEXT: MyStruct::myFunction();
335-
// CHECK-NEXT: double _d__d_i = 0.;
335+
// CHECK-NEXT: double _d_d_i = 0.;
336336
// CHECK-NEXT: double _d_i0 = i;
337337
// CHECK-NEXT: _d_i0 += 1;
338-
// CHECK-NEXT: *_d_i += _d__d_i;
338+
// CHECK-NEXT: *_d_i += _d_d_i;
339339
// CHECK-NEXT: }
340340

341341
// CHECK: void custom_identity_pullback(double &i, double *_d_i) {

test/Gradient/Gradients.C

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,7 @@ double f_issue138(double x, double y) {
578578

579579
void f_issue138_grad(double x, double y, double *_d_x, double *_d_y);
580580
//CHECK: void f_issue138_grad(double x, double y, double *_d_x, double *_d_y) {
581-
//CHECK-NEXT: double _d__t1 = 0.;
581+
//CHECK-NEXT: double _d_t1 = 0.;
582582
//CHECK-NEXT: double _t10 = 1;
583583
//CHECK-NEXT: {
584584
//CHECK-NEXT: *_d_x += 1 * x * x * x;

test/Gradient/Loops.C

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2109,15 +2109,15 @@ double fn34(double x, double y){
21092109
//CHECK-NEXT: double a[3] = {y, x * y, x * x + y};
21102110
//CHECK-NEXT: unsigned {{int|long}} _t0 = 0;
21112111
//CHECK-NEXT: double (&__range1)[3] = a;
2112-
//CHECK-NEXT: double (&_d___range1)[3] = _d_a;
2112+
//CHECK-NEXT: double (&_d_range1)[3] = _d_a;
21132113
//CHECK-NEXT: double *__begin1 = __range1;
2114-
//CHECK-NEXT: double *_d___begin1 = _d___range1;
2114+
//CHECK-NEXT: double *_d_begin1 = _d_range1;
21152115
//CHECK-NEXT: double *__end1 = __range1 + {{3|3L}};
21162116
//CHECK-NEXT: double *_d_i = nullptr;
21172117
//CHECK-NEXT: double *i = nullptr;
2118-
//CHECK-NEXT: for (; __begin1 != __end1; ++__begin1 , ++_d___begin1) {
2118+
//CHECK-NEXT: for (; __begin1 != __end1; ++__begin1 , ++_d_begin1) {
21192119
//CHECK-NEXT: {
2120-
//CHECK-NEXT: _d_i = _d___begin1;
2120+
//CHECK-NEXT: _d_i = _d_begin1;
21212121
//CHECK-NEXT: i = __begin1;
21222122
//CHECK-NEXT: clad::push(_t1, i);
21232123
//CHECK-NEXT: clad::push(_t2, _d_i);
@@ -2129,7 +2129,7 @@ double fn34(double x, double y){
21292129
//CHECK-NEXT: for (; _t0; _t0--) {
21302130
//CHECK-NEXT: {
21312131
//CHECK-NEXT: {
2132-
//CHECK-NEXT: _d___begin1--;
2132+
//CHECK-NEXT: _d_begin1--;
21332133
//CHECK-NEXT: i = clad::pop(_t1);
21342134
//CHECK-NEXT: _d_i = clad::pop(_t2);
21352135
//CHECK-NEXT: }
@@ -2180,31 +2180,31 @@ double fn35(double x, double y){
21802180
// CHECK-NEXT: double a[3] = {x, x * y, 0};
21812181
// CHECK-NEXT: unsigned {{int|long}} _t0 = 0;
21822182
// CHECK-NEXT: double (&__range1)[3] = a;
2183-
// CHECK-NEXT: double (&_d___range1)[3] = _d_a;
2183+
// CHECK-NEXT: double (&_d_range1)[3] = _d_a;
21842184
// CHECK-NEXT: double *__begin1 = __range1;
2185-
// CHECK-NEXT: double *_d___begin1 = _d___range1;
2185+
// CHECK-NEXT: double *_d_begin1 = _d_range1;
21862186
// CHECK-NEXT: double *__end1 = __range1 + {{3|3L}};
21872187
// CHECK-NEXT: double *_d_i = nullptr;
21882188
// CHECK-NEXT: double *i = nullptr;
2189-
// CHECK-NEXT: for (; __begin1 != __end1; ++__begin1 , ++_d___begin1) {
2189+
// CHECK-NEXT: for (; __begin1 != __end1; ++__begin1 , ++_d_begin1) {
21902190
// CHECK-NEXT: {
2191-
// CHECK-NEXT: _d_i = _d___begin1;
2191+
// CHECK-NEXT: _d_i = _d_begin1;
21922192
// CHECK-NEXT: i = __begin1;
21932193
// CHECK-NEXT: clad::push(_t5, i);
21942194
// CHECK-NEXT: clad::push(_t6, _d_i);
21952195
// CHECK-NEXT: }
21962196
// CHECK-NEXT: _t0++;
21972197
// CHECK-NEXT: clad::push(_t1, 0);
21982198
// CHECK-NEXT: double (&__range2)[3] = a;
2199-
// CHECK-NEXT: double (&_d___range2)[3] = _d_a;
2199+
// CHECK-NEXT: double (&_d_range2)[3] = _d_a;
22002200
// CHECK-NEXT: double *__begin2 = __range2;
2201-
// CHECK-NEXT: double *_d___begin2 = _d___range2;
2201+
// CHECK-NEXT: double *_d_begin2 = _d_range2;
22022202
// CHECK-NEXT: double *__end2 = __range2 + {{3|3L}};
22032203
// CHECK-NEXT: double *_d_j = nullptr;
22042204
// CHECK-NEXT: double *j = nullptr;
2205-
// CHECK-NEXT: for (; __begin2 != __end2; ++__begin2 , ++_d___begin2) {
2205+
// CHECK-NEXT: for (; __begin2 != __end2; ++__begin2 , ++_d_begin2) {
22062206
// CHECK-NEXT: {
2207-
// CHECK-NEXT: _d_j = _d___begin2;
2207+
// CHECK-NEXT: _d_j = _d_begin2;
22082208
// CHECK-NEXT: j = __begin2;
22092209
// CHECK-NEXT: clad::push(_t3, j);
22102210
// CHECK-NEXT: clad::push(_t4, _d_j);
@@ -2231,15 +2231,15 @@ double fn35(double x, double y){
22312231
// CHECK-NEXT: for (; _t0; _t0--) {
22322232
// CHECK-NEXT: {
22332233
// CHECK-NEXT: {
2234-
// CHECK-NEXT: _d___begin1--;
2234+
// CHECK-NEXT: _d_begin1--;
22352235
// CHECK-NEXT: i = clad::pop(_t5);
22362236
// CHECK-NEXT: _d_i = clad::pop(_t6);
22372237
// CHECK-NEXT: }
22382238
// CHECK-NEXT: {
22392239
// CHECK-NEXT: for (; clad::back(_t1); clad::back(_t1)--) {
22402240
// CHECK-NEXT: {
22412241
// CHECK-NEXT: {
2242-
// CHECK-NEXT: _d___begin2--;
2242+
// CHECK-NEXT: _d_begin2--;
22432243
// CHECK-NEXT: j = clad::pop(_t3);
22442244
// CHECK-NEXT: _d_j = clad::pop(_t4);
22452245
// CHECK-NEXT: }
@@ -2301,15 +2301,15 @@ double fn36(double x, double y){
23012301
//CHECK-NEXT: double sum = 0;
23022302
//CHECK-NEXT: unsigned {{int|long}} _t0 = 0;
23032303
//CHECK-NEXT: double (&__range1)[3] = a;
2304-
//CHECK-NEXT: double (&_d___range1)[3] = _d_a;
2304+
//CHECK-NEXT: double (&_d_range1)[3] = _d_a;
23052305
//CHECK-NEXT: double *__begin1 = __range1;
2306-
//CHECK-NEXT: double *_d___begin1 = _d___range1;
2306+
//CHECK-NEXT: double *_d_begin1 = _d_range1;
23072307
//CHECK-NEXT: double *__end1 = __range1 + {{3|3L}};
23082308
//CHECK-NEXT: double _d_i = 0.;
23092309
//CHECK-NEXT: double i = 0.;
2310-
//CHECK-NEXT: for (; __begin1 != __end1; ++__begin1 , ++_d___begin1) {
2310+
//CHECK-NEXT: for (; __begin1 != __end1; ++__begin1 , ++_d_begin1) {
23112311
//CHECK-NEXT: {
2312-
//CHECK-NEXT: _d_i = *_d___begin1;
2312+
//CHECK-NEXT: _d_i = *_d_begin1;
23132313
//CHECK-NEXT: i = *__begin1;
23142314
//CHECK-NEXT: clad::push(_t3, i);
23152315
//CHECK-NEXT: clad::push(_t4, _d_i);
@@ -2333,7 +2333,7 @@ double fn36(double x, double y){
23332333
//CHECK-NEXT: for (; _t0; _t0--) {
23342334
//CHECK-NEXT: {
23352335
//CHECK-NEXT: {
2336-
//CHECK-NEXT: _d___begin1--;
2336+
//CHECK-NEXT: _d_begin1--;
23372337
//CHECK-NEXT: i = clad::pop(_t3);
23382338
//CHECK-NEXT: _d_i = clad::pop(_t4);
23392339
//CHECK-NEXT: }
@@ -2357,7 +2357,7 @@ double fn36(double x, double y){
23572357
//CHECK-NEXT: }
23582358
//CHECK-NEXT: }
23592359
//CHECK-NEXT: }
2360-
//CHECK-NEXT: *_d___begin1 += _d_i;
2360+
//CHECK-NEXT: *_d_begin1 += _d_i;
23612361
//CHECK-NEXT: }
23622362
//CHECK-NEXT: }
23632363

@@ -2378,15 +2378,15 @@ double fn37(double x, double y) {
23782378
//CHECK-NEXT: double sum = 0;
23792379
//CHECK-NEXT: unsigned {{int|long|long long}} _t0 = 0;
23802380
//CHECK-NEXT: double (&__range1)[3] = range;
2381-
//CHECK-NEXT: double (&_d___range1)[3] = _d_range;
2381+
//CHECK-NEXT: double (&_d_range1)[3] = _d_range;
23822382
//CHECK-NEXT: double *__begin1 = __range1;
2383-
//CHECK-NEXT: double *_d___begin1 = _d___range1;
2383+
//CHECK-NEXT: double *_d_begin1 = _d_range1;
23842384
//CHECK-NEXT: double *__end1 = __range1 + {{3|3L}};
23852385
//CHECK-NEXT: double _d_elem = 0.;
23862386
//CHECK-NEXT: double elem = 0.;
2387-
//CHECK-NEXT: for (; __begin1 != __end1; ++__begin1 , ++_d___begin1) {
2387+
//CHECK-NEXT: for (; __begin1 != __end1; ++__begin1 , ++_d_begin1) {
23882388
//CHECK-NEXT: {
2389-
//CHECK-NEXT: _d_elem = *_d___begin1;
2389+
//CHECK-NEXT: _d_elem = *_d_begin1;
23902390
//CHECK-NEXT: elem = *__begin1;
23912391
//CHECK-NEXT: clad::push(_t1, elem);
23922392
//CHECK-NEXT: clad::push(_t2, _d_elem);
@@ -2398,13 +2398,13 @@ double fn37(double x, double y) {
23982398
//CHECK-NEXT: for (; _t0; _t0--) {
23992399
//CHECK-NEXT: {
24002400
//CHECK-NEXT: {
2401-
//CHECK-NEXT: _d___begin1--;
2401+
//CHECK-NEXT: _d_begin1--;
24022402
//CHECK-NEXT: elem = clad::pop(_t1);
24032403
//CHECK-NEXT: _d_elem = clad::pop(_t2);
24042404
//CHECK-NEXT: }
24052405
//CHECK-NEXT: _d_elem += _d_sum;
24062406
//CHECK-NEXT: }
2407-
//CHECK-NEXT: *_d___begin1 += _d_elem;
2407+
//CHECK-NEXT: *_d_begin1 += _d_elem;
24082408
//CHECK-NEXT: }
24092409
//CHECK-NEXT: {
24102410
//CHECK-NEXT: *_d_x += _d_range[0];
@@ -2437,15 +2437,15 @@ double fn38(double x, double y) {
24372437
//CHECK-NEXT: range = {1., x, 2., y, 3.};
24382438
//CHECK-NEXT: _t0 = 0;
24392439
//CHECK-NEXT: clad::array<double> &__range2 = range;
2440-
//CHECK-NEXT: clad::array<double> &_d___range2 = _d_range;
2440+
//CHECK-NEXT: clad::array<double> &_d_range2 = _d_range;
24412441
//CHECK-NEXT: {{const double *\*|const_iterator }}__begin2 = std::begin(__range2);
2442-
//CHECK-NEXT: double *_d___begin2 = std::begin(_d___range2);
2442+
//CHECK-NEXT: double *_d_begin2 = std::begin(_d_range2);
24432443
//CHECK-NEXT: {{const double *\*|const_iterator }}__end2 = std::end(__range2);
24442444
//CHECK-NEXT: double _d_elem = 0.;
24452445
//CHECK-NEXT: double elem = 0.;
2446-
//CHECK-NEXT: for (; __begin2 != __end2; ++__begin2 , ++_d___begin2) {
2446+
//CHECK-NEXT: for (; __begin2 != __end2; ++__begin2 , ++_d_begin2) {
24472447
//CHECK-NEXT: {
2448-
//CHECK-NEXT: _d_elem = *_d___begin2;
2448+
//CHECK-NEXT: _d_elem = *_d_begin2;
24492449
//CHECK-NEXT: elem = *__begin2;
24502450
//CHECK-NEXT: clad::push(_t1, elem);
24512451
//CHECK-NEXT: clad::push(_t2, _d_elem);
@@ -2460,13 +2460,13 @@ double fn38(double x, double y) {
24602460
//CHECK-NEXT: for (; _t0; _t0--) {
24612461
//CHECK-NEXT: {
24622462
//CHECK-NEXT: {
2463-
//CHECK-NEXT: _d___begin2--;
2463+
//CHECK-NEXT: _d_begin2--;
24642464
//CHECK-NEXT: elem = clad::pop(_t1);
24652465
//CHECK-NEXT: _d_elem = clad::pop(_t2);
24662466
//CHECK-NEXT: }
24672467
//CHECK-NEXT: _d_elem += _d_sum;
24682468
//CHECK-NEXT: }
2469-
//CHECK-NEXT: *_d___begin2 += _d_elem;
2469+
//CHECK-NEXT: *_d_begin2 += _d_elem;
24702470
//CHECK-NEXT: }
24712471
//CHECK-NEXT: {
24722472
//CHECK-NEXT: *_d_x += _d_range[1];

test/Gradient/STLCustomDerivatives.C

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -619,41 +619,41 @@ int main() {
619619
// CHECK-NEXT: *_t0 = 5;
620620
// CHECK-NEXT: {{.*}}value_type *_t1 = &a[1];
621621
// CHECK-NEXT: *_t1 = y;
622-
// CHECK-NEXT: std::array<double, 3> _d__b = {{.*}};
622+
// CHECK-NEXT: std::array<double, 3> _d_b = {{.*}};
623623
// CHECK-NEXT: std::array<double, 3> _b0;
624624
// CHECK-NEXT: {{.*}}value_type *_t2 = &_b0[0];
625625
// CHECK-NEXT: *_t2 = x;
626626
// CHECK-NEXT: {{.*}}value_type *_t3 = &_b0[1];
627627
// CHECK-NEXT: *_t3 = 0;
628628
// CHECK-NEXT: {{.*}}value_type *_t4 = &_b0[2];
629629
// CHECK-NEXT: *_t4 = x * x;
630-
// CHECK-NEXT: std::array<double, 3> _d_b = {{.*}};
630+
// CHECK-NEXT: std::array<double, 3> _d_b0 = {{.*}};
631631
// CHECK-NEXT: const std::array<double, 3> b = _b0;
632632
// CHECK: {{.*}}value_type _t{{7|8}} = a.back();
633633
// CHECK-NEXT: {{.*}}value_type _t6 = b.front();
634634
// CHECK-NEXT: {{.*}}value_type _t5 = b.at(2);
635635
// CHECK-NEXT: {
636636
// CHECK-NEXT: _d_a.back() += 1 * _t5 * _t6;
637-
// CHECK: {{.*}}front_pullback(&b, _t{{7|8}} * 1 * _t5, &_d_b);
637+
// CHECK: {{.*}}front_pullback(&b, _t{{7|8}} * 1 * _t5, &_d_b0);
638638
// CHECK-NEXT: {{.*size_type|size_t}} _r0 = {{0U|0UL}};
639-
// CHECK-NEXT: {{.*}}at_pullback(&b, 2, _t{{7|8}} * _t6 * 1, &_d_b, &_r0);
639+
// CHECK-NEXT: {{.*}}at_pullback(&b, 2, _t{{7|8}} * _t6 * 1, &_d_b0, &_r0);
640640
// CHECK-NEXT: {{.*size_type|size_t}} _r1 = {{0U|0UL}};
641-
// CHECK-NEXT: {{.*}}operator_subscript_pullback(&b, 1, 1, &_d_b, &_r1);
641+
// CHECK-NEXT: {{.*}}operator_subscript_pullback(&b, 1, 1, &_d_b0, &_r1);
642642
// CHECK-NEXT: }
643-
// CHECK-NEXT: {{.*}}constructor_pullback(_b0, &_d_b, &_d__b);
643+
// CHECK-NEXT: {{.*}}constructor_pullback(_b0, &_d_b0, &_d_b);
644644
// CHECK-NEXT: {
645-
// CHECK-NEXT: {{.*}}value_type _r_d4 = _d__b[2];
646-
// CHECK-NEXT: _d__b[2] = 0.;
645+
// CHECK-NEXT: {{.*}}value_type _r_d4 = _d_b[2];
646+
// CHECK-NEXT: _d_b[2] = 0.;
647647
// CHECK-NEXT: *_d_x += _r_d4 * x;
648648
// CHECK-NEXT: *_d_x += x * _r_d4;
649649
// CHECK-NEXT: }
650650
// CHECK-NEXT: {
651-
// CHECK-NEXT: {{.*}}value_type _r_d3 = _d__b[1];
652-
// CHECK-NEXT: _d__b[1] = 0.;
651+
// CHECK-NEXT: {{.*}}value_type _r_d3 = _d_b[1];
652+
// CHECK-NEXT: _d_b[1] = 0.;
653653
// CHECK-NEXT: }
654654
// CHECK-NEXT: {
655-
// CHECK-NEXT: {{.*}}value_type _r_d2 = _d__b[0];
656-
// CHECK-NEXT: _d__b[0] = 0.;
655+
// CHECK-NEXT: {{.*}}value_type _r_d2 = _d_b[0];
656+
// CHECK-NEXT: _d_b[0] = 0.;
657657
// CHECK-NEXT: *_d_x += _r_d2;
658658
// CHECK-NEXT: }
659659
// CHECK-NEXT: {

0 commit comments

Comments
 (0)