From 7a32271dbc3179af204a123c75e6ed8178178079 Mon Sep 17 00:00:00 2001 From: "petro.zarytskyi" Date: Mon, 29 Jul 2024 15:38:35 +0300 Subject: [PATCH] Merge "_t" variable declarations with their initialization points on function global scope. The purpose of this commit is to merge decl stmts (e.g. ``double _t0;``) with their initialization points (e.g.``_t0 = x;``) in the reverse mode whenever this is possible. All of the simplifications happen when the original statement is used on the function global scope because otherwise, the declaration has to be "promoted to the function global scope". The simplification is done for `_t` variables created by `GlobalStoreAndRef`, `DelayedGlobalStoreAndRef`, and `StoreAndRestore`, e.g. ``` double _t0; ... _t0 = x; ``` can be refactored to ``` ... double _t0 = x; ``` Fixes #525. --- .../clad/Differentiator/ReverseModeVisitor.h | 10 +- lib/Differentiator/ReverseModeVisitor.cpp | 108 ++++++++++---- test/Arrays/ArrayInputsReverseMode.C | 51 +++---- test/CUDA/GradientCuda.cu | 18 +-- test/ErrorEstimation/Assignments.C | 21 +-- test/ErrorEstimation/BasicOps.C | 45 ++---- test/ErrorEstimation/ConditonalStatements.C | 6 +- test/ErrorEstimation/LoopsAndArrays.C | 27 ++-- test/ErrorEstimation/LoopsAndArraysExec.C | 9 +- test/FirstDerivative/BuiltinDerivatives.C | 3 +- test/Gradient/Assignments.C | 129 ++++++---------- test/Gradient/FunctionCalls.C | 138 ++++++----------- test/Gradient/Functors.C | 15 +- test/Gradient/Gradients.C | 36 ++--- test/Gradient/Loops.C | 141 ++++++------------ test/Gradient/MemberFunctions.C | 78 ++++------ test/Gradient/NonDifferentiable.C | 3 +- test/Gradient/Pointers.C | 90 ++++------- test/Gradient/Switch.C | 6 +- test/Gradient/TemplateFunctors.C | 9 +- test/Gradient/TestTypeConversion.C | 3 +- test/Gradient/UserDefinedTypes.C | 90 ++++------- test/Hessian/BuiltinDerivatives.C | 12 +- test/Jacobian/Functors.C | 12 +- test/Jacobian/Jacobian.C | 18 +-- test/Misc/RunDemos.C | 9 +- 26 files changed, 405 insertions(+), 682 deletions(-) diff --git a/include/clad/Differentiator/ReverseModeVisitor.h b/include/clad/Differentiator/ReverseModeVisitor.h index fbca90069..ced679921 100644 --- a/include/clad/Differentiator/ReverseModeVisitor.h +++ b/include/clad/Differentiator/ReverseModeVisitor.h @@ -268,14 +268,18 @@ namespace clad { struct DelayedStoreResult { ReverseModeVisitor& V; StmtDiff Result; + clang::VarDecl* Declaration; bool isConstant; bool isInsideLoop; + bool isFnScope; bool needsUpdate; DelayedStoreResult(ReverseModeVisitor& pV, StmtDiff pResult, - bool pIsConstant, bool pIsInsideLoop, + clang::VarDecl* pDeclaration, bool pIsConstant, + bool pIsInsideLoop, bool pIsFnScope, bool pNeedsUpdate = false) - : V(pV), Result(pResult), isConstant(pIsConstant), - isInsideLoop(pIsInsideLoop), needsUpdate(pNeedsUpdate) {} + : V(pV), Result(pResult), Declaration(pDeclaration), + isConstant(pIsConstant), isInsideLoop(pIsInsideLoop), + isFnScope(pIsFnScope), needsUpdate(pNeedsUpdate) {} void Finalize(clang::Expr* New); }; diff --git a/lib/Differentiator/ReverseModeVisitor.cpp b/lib/Differentiator/ReverseModeVisitor.cpp index 72c5b9869..621ca8ee8 100644 --- a/lib/Differentiator/ReverseModeVisitor.cpp +++ b/lib/Differentiator/ReverseModeVisitor.cpp @@ -908,7 +908,9 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, auto VisitBranch = [&](const Expr* Branch, Expr* dfdx) -> std::pair { + beginScope(Scope::DeclScope); auto Result = DifferentiateSingleExpr(Branch, dfdx); + endScope(); StmtDiff BranchDiff = Result.first; StmtDiff ExprDiff = Result.second; Stmt* Forward = utils::unwrapIfSingleStmt(BranchDiff.getStmt()); @@ -975,10 +977,10 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, } StmtDiff ReverseModeVisitor::VisitForStmt(const ForStmt* FS) { - beginScope(Scope::DeclScope | Scope::ControlScope | Scope::BreakScope | - Scope::ContinueScope); beginBlock(direction::reverse); LoopCounter loopCounter(*this); + beginScope(Scope::DeclScope | Scope::ControlScope | Scope::BreakScope | + Scope::ContinueScope); llvm::SaveAndRestore SaveCurrentBreakFlagExpr( m_CurrentBreakFlagExpr); m_CurrentBreakFlagExpr = nullptr; @@ -2366,16 +2368,16 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, // and restore it in the reverse pass if (m_DiffReq.shouldBeRecorded(L)) { StmtDiff pushPop = StoreAndRestore(LCloned); - addToCurrentBlock(pushPop.getExpr(), direction::forward); - addToCurrentBlock(pushPop.getExpr_dx(), direction::reverse); + addToCurrentBlock(pushPop.getStmt(), direction::forward); + addToCurrentBlock(pushPop.getStmt_dx(), direction::reverse); } // We need to store values of derivative pointer variables in forward pass // and restore them in reverse pass. if (isPointerOp) { StmtDiff pushPop = StoreAndRestore(Ldiff.getExpr_dx()); - addToCurrentBlock(pushPop.getExpr(), direction::forward); - addToCurrentBlock(pushPop.getExpr_dx(), direction::reverse); + addToCurrentBlock(pushPop.getStmt(), direction::forward); + addToCurrentBlock(pushPop.getStmt_dx(), direction::reverse); } if (m_ExternalSource) @@ -2750,8 +2752,8 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, addToCurrentBlock(assignDerivativeE); if (isInsideLoop) { StmtDiff pushPop = StoreAndRestore(derivedVDE); - addToCurrentBlock(pushPop.getExpr(), direction::forward); - m_LoopBlock.back().push_back(pushPop.getExpr_dx()); + addToCurrentBlock(pushPop.getStmt(), direction::forward); + m_LoopBlock.back().push_back(pushPop.getStmt_dx()); } derivedVDE = BuildOp(UnaryOperatorKind::UO_Deref, derivedVDE); } @@ -3167,9 +3169,20 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, return CladTape.Last(); } - Expr* Ref = BuildDeclRef(GlobalStoreImpl(Type, prefix)); - Expr* Set = BuildOp(BO_Assign, Ref, E); - addToCurrentBlock(Set, direction::forward); + VarDecl* VD = BuildGlobalVarDecl(Type, prefix); + DeclStmt* decl = BuildDeclStmt(VD); + Expr* Ref = BuildDeclRef(VD); + bool isFnScope = getCurrentScope()->isFunctionScope() || + m_DiffReq.Mode == DiffMode::reverse_mode_forward_pass; + if (isFnScope) { + addToCurrentBlock(decl, direction::forward); + m_Sema.AddInitializerToDecl(VD, E, /*DirectInit=*/true); + VD->setInitStyle(VarDecl::InitializationStyle::CInit); + } else { + addToBlock(decl, m_Globals); + Expr* Set = BuildOp(BO_Assign, Ref, E); + addToCurrentBlock(Set, direction::forward); + } return Ref; } @@ -3183,6 +3196,7 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, StmtDiff ReverseModeVisitor::StoreAndRestore(clang::Expr* E, llvm::StringRef prefix) { + assert(E && "must be provided"); auto Type = getNonConstType(E->getType(), m_Context, m_Sema); if (isInsideLoop) { @@ -3197,17 +3211,26 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, if (const auto* AT = dyn_cast(Type)) init = getArraySizeExpr(AT, m_Context, *this); - Expr* Ref = BuildDeclRef(GlobalStoreImpl(Type, prefix, init)); - if (E) { - Expr* Store = BuildOp(BO_Assign, Ref, Clone(E)); - Expr* Restore = nullptr; - if (E->isModifiableLvalue(m_Context) == Expr::MLV_Valid) { - auto* r = Clone(E); - Restore = BuildOp(BO_Assign, r, Ref); - } - return {Store, Restore}; + VarDecl* VD = BuildGlobalVarDecl(Type, prefix, init); + DeclStmt* decl = BuildDeclStmt(VD); + Expr* Ref = BuildDeclRef(VD); + Stmt* Store = nullptr; + bool isFnScope = getCurrentScope()->isFunctionScope() || + m_DiffReq.Mode == DiffMode::reverse_mode_forward_pass; + if (isFnScope) { + Store = decl; + m_Sema.AddInitializerToDecl(VD, E, /*DirectInit=*/true); + VD->setInitStyle(VarDecl::InitializationStyle::CInit); + } else { + addToBlock(decl, m_Globals); + Store = BuildOp(BO_Assign, Ref, Clone(E)); } - return {}; + + Stmt* Restore = nullptr; + if (E->isModifiableLvalue(m_Context) == Expr::MLV_Valid) + Restore = BuildOp(BO_Assign, Clone(E), Ref); + + return {Store, Restore}; } void ReverseModeVisitor::DelayedStoreResult::Finalize(Expr* New) { @@ -3217,6 +3240,10 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, auto* Push = cast(Result.getExpr()); unsigned lastArg = Push->getNumArgs() - 1; Push->setArg(lastArg, V.m_Sema.DefaultLvalueConversion(New).get()); + } else if (isFnScope) { + V.m_Sema.AddInitializerToDecl(Declaration, New, true); + Declaration->setInitStyle(VarDecl::InitializationStyle::CInit); + V.addToCurrentBlock(V.BuildDeclStmt(Declaration), direction::forward); } else { V.addToCurrentBlock(V.BuildOp(BO_Assign, Result.getExpr(), New), direction::forward); @@ -3232,9 +3259,12 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, Expr::EvalResult evalRes; bool isConst = clad_compat::Expr_EvaluateAsConstantExpr(E, evalRes, m_Context); - return DelayedStoreResult{*this, Ediff, - /*isConstant*/ isConst, - /*isInsideLoop*/ false, + return DelayedStoreResult{*this, + Ediff, + /*Declaration=*/nullptr, + /*isConstant=*/isConst, + /*isInsideLoop=*/false, + /*isFnScope=*/false, /*pNeedsUpdate=*/false}; } if (isInsideLoop) { @@ -3242,16 +3272,29 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, auto CladTape = MakeCladTapeFor(dummy); Expr* Push = CladTape.Push; Expr* Pop = CladTape.Pop; - return DelayedStoreResult{*this, StmtDiff{Push, nullptr, nullptr, Pop}, - /*isConstant*/ false, - /*isInsideLoop*/ true, /*pNeedsUpdate=*/true}; + return DelayedStoreResult{*this, + StmtDiff{Push, nullptr, nullptr, Pop}, + /*Declaration=*/nullptr, + /*isConstant=*/false, + /*isInsideLoop=*/true, + /*isFnScope=*/false, + /*pNeedsUpdate=*/true}; } - Expr* Ref = BuildDeclRef(GlobalStoreImpl( - getNonConstType(E->getType(), m_Context, m_Sema), prefix)); + bool isFnScope = getCurrentScope()->isFunctionScope() || + m_DiffReq.Mode == DiffMode::reverse_mode_forward_pass; + VarDecl* VD = BuildGlobalVarDecl( + getNonConstType(E->getType(), m_Context, m_Sema), prefix); + Expr* Ref = BuildDeclRef(VD); + if (!isFnScope) + addToBlock(BuildDeclStmt(VD), m_Globals); // Return reference to the declaration instead of original expression. - return DelayedStoreResult{*this, StmtDiff{Ref, nullptr, nullptr, Ref}, - /*isConstant*/ false, - /*isInsideLoop*/ false, /*pNeedsUpdate=*/true}; + return DelayedStoreResult{*this, + StmtDiff{Ref, nullptr, nullptr, Ref}, + /*Declaration=*/VD, + /*isConstant=*/false, + /*isInsideLoop=*/false, + /*isFnScope=*/isFnScope, + /*pNeedsUpdate=*/true}; } ReverseModeVisitor::LoopCounter::LoopCounter(ReverseModeVisitor& RMV) @@ -3323,7 +3366,6 @@ Expr* getArraySizeExpr(const ArrayType* AT, ASTContext& context, } StmtDiff ReverseModeVisitor::VisitDoStmt(const DoStmt* DS) { - beginBlock(direction::reverse); LoopCounter loopCounter(*this); diff --git a/test/Arrays/ArrayInputsReverseMode.C b/test/Arrays/ArrayInputsReverseMode.C index 8f63841d9..76350a829 100644 --- a/test/Arrays/ArrayInputsReverseMode.C +++ b/test/Arrays/ArrayInputsReverseMode.C @@ -38,14 +38,13 @@ float func(float* a, float* b) { } //CHECK: void func_grad(float *a, float *b, float *_d_a, float *_d_b) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; //CHECK-NEXT: clad::tape _t2 = {}; //CHECK-NEXT: float _d_sum = 0; //CHECK-NEXT: float sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -93,13 +92,12 @@ float func2(float* a) { } //CHECK: void func2_grad(float *a, float *_d_a) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; //CHECK-NEXT: float _d_sum = 0; //CHECK-NEXT: float sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -132,14 +130,13 @@ float func3(float* a, float* b) { } //CHECK: void func3_grad(float *a, float *b, float *_d_a, float *_d_b) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; //CHECK-NEXT: clad::tape _t2 = {}; //CHECK-NEXT: float _d_sum = 0; //CHECK-NEXT: float sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -176,7 +173,6 @@ double func4(double x) { } //CHECK: void func4_grad(double x, double *_d_x) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; @@ -184,7 +180,7 @@ double func4(double x) { //CHECK-NEXT: double arr[3] = {x, 2 * x, x * x}; //CHECK-NEXT: double _d_sum = 0; //CHECK-NEXT: double sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -234,11 +230,9 @@ double func5(int k) { } //CHECK: void func5_grad(int k, int *_d_k) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; -//CHECK-NEXT: unsigned {{int|long}} _t2; //CHECK-NEXT: int _d_i0 = 0; //CHECK-NEXT: int i0 = 0; //CHECK-NEXT: clad::tape _t3 = {}; @@ -247,7 +241,7 @@ double func5(int k) { //CHECK-NEXT: double _d_arr[n]; //CHECK-NEXT: clad::zero_init(_d_arr, n); //CHECK-NEXT: double arr[n]; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -259,7 +253,7 @@ double func5(int k) { //CHECK-NEXT: } //CHECK-NEXT: double _d_sum = 0; //CHECK-NEXT: double sum = 0; -//CHECK-NEXT: _t2 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t2 = {{0U|0UL}}; //CHECK-NEXT: for (i0 = 0; ; i0++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i0 < 3)) @@ -310,7 +304,6 @@ double func6(double seed) { } //CHECK: void func6_grad(double seed, double *_d_seed) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape > _t1 = {}; @@ -319,7 +312,7 @@ double func6(double seed) { //CHECK-NEXT: clad::tape _t2 = {}; //CHECK-NEXT: double _d_sum = 0; //CHECK-NEXT: double sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -371,7 +364,6 @@ double func7(double *params) { } //CHECK: void func7_grad(double *params, double *_d_params) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: std::size_t _d_i = 0; //CHECK-NEXT: std::size_t i = 0; //CHECK-NEXT: clad::tape > _t1 = {}; @@ -380,7 +372,7 @@ double func7(double *params) { //CHECK-NEXT: clad::tape _t2 = {}; //CHECK-NEXT: double _d_out = 0; //CHECK-NEXT: double out = 0.; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 1)) @@ -428,16 +420,13 @@ double func8(double i, double *arr, int n) { } //CHECK: void func8_grad(double i, double *arr, int n, double *_d_i, double *_d_arr, int *_d_n) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: double _t2; //CHECK-NEXT: double _d_res = 0; //CHECK-NEXT: double res = 0; -//CHECK-NEXT: _t0 = arr[0]; +//CHECK-NEXT: double _t0 = arr[0]; //CHECK-NEXT: arr[0] = 1; -//CHECK-NEXT: _t1 = res; +//CHECK-NEXT: double _t1 = res; //CHECK-NEXT: res = helper2(i, arr, n); -//CHECK-NEXT: _t2 = arr[0]; +//CHECK-NEXT: double _t2 = arr[0]; //CHECK-NEXT: arr[0] = 5; //CHECK-NEXT: _d_res += 1; //CHECK-NEXT: { @@ -478,13 +467,12 @@ double func9(double i, double j) { //CHECK: void func9_grad(double i, double j, double *_d_i, double *_d_j) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_idx = 0; //CHECK-NEXT: int idx = 0; //CHECK-NEXT: clad::tape _t1 = {}; //CHECK-NEXT: double _d_arr[5] = {0}; //CHECK-NEXT: double arr[5] = {}; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (idx = 0; ; ++idx) { // CHECK-NEXT: { // CHECK-NEXT: if (!(idx < 5)) @@ -534,14 +522,13 @@ double func10(double *arr, int n) { //CHECK: void func10_grad_0(double *arr, int n, double *_d_arr) { //CHECK-NEXT: int _d_n = 0; -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; //CHECK-NEXT: clad::tape _t2 = {}; //CHECK-NEXT: double _d_res = 0; //CHECK-NEXT: double res = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -636,13 +623,12 @@ int main() { } //CHECK: void addArr_pullback(const double *arr, int n, double _d_y, double *_d_arr, int *_d_n) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; //CHECK-NEXT: double _d_ret = 0; //CHECK-NEXT: double ret = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -672,8 +658,7 @@ int main() { // CHECK-NEXT: } //CHECK: void inv_square_pullback(double *params, double _d_y, double *_d_params) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: _t0 = (params[0] * params[0]); +//CHECK-NEXT: double _t0 = (params[0] * params[0]); //CHECK-NEXT: { //CHECK-NEXT: double _r0 = _d_y * -(1 / (_t0 * _t0)); //CHECK-NEXT: _d_params[0] += _r0 * params[0]; @@ -689,8 +674,7 @@ int main() { //CHECK-NEXT: } //CHECK: void modify_pullback(double &elem, double val, double *_d_elem, double *_d_val) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: _t0 = elem; +//CHECK-NEXT: double _t0 = elem; //CHECK-NEXT: elem = val; //CHECK-NEXT: { //CHECK-NEXT: elem = _t0; @@ -701,8 +685,7 @@ int main() { //CHECK-NEXT: } //CHECK: void sq_pullback(double &elem, double _d_y, double *_d_elem) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: _t0 = elem; +//CHECK-NEXT: double _t0 = elem; //CHECK-NEXT: elem = elem * elem; //CHECK-NEXT: *_d_elem += _d_y; //CHECK-NEXT: { diff --git a/test/CUDA/GradientCuda.cu b/test/CUDA/GradientCuda.cu index b7b3a65ac..0729c413a 100644 --- a/test/CUDA/GradientCuda.cu +++ b/test/CUDA/GradientCuda.cu @@ -31,18 +31,12 @@ __device__ __host__ double gauss(double* x, double* p, double sigma, int dim) { // CHECK: void gauss_grad_1(double *x, double *p, double sigma, int dim, double *_d_p) __attribute__((device)) __attribute__((host)) { //CHECK-NEXT: double _d_sigma = 0; //CHECK-NEXT: int _d_dim = 0; -//CHECK-NEXT: unsigned long _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; -//CHECK-NEXT: double _t2; -//CHECK-NEXT: double _t3; -//CHECK-NEXT: double _t4; -//CHECK-NEXT: double _t5; -//CHECK-NEXT: double _t6; //CHECK-NEXT: double _d_t = 0; //CHECK-NEXT: double t = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned long _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { //CHECK-NEXT: { //CHECK-NEXT: if (!(i < dim)) @@ -52,12 +46,12 @@ __device__ __host__ double gauss(double* x, double* p, double sigma, int dim) { //CHECK-NEXT: clad::push(_t1, t); //CHECK-NEXT: t += (x[i] - p[i]) * (x[i] - p[i]); //CHECK-NEXT: } -//CHECK-NEXT: _t2 = t; -//CHECK-NEXT: _t3 = (2 * sigma * sigma); +//CHECK-NEXT: double _t2 = t; +//CHECK-NEXT: double _t3 = (2 * sigma * sigma); //CHECK-NEXT: t = -t / _t3; -//CHECK-NEXT: _t6 = std::pow(2 * 3.1415926535897931, -dim / 2.); -//CHECK-NEXT: _t5 = std::pow(sigma, -0.5); -//CHECK-NEXT: _t4 = std::exp(t); +//CHECK-NEXT: double _t6 = std::pow(2 * 3.1415926535897931, -dim / 2.); +//CHECK-NEXT: double _t5 = std::pow(sigma, -0.5); +//CHECK-NEXT: double _t4 = std::exp(t); //CHECK-NEXT: { //CHECK-NEXT: double _r1 = 0; //CHECK-NEXT: double _r2 = 0; diff --git a/test/ErrorEstimation/Assignments.C b/test/ErrorEstimation/Assignments.C index efcbac7b2..7f0ca24dd 100644 --- a/test/ErrorEstimation/Assignments.C +++ b/test/ErrorEstimation/Assignments.C @@ -13,11 +13,9 @@ float func(float x, float y) { } //CHECK: void func_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: float _t0; -//CHECK-NEXT: float _t1; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: float _t0 = x; //CHECK-NEXT: x = x + y; -//CHECK-NEXT: _t1 = y; +//CHECK-NEXT: float _t1 = y; //CHECK-NEXT: y = x; //CHECK-NEXT: *_d_y += 1; //CHECK-NEXT: { @@ -44,8 +42,7 @@ float func2(float x, int y) { } //CHECK: void func2_grad(float x, int y, float *_d_x, int *_d_y, double &_final_error) { -//CHECK-NEXT: float _t0; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: float _t0 = x; //CHECK-NEXT: x = y * x + x * x; //CHECK-NEXT: *_d_x += 1; //CHECK-NEXT: { @@ -67,8 +64,7 @@ float func3(int x, int y) { } //CHECK: void func3_grad(int x, int y, int *_d_x, int *_d_y, double &_final_error) { -//CHECK-NEXT: int _t0; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: int _t0 = x; //CHECK-NEXT: x = y; //CHECK-NEXT: *_d_y += 1; //CHECK-NEXT: { @@ -86,10 +82,9 @@ float func4(float x, float y) { } //CHECK: void func4_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: float _t0; //CHECK-NEXT: double _d_z = 0; //CHECK-NEXT: double z = y; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: float _t0 = x; //CHECK-NEXT: x = z + y; //CHECK-NEXT: *_d_x += 1; //CHECK-NEXT: { @@ -112,10 +107,9 @@ float func5(float x, float y) { } //CHECK: void func5_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: float _t0; //CHECK-NEXT: int _d_z = 0; //CHECK-NEXT: int z = 56; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: float _t0 = x; //CHECK-NEXT: x = z + y; //CHECK-NEXT: *_d_x += 1; //CHECK-NEXT: { @@ -157,8 +151,7 @@ float func8(int x, int y) { } //CHECK: void func8_grad(int x, int y, int *_d_x, int *_d_y, double &_final_error) { -//CHECK-NEXT: int _t0; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: int _t0 = x; //CHECK-NEXT: x = y * y; //CHECK-NEXT: *_d_x += 1; //CHECK-NEXT: { diff --git a/test/ErrorEstimation/BasicOps.C b/test/ErrorEstimation/BasicOps.C index 34671486d..caa990bca 100644 --- a/test/ErrorEstimation/BasicOps.C +++ b/test/ErrorEstimation/BasicOps.C @@ -14,11 +14,9 @@ float func(float x, float y) { } //CHECK: void func_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: float _t0; -//CHECK-NEXT: float _t1; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: float _t0 = x; //CHECK-NEXT: x = x + y; -//CHECK-NEXT: _t1 = y; +//CHECK-NEXT: float _t1 = y; //CHECK-NEXT: y = y + y++ + y; //CHECK-NEXT: float _d_z = 0; //CHECK-NEXT: float z = y * x; @@ -60,8 +58,7 @@ float func2(float x, float y) { } //CHECK: void func2_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: float _t0; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: float _t0 = x; //CHECK-NEXT: x = x - y - y * y; //CHECK-NEXT: float _d_z = 0; //CHECK-NEXT: float z = y / x; @@ -96,15 +93,12 @@ float func3(float x, float y) { } //CHECK: void func3_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: float _t0; -//CHECK-NEXT: float _t1; -//CHECK-NEXT: float _t2; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: float _t0 = x; //CHECK-NEXT: x = x - y - y * y; //CHECK-NEXT: float _d_z = 0; //CHECK-NEXT: float z = y; -//CHECK-NEXT: _t2 = y; -//CHECK-NEXT: _t1 = (y = x + x); +//CHECK-NEXT: float _t2 = y; +//CHECK-NEXT: float _t1 = (y = x + x); //CHECK-NEXT: float _d_t = 0; //CHECK-NEXT: float t = x * z * _t1; //CHECK-NEXT: _d_t += 1; @@ -160,9 +154,8 @@ float func5(float x, float y) { } //CHECK: void func5_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: float _t0; //CHECK-NEXT: double _ret_value0 = 0; -//CHECK-NEXT: _t0 = y; +//CHECK-NEXT: float _t0 = y; //CHECK-NEXT: y = std::sin(x); //CHECK-NEXT: _ret_value0 = y * y; //CHECK-NEXT: { @@ -262,12 +255,10 @@ float func8(float x, float y) { } //CHECK: void func8_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: float _t0; -//CHECK-NEXT: float _t1; //CHECK-NEXT: float _d_z = 0; //CHECK-NEXT: float z; -//CHECK-NEXT: _t0 = z; -//CHECK-NEXT: _t1 = x; +//CHECK-NEXT: float _t0 = z; +//CHECK-NEXT: float _t1 = x; //CHECK-NEXT: z = y + helper2(x); //CHECK-NEXT: _d_z += 1; //CHECK-NEXT: { @@ -292,20 +283,14 @@ float func9(float x, float y) { } //CHECK: void func9_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: float _t1; -//CHECK-NEXT: float _t3; -//CHECK-NEXT: double _t4; -//CHECK-NEXT: float _t5; -//CHECK-NEXT: double _t7; -//CHECK-NEXT: float _t8; -//CHECK-NEXT: _t1 = x; +//CHECK-NEXT: float _t1 = x; //CHECK-NEXT: float _d_z = 0; //CHECK-NEXT: float z = helper(x, y) + helper2(x); -//CHECK-NEXT: _t3 = z; -//CHECK-NEXT: _t5 = x; -//CHECK-NEXT: _t7 = helper2(x); -//CHECK-NEXT: _t8 = y; -//CHECK-NEXT: _t4 = helper2(y); +//CHECK-NEXT: float _t3 = z; +//CHECK-NEXT: float _t5 = x; +//CHECK-NEXT: double _t7 = helper2(x); +//CHECK-NEXT: float _t8 = y; +//CHECK-NEXT: double _t4 = helper2(y); //CHECK-NEXT: z += _t7 * _t4; //CHECK-NEXT: _d_z += 1; //CHECK-NEXT: { diff --git a/test/ErrorEstimation/ConditonalStatements.C b/test/ErrorEstimation/ConditonalStatements.C index c82f777cb..605cee01d 100644 --- a/test/ErrorEstimation/ConditonalStatements.C +++ b/test/ErrorEstimation/ConditonalStatements.C @@ -125,9 +125,8 @@ float func2(float x) { float func3(float x, float y) { return x > 30 ? x * y : x + y; } //CHECK: void func3_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: bool _cond0; //CHECK-NEXT: double _ret_value0 = 0; -//CHECK-NEXT: _cond0 = x > 30; +//CHECK-NEXT: bool _cond0 = x > 30; //CHECK-NEXT: _ret_value0 = _cond0 ? x * y : x + y; //CHECK-NEXT: if (_cond0) { //CHECK-NEXT: *_d_x += 1 * y; @@ -147,11 +146,10 @@ float func4(float x, float y) { } //CHECK: void func4_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: bool _cond0; //CHECK-NEXT: float _t0; //CHECK-NEXT: float _t1; //CHECK-NEXT: double _ret_value0 = 0; -//CHECK-NEXT: _cond0 = !x; +//CHECK-NEXT: bool _cond0 = !x; //CHECK-NEXT: if (_cond0) //CHECK-NEXT: _t0 = x; //CHECK-NEXT: else diff --git a/test/ErrorEstimation/LoopsAndArrays.C b/test/ErrorEstimation/LoopsAndArrays.C index b79c6b9d1..98e1ba0bd 100644 --- a/test/ErrorEstimation/LoopsAndArrays.C +++ b/test/ErrorEstimation/LoopsAndArrays.C @@ -15,14 +15,13 @@ float func(float* p, int n) { } //CHECK: void func_grad(float *p, int n, float *_d_p, int *_d_n, double &_final_error) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; //CHECK-NEXT: unsigned {{int|long}} p_size = 0; //CHECK-NEXT: float _d_sum = 0; //CHECK-NEXT: float sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -64,7 +63,6 @@ float func2(float x) { } //CHECK: void func2_grad(float x, float *_d_x, double &_final_error) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; @@ -73,7 +71,7 @@ float func2(float x) { //CHECK-NEXT: clad::tape _t2 = {}; //CHECK-NEXT: float _d_z = 0; //CHECK-NEXT: float z; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 9)) @@ -119,16 +117,13 @@ float func3(float x, float y) { } //CHECK: void func3_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: double _t2; //CHECK-NEXT: double _d_arr[3] = {0}; //CHECK-NEXT: double arr[3]; -//CHECK-NEXT: _t0 = arr[0]; +//CHECK-NEXT: double _t0 = arr[0]; //CHECK-NEXT: arr[0] = x + y; -//CHECK-NEXT: _t1 = arr[1]; +//CHECK-NEXT: double _t1 = arr[1]; //CHECK-NEXT: arr[1] = x * x; -//CHECK-NEXT: _t2 = arr[2]; +//CHECK-NEXT: double _t2 = arr[2]; //CHECK-NEXT: arr[2] = arr[0] + arr[1]; //CHECK-NEXT: _d_arr[2] += 1; //CHECK-NEXT: { @@ -169,7 +164,6 @@ float func4(float x[10], float y[10]) { } //CHECK: void func4_grad(float x[10], float y[10], float *_d_x, float *_d_y, double &_final_error) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: unsigned {{int|long}} x_size = 0; @@ -178,7 +172,7 @@ float func4(float x[10], float y[10]) { //CHECK-NEXT: clad::tape _t2 = {}; //CHECK-NEXT: float _d_sum = 0; //CHECK-NEXT: float sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 10)) @@ -232,17 +226,14 @@ double func5(double* x, double* y, double* output) { //CHECK: void func5_grad(double *x, double *y, double *output, double *_d_x, double *_d_y, double *_d_output, double &_final_error) { //CHECK-NEXT: unsigned {{int|long}} output_size = 0; -//CHECK-NEXT: double _t0; //CHECK-NEXT: unsigned {{int|long}} x_size = 0; //CHECK-NEXT: unsigned {{int|long}} y_size = 0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: double _t2; //CHECK-NEXT: double _ret_value0 = 0; -//CHECK-NEXT: _t0 = output[0]; +//CHECK-NEXT: double _t0 = output[0]; //CHECK-NEXT: output[0] = x[1] * y[2] - x[2] * y[1]; -//CHECK-NEXT: _t1 = output[1]; +//CHECK-NEXT: double _t1 = output[1]; //CHECK-NEXT: output[1] = x[2] * y[0] - x[0] * y[2]; -//CHECK-NEXT: _t2 = output[2]; +//CHECK-NEXT: double _t2 = output[2]; //CHECK-NEXT: output[2] = x[0] * y[1] - y[0] * x[1]; //CHECK-NEXT: _ret_value0 = output[0] + output[1] + output[2]; //CHECK-NEXT: { diff --git a/test/ErrorEstimation/LoopsAndArraysExec.C b/test/ErrorEstimation/LoopsAndArraysExec.C index 2c36669a4..4460855bf 100644 --- a/test/ErrorEstimation/LoopsAndArraysExec.C +++ b/test/ErrorEstimation/LoopsAndArraysExec.C @@ -16,14 +16,13 @@ double runningSum(float* f, int n) { } //CHECK: void runningSum_grad(float *f, int n, float *_d_f, int *_d_n, double &_final_error) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; //CHECK-NEXT: unsigned {{int|long}} f_size = 0; //CHECK-NEXT: double _d_sum = 0; //CHECK-NEXT: double sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 1; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -66,7 +65,6 @@ double mulSum(float* a, float* b, int n) { } //CHECK: void mulSum_grad(float *a, float *b, int n, float *_d_a, float *_d_b, int *_d_n, double &_final_error) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; @@ -78,7 +76,7 @@ double mulSum(float* a, float* b, int n) { //CHECK-NEXT: unsigned {{int|long}} b_size = 0; //CHECK-NEXT: double _d_sum = 0; //CHECK-NEXT: double sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -143,7 +141,6 @@ double divSum(float* a, float* b, int n) { } //CHECK: void divSum_grad(float *a, float *b, int n, float *_d_a, float *_d_b, int *_d_n, double &_final_error) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_i = 0; //CHECK-NEXT: int i = 0; //CHECK-NEXT: clad::tape _t1 = {}; @@ -151,7 +148,7 @@ double divSum(float* a, float* b, int n) { //CHECK-NEXT: unsigned {{int|long}} a_size = 0; //CHECK-NEXT: double _d_sum = 0; //CHECK-NEXT: double sum = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) diff --git a/test/FirstDerivative/BuiltinDerivatives.C b/test/FirstDerivative/BuiltinDerivatives.C index 585ba95fb..6139b3f7e 100644 --- a/test/FirstDerivative/BuiltinDerivatives.C +++ b/test/FirstDerivative/BuiltinDerivatives.C @@ -188,8 +188,7 @@ double f11(double x, double y) { } // CHECK: void f11_grad(double x, double y, double *_d_x, double *_d_y) { -// CHECK-NEXT: typename {{.*}} _t0; -// CHECK-NEXT: _t0 = std::pow(y - std::pow(x, 2), 2); +// CHECK-NEXT: typename {{.*}} _t0 = std::pow(y - std::pow(x, 2), 2); // CHECK-NEXT: { // CHECK-NEXT: double _r0 = 0; // CHECK-NEXT: int _r1 = 0; diff --git a/test/Gradient/Assignments.C b/test/Gradient/Assignments.C index 497c141bc..77a3bcc9e 100644 --- a/test/Gradient/Assignments.C +++ b/test/Gradient/Assignments.C @@ -14,8 +14,7 @@ double f1(double x, double y) { } //CHECK: void f1_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: double _t0 = x; //CHECK-NEXT: x = y; //CHECK-NEXT: *_d_y += 1; //CHECK-NEXT: { @@ -62,17 +61,13 @@ double f3(double x, double y) { } //CHECK: void f3_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: double _t2; -//CHECK-NEXT: double _t3; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: double _t0 = x; //CHECK-NEXT: x = x; -//CHECK-NEXT: _t1 = x; +//CHECK-NEXT: double _t1 = x; //CHECK-NEXT: x = x * x; -//CHECK-NEXT: _t2 = y; +//CHECK-NEXT: double _t2 = y; //CHECK-NEXT: y = x * x; -//CHECK-NEXT: _t3 = x; +//CHECK-NEXT: double _t3 = x; //CHECK-NEXT: x = y; //CHECK-NEXT: *_d_y += 1; //CHECK-NEXT: { @@ -111,11 +106,9 @@ double f4(double x, double y) { } //CHECK: void f4_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: _t0 = y; +//CHECK-NEXT: double _t0 = y; //CHECK-NEXT: y = x; -//CHECK-NEXT: _t1 = x; +//CHECK-NEXT: double _t1 = x; //CHECK-NEXT: x = 0; //CHECK-NEXT: *_d_y += 1; //CHECK-NEXT: { @@ -278,32 +271,25 @@ double f7(double x, double y) { } //CHECK: void f7_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: double _t2; -//CHECK-NEXT: double _t3; -//CHECK-NEXT: double _t4; -//CHECK-NEXT: double _t5; -//CHECK-NEXT: double _t6; //CHECK-NEXT: double _d_t[3] = {0}; //CHECK-NEXT: double t[3] = {1, x, x * x}; //CHECK-NEXT: t[0]++; //CHECK-NEXT: t[0]--; //CHECK-NEXT: ++t[0]; //CHECK-NEXT: --t[0]; -//CHECK-NEXT: _t0 = t[0]; +//CHECK-NEXT: double _t0 = t[0]; //CHECK-NEXT: t[0] = x; -//CHECK-NEXT: _t1 = x; +//CHECK-NEXT: double _t1 = x; //CHECK-NEXT: x = y; -//CHECK-NEXT: _t2 = t[0]; +//CHECK-NEXT: double _t2 = t[0]; //CHECK-NEXT: t[0] += t[1]; -//CHECK-NEXT: _t3 = t[0]; +//CHECK-NEXT: double _t3 = t[0]; //CHECK-NEXT: t[0] *= t[1]; -//CHECK-NEXT: _t4 = t[0]; +//CHECK-NEXT: double _t4 = t[0]; //CHECK-NEXT: t[0] /= t[1]; -//CHECK-NEXT: _t5 = t[0]; +//CHECK-NEXT: double _t5 = t[0]; //CHECK-NEXT: t[0] -= t[1]; -//CHECK-NEXT: _t6 = x; +//CHECK-NEXT: double _t6 = x; //CHECK-NEXT: x = ++t[0]; //CHECK-NEXT: _d_t[0] += 1; //CHECK-NEXT: { @@ -368,16 +354,12 @@ double f8(double x, double y) { } //CHECK: void f8_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: double _t2; -//CHECK-NEXT: double _t3; //CHECK-NEXT: double _d_t[4] = {0}; //CHECK-NEXT: double t[4] = {1, x, y, 1}; -//CHECK-NEXT: _t0 = t[3]; -//CHECK-NEXT: _t1 = y; -//CHECK-NEXT: _t2 = t[0]; -//CHECK-NEXT: _t3 = t[1]; +//CHECK-NEXT: double _t0 = t[3]; +//CHECK-NEXT: double _t1 = y; +//CHECK-NEXT: double _t2 = t[0]; +//CHECK-NEXT: double _t3 = t[1]; //CHECK-NEXT: t[3] = (y *= (t[0] = t[1] = t[2])); //CHECK-NEXT: _d_t[3] += 1; //CHECK-NEXT: { @@ -412,13 +394,11 @@ double f9(double x, double y) { } //CHECK: void f9_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; //CHECK-NEXT: double _d_t = 0; //CHECK-NEXT: double t = x; -//CHECK-NEXT: _t0 = t; +//CHECK-NEXT: double _t0 = t; //CHECK-NEXT: (t *= x); -//CHECK-NEXT: _t1 = t; +//CHECK-NEXT: double _t1 = t; //CHECK-NEXT: t *= y; //CHECK-NEXT: _d_t += 1; //CHECK-NEXT: { @@ -443,12 +423,10 @@ double f10(double x, double y) { } //CHECK: void f10_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; //CHECK-NEXT: double _d_t = 0; //CHECK-NEXT: double t = x; -//CHECK-NEXT: _t0 = t; -//CHECK-NEXT: _t1 = x; +//CHECK-NEXT: double _t0 = t; +//CHECK-NEXT: double _t1 = x; //CHECK-NEXT: t = x = y; //CHECK-NEXT: _d_t += 1; //CHECK-NEXT: { @@ -471,13 +449,11 @@ double f11(double x, double y) { } //CHECK: void f11_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; //CHECK-NEXT: double _d_t = 0; //CHECK-NEXT: double t = x; -//CHECK-NEXT: _t0 = t; +//CHECK-NEXT: double _t0 = t; //CHECK-NEXT: (t = x); -//CHECK-NEXT: _t1 = t; +//CHECK-NEXT: double _t1 = t; //CHECK-NEXT: t = y; //CHECK-NEXT: _d_t += 1; //CHECK-NEXT: { @@ -500,20 +476,17 @@ double f12(double x, double y) { } //CHECK: void f12_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: bool _cond0; //CHECK-NEXT: double _t0; //CHECK-NEXT: double _t1; -//CHECK-NEXT: double *_t2; -//CHECK-NEXT: double _t3; //CHECK-NEXT: double _d_t = 0; //CHECK-NEXT: double t; -//CHECK-NEXT: _cond0 = x > y; +//CHECK-NEXT: bool _cond0 = x > y; //CHECK-NEXT: if (_cond0) //CHECK-NEXT: _t0 = t; //CHECK-NEXT: else //CHECK-NEXT: _t1 = t; -//CHECK-NEXT: _t2 = &(_cond0 ? (t = x) : (t = y)); -//CHECK-NEXT: _t3 = *_t2; +//CHECK-NEXT: double *_t2 = &(_cond0 ? (t = x) : (t = y)); +//CHECK-NEXT: double _t3 = *_t2; //CHECK-NEXT: *_t2 *= y; //CHECK-NEXT: _d_t += 1; //CHECK-NEXT: { @@ -542,10 +515,8 @@ double f13(double x, double y) { } //CHECK: void f13_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: _t1 = y; -//CHECK-NEXT: _t0 = (y = x); +//CHECK-NEXT: double _t1 = y; +//CHECK-NEXT: double _t0 = (y = x); //CHECK-NEXT: double _d_t = 0; //CHECK-NEXT: double t = x * _t0; //CHECK-NEXT: { @@ -571,16 +542,13 @@ double f14(double i, double j) { } // CHECK: void f14_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: double _t2; // CHECK-NEXT: double &_d_a = *_d_i; // CHECK-NEXT: double &a = i; -// CHECK-NEXT: _t0 = a; +// CHECK-NEXT: double _t0 = a; // CHECK-NEXT: a = 2 * i; -// CHECK-NEXT: _t1 = a; +// CHECK-NEXT: double _t1 = a; // CHECK-NEXT: a += i; -// CHECK-NEXT: _t2 = a; +// CHECK-NEXT: double _t2 = a; // CHECK-NEXT: a *= i; // CHECK-NEXT: *_d_i += 1; // CHECK-NEXT: { @@ -616,10 +584,6 @@ double f15(double i, double j) { } // CHECK: void f15_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: double _t2; -// CHECK-NEXT: double _t3; // CHECK-NEXT: double _d_b = 0; // CHECK-NEXT: double b = i * j; // CHECK-NEXT: double &_d_a = _d_b; @@ -628,13 +592,13 @@ double f15(double i, double j) { // CHECK-NEXT: double &c = i; // CHECK-NEXT: double &_d_d = *_d_j; // CHECK-NEXT: double &d = j; -// CHECK-NEXT: _t0 = a; +// CHECK-NEXT: double _t0 = a; // CHECK-NEXT: a *= i; -// CHECK-NEXT: _t1 = b; +// CHECK-NEXT: double _t1 = b; // CHECK-NEXT: b += 2 * i; -// CHECK-NEXT: _t2 = c; +// CHECK-NEXT: double _t2 = c; // CHECK-NEXT: c += 3 * i; -// CHECK-NEXT: _t3 = d; +// CHECK-NEXT: double _t3 = d; // CHECK-NEXT: d *= 3 * j; // CHECK-NEXT: { // CHECK-NEXT: _d_a += 1; @@ -680,14 +644,13 @@ double f16(double i, double j) { } // CHECK: void f16_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; // CHECK-NEXT: double &_d_a = *_d_i; // CHECK-NEXT: double &a = i; // CHECK-NEXT: double &_d_b = _d_a; // CHECK-NEXT: double &b = a; // CHECK-NEXT: double &_d_c = _d_b; // CHECK-NEXT: double &c = b; -// CHECK-NEXT: _t0 = c; +// CHECK-NEXT: double _t0 = c; // CHECK-NEXT: c *= 4 * j; // CHECK-NEXT: *_d_i += 1; // CHECK-NEXT: { @@ -707,8 +670,7 @@ double f17(double i, double j, double k) { // CHECK: void f17_grad_0(double i, double j, double k, double *_d_i) { // CHECK-NEXT: double _d_j = 0; // CHECK-NEXT: double _d_k = 0; -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = j; +// CHECK-NEXT: double _t0 = j; // CHECK-NEXT: j = 2 * i; // CHECK-NEXT: _d_j += 1; // CHECK-NEXT: { @@ -727,11 +689,9 @@ double f18(double i, double j, double k) { // CHECK: void f18_grad_0_1(double i, double j, double k, double *_d_i, double *_d_j) { // CHECK-NEXT: double _d_k = 0; -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: _t0 = k; +// CHECK-NEXT: double _t0 = k; // CHECK-NEXT: k = 2 * i + 2 * j; -// CHECK-NEXT: _t1 = k; +// CHECK-NEXT: double _t1 = k; // CHECK-NEXT: k += i; // CHECK-NEXT: _d_k += 1; // CHECK-NEXT: { @@ -772,13 +732,11 @@ double f20(double x, double y) { } //CHECK: void f20_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; //CHECK-NEXT: double &_d_r = *_d_x; //CHECK-NEXT: double &r = x; -//CHECK-NEXT: _t0 = r; +//CHECK-NEXT: double _t0 = r; //CHECK-NEXT: r = 3; -//CHECK-NEXT: _t1 = x; +//CHECK-NEXT: double _t1 = x; //CHECK-NEXT: x = r * y; //CHECK-NEXT: *_d_x += 1; //CHECK-NEXT: { @@ -801,8 +759,7 @@ double f21 (double x, double y) { } //CHECK: void f21_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: _t0 = y; +//CHECK-NEXT: double _t0 = y; //CHECK-NEXT: y = (y++ , x); //CHECK-NEXT: *_d_y += 1; //CHECK-NEXT: { diff --git a/test/Gradient/FunctionCalls.C b/test/Gradient/FunctionCalls.C index 5592a985d..40be00e74 100644 --- a/test/Gradient/FunctionCalls.C +++ b/test/Gradient/FunctionCalls.C @@ -56,21 +56,15 @@ double fn2(double i, double j) { } // CHECK: void fn2_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: double _t2; -// CHECK-NEXT: double _t3; -// CHECK-NEXT: double _t4; -// CHECK-NEXT: double _t5; // CHECK-NEXT: double _d_temp = 0; // CHECK-NEXT: double temp = 0; -// CHECK-NEXT: _t0 = temp; -// CHECK-NEXT: _t1 = i; -// CHECK-NEXT: _t2 = j; +// CHECK-NEXT: double _t0 = temp; +// CHECK-NEXT: double _t1 = i; +// CHECK-NEXT: double _t2 = j; // CHECK-NEXT: temp = modify1(i, j); -// CHECK-NEXT: _t3 = temp; -// CHECK-NEXT: _t4 = i; -// CHECK-NEXT: _t5 = j; +// CHECK-NEXT: double _t3 = temp; +// CHECK-NEXT: double _t4 = i; +// CHECK-NEXT: double _t5 = j; // CHECK-NEXT: temp = modify1(i, j); // CHECK-NEXT: *_d_i += 1; // CHECK-NEXT: { @@ -105,15 +99,11 @@ double fn3(double i, double j) { } // CHECK: void fn3_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: double _t2; -// CHECK-NEXT: double _t3; -// CHECK-NEXT: _t0 = i; -// CHECK-NEXT: _t1 = j; +// CHECK-NEXT: double _t0 = i; +// CHECK-NEXT: double _t1 = j; // CHECK-NEXT: update1(i, j); -// CHECK-NEXT: _t2 = i; -// CHECK-NEXT: _t3 = j; +// CHECK-NEXT: double _t2 = i; +// CHECK-NEXT: double _t3 = j; // CHECK-NEXT: update1(i, j); // CHECK-NEXT: *_d_i += 1; // CHECK-NEXT: { @@ -155,17 +145,15 @@ double fn4(double* arr, int n) { } // CHECK: void fn4_grad(double *arr, int n, double *_d_arr, int *_d_n) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: unsigned {{int|long}} _t1; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = res; +// CHECK-NEXT: double _t0 = res; // CHECK-NEXT: res += sum(arr, n); -// CHECK-NEXT: _t1 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t1 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -277,26 +265,21 @@ double fn7(double i, double j) { // CHECK-NEXT: } // CHECK: void fn7_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t2; -// CHECK-NEXT: double _t4; -// CHECK-NEXT: double _t6 -// CHECK-NEXT: double _t7; -// CHECK-NEXT: _t0 = i; +// CHECK-NEXT: double _t0 = i; // CHECK-NEXT: clad::ValueAndAdjoint _t1 = identity_forw(i, &*_d_i); // CHECK-NEXT: double &_d_k = _t1.adjoint; // CHECK-NEXT: double &k = _t1.value; -// CHECK-NEXT: _t2 = j; +// CHECK-NEXT: double _t2 = j; // CHECK-NEXT: clad::ValueAndAdjoint _t3 = identity_forw(j, &*_d_j); // CHECK-NEXT: double &_d_l = _t3.adjoint; // CHECK-NEXT: double &l = _t3.value; -// CHECK-NEXT: _t4 = i; +// CHECK-NEXT: double _t4 = i; // CHECK-NEXT: clad::ValueAndAdjoint _t5 = custom_identity_forw(i, &*_d_i); // CHECK-NEXT: double &_d_temp = _t5.adjoint; // CHECK-NEXT: double &temp = _t5.value; -// CHECK-NEXT: _t6 = k; +// CHECK-NEXT: double _t6 = k; // CHECK-NEXT: k += 7 * j; -// CHECK-NEXT: _t7 = l; +// CHECK-NEXT: double _t7 = l; // CHECK-NEXT: l += 9 * i; // CHECK-NEXT: { // CHECK-NEXT: *_d_i += 1; @@ -340,12 +323,9 @@ double fn8(double x, double y) { } // CHECK: void fn8_grad(double x, double y, double *_d_x, double *_d_y) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: double _t2; -// CHECK-NEXT: _t2 = check_and_return(x, 'a', "aa"); -// CHECK-NEXT: _t1 = std::tanh(1.); -// CHECK-NEXT: _t0 = std::max(1., 2.); +// CHECK-NEXT: double _t2 = check_and_return(x, 'a', "aa"); +// CHECK-NEXT: double _t1 = std::tanh(1.); +// CHECK-NEXT: double _t0 = std::max(1., 2.); // CHECK-NEXT: { // CHECK-NEXT: double _r0 = 0; // CHECK-NEXT: char _r1 = 0; @@ -366,8 +346,7 @@ double fn9(double x, double y) { } // CHECK:void fn9_grad(double x, double y, double *_d_x, double *_d_y) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = y; +// CHECK-NEXT: double _t0 = y; // CHECK-NEXT: { // CHECK-NEXT: y = _t0; // CHECK-NEXT: double _r0 = 0; @@ -386,22 +365,16 @@ double fn10(double x, double y) { } // CHECK: void fn10_grad(double x, double y, double *_d_x, double *_d_y) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: double _t2; -// CHECK-NEXT: double _t3; -// CHECK-NEXT: double _t4; -// CHECK-NEXT: double _t5; // CHECK-NEXT: double _d_out = 0; // CHECK-NEXT: double out = x; -// CHECK-NEXT: _t0 = out; -// CHECK-NEXT: _t1 = out; +// CHECK-NEXT: double _t0 = out; +// CHECK-NEXT: double _t1 = out; // CHECK-NEXT: out = std::max(out, 0.); -// CHECK-NEXT: _t2 = out; -// CHECK-NEXT: _t3 = out; +// CHECK-NEXT: double _t2 = out; +// CHECK-NEXT: double _t3 = out; // CHECK-NEXT: out = std::min(out, 10.); -// CHECK-NEXT: _t4 = out; -// CHECK-NEXT: _t5 = out; +// CHECK-NEXT: double _t4 = out; +// CHECK-NEXT: double _t5 = out; // CHECK-NEXT: out = std::clamp(out, 3., 7.); // CHECK-NEXT: { // CHECK-NEXT: _d_out += 1 * y; @@ -461,10 +434,8 @@ double fn11(double x, double y) { } // CHECK: void fn11_grad(double x, double y, double *_d_x, double *_d_y) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: _t0 = x; -// CHECK-NEXT: _t1 = y; +// CHECK-NEXT: double _t0 = x; +// CHECK-NEXT: double _t1 = y; // CHECK-NEXT: { // CHECK-NEXT: x = _t0; // CHECK-NEXT: y = _t1; @@ -499,13 +470,12 @@ double fn13(double* x, const double* w) { } // CHECK: void fn13_grad_0(double *x, const double *w, double *_d_x) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: std::size_t _d_i = 0; // CHECK-NEXT: std::size_t i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: double _d_wCopy[2] = {0}; // CHECK-NEXT: double wCopy[2]; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 2)) @@ -540,8 +510,7 @@ double fn14(double x, double y) { } // CHECK: void fn14_grad(double x, double y, double *_d_x, double *_d_y) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = x; +// CHECK-NEXT: double _t0 = x; // CHECK-NEXT: emptyFn(x, y); // CHECK-NEXT: { // CHECK-NEXT: *_d_x += 1; @@ -561,8 +530,7 @@ double fn15(double x, double y) { } //CHECK: void fn15_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: _t0 = y; +//CHECK-NEXT: double _t0 = y; //CHECK-NEXT: A::constantFn(y += x); //CHECK-NEXT: *_d_y += 1; //CHECK-NEXT: { @@ -610,11 +578,9 @@ double fn17 (double x, double* y) { } //CHECK: void fn17_grad_0(double x, double *y, double *_d_x) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: _t0 = x; +//CHECK-NEXT: double _t0 = x; //CHECK-NEXT: x = add(x, y); -//CHECK-NEXT: _t1 = x; +//CHECK-NEXT: double _t1 = x; //CHECK-NEXT: x = add(x, &x); //CHECK-NEXT: *_d_x += 1; //CHECK-NEXT: { @@ -703,10 +669,9 @@ double fn21(double x) { } // CHECK: void fn21_grad(double x, double *_d_x) { -// CHECK-NEXT: double *_t0; // CHECK-NEXT: double *_d_ptr = &*_d_x; // CHECK-NEXT: double *ptr = &x; -// CHECK-NEXT: _t0 = ptr; +// CHECK-NEXT: double *_t0 = ptr; // CHECK-NEXT: { // CHECK-NEXT: ptr = _t0; // CHECK-NEXT: ptrRef_pullback(_t0, 1, &_d_ptr); @@ -849,11 +814,9 @@ double sq_defined_later(double x) { // CHECK-NEXT: } // CHECK: void modify1_pullback(double &i, double &j, double _d_y, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: _t0 = i; +// CHECK-NEXT: double _t0 = i; // CHECK-NEXT: i += j; -// CHECK-NEXT: _t1 = j; +// CHECK-NEXT: double _t1 = j; // CHECK-NEXT: j += j; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = i + j; @@ -875,11 +838,9 @@ double sq_defined_later(double x) { // CHECK-NEXT: } // CHECK: void update1_pullback(double &i, double &j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: _t0 = i; +// CHECK-NEXT: double _t0 = i; // CHECK-NEXT: i += j; -// CHECK-NEXT: _t1 = j; +// CHECK-NEXT: double _t1 = j; // CHECK-NEXT: j += j; // CHECK-NEXT: { // CHECK-NEXT: j = _t1; @@ -894,14 +855,12 @@ double sq_defined_later(double x) { // CHECK-NEXT: } // CHECK: void sum_pullback(double *arr, int n, float _d_y, double *_d_arr, int *_d_n) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; -// CHECK-NEXT: double _t2; // CHECK-NEXT: float _d_res = 0; // CHECK-NEXT: float res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -911,7 +870,7 @@ double sq_defined_later(double x) { // CHECK-NEXT: clad::push(_t1, res); // CHECK-NEXT: res += arr[i]; // CHECK-NEXT: } -// CHECK-NEXT: _t2 = arr[0]; +// CHECK-NEXT: double _t2 = arr[0]; // CHECK-NEXT: arr[0] += 10 * arr[0]; // CHECK-NEXT: _d_res += _d_y; // CHECK-NEXT: { @@ -932,8 +891,7 @@ double sq_defined_later(double x) { // CHECK-NEXT: } // CHECK: void twice_pullback(double &d, double *_d_d) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = d; +// CHECK-NEXT: double _t0 = d; // CHECK-NEXT: d = 2 * d; // CHECK-NEXT: { // CHECK-NEXT: d = _t0; @@ -944,8 +902,7 @@ double sq_defined_later(double x) { // CHECK-NEXT: } // CHECK: void modify2_pullback(double *arr, double _d_y, double *_d_arr) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = arr[0]; +// CHECK-NEXT: double _t0 = arr[0]; // CHECK-NEXT: arr[0] = 5 * arr[0] + arr[1]; // CHECK-NEXT: { // CHECK-NEXT: arr[0] = _t0; @@ -957,11 +914,10 @@ double sq_defined_later(double x) { // CHECK-NEXT: } // CHECK: void identity_pullback(double &i, double _d_y, double *_d_i) { -// CHECK-NEXT: double _t0; // CHECK-NEXT: MyStruct::myFunction(); // CHECK-NEXT: double _d__d_i = 0; // CHECK-NEXT: double _d_i0 = i; -// CHECK-NEXT: _t0 = _d_i0; +// CHECK-NEXT: double _t0 = _d_i0; // CHECK-NEXT: _d_i0 += 1; // CHECK-NEXT: *_d_i += _d_y; // CHECK-NEXT: { @@ -972,11 +928,10 @@ double sq_defined_later(double x) { // CHECK-NEXT: } // CHECK: clad::ValueAndAdjoint identity_forw(double &i, double *_d_i) { -// CHECK-NEXT: double _t0; // CHECK-NEXT: MyStruct::myFunction(); // CHECK-NEXT: double _d__d_i = 0; // CHECK-NEXT: double _d_i0 = i; -// CHECK-NEXT: _t0 = _d_i0; +// CHECK-NEXT: double _t0 = _d_i0; // CHECK-NEXT: _d_i0 += 1; // CHECK-NEXT: return {i, *_d_i}; // CHECK-NEXT: } @@ -1019,8 +974,7 @@ double sq_defined_later(double x) { // CHECK-NEXT:} // CHECK: void custom_max_pullback(const double &a, const double &b, double _d_y, double *_d_a, double *_d_b) { -// CHECK-NEXT: bool _cond0; -// CHECK-NEXT: _cond0 = a > b; +// CHECK-NEXT: bool _cond0 = a > b; // CHECK-NEXT: if (_cond0) // CHECK-NEXT: *_d_a += _d_y; // CHECK-NEXT: else diff --git a/test/Gradient/Functors.C b/test/Gradient/Functors.C index 8e8825f12..e2116ce9d 100644 --- a/test/Gradient/Functors.C +++ b/test/Gradient/Functors.C @@ -53,8 +53,7 @@ struct ExperimentVolatile { }; // CHECK: void operator_call_grad(double i, double j, volatile ExperimentVolatile *_d_this, double *_d_i, double *_d_j) volatile { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = this->x * i; + // CHECK-NEXT: double _t0 = this->x * i; // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * j * i; // CHECK-NEXT: *_d_i += this->x * 1 * j; @@ -77,8 +76,7 @@ struct ExperimentConstVolatile { }; // CHECK: void operator_call_grad(double i, double j, volatile ExperimentConstVolatile *_d_this, double *_d_i, double *_d_j) const volatile { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = this->x * i; + // CHECK-NEXT: double _t0 = this->x * i; // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * j * i; // CHECK-NEXT: *_d_i += this->x * 1 * j; @@ -225,10 +223,9 @@ int main() { // CHECK-EXEC: 54.00 42.00 // CHECK: void CallFunctor_grad(double i, double j, double *_d_i, double *_d_j) { - // CHECK-NEXT: Experiment _t0; // CHECK-NEXT: Experiment _d_E({}); // CHECK-NEXT: Experiment E(3, 5); - // CHECK-NEXT: _t0 = E; + // CHECK-NEXT: Experiment _t0 = E; // CHECK-NEXT: { // CHECK-NEXT: double _r0 = 0; // CHECK-NEXT: double _r1 = 0; @@ -245,8 +242,7 @@ int main() { printf("%.2f %.2f\n", di, dj); // CHECK-EXEC: 27.00 21.00 // CHECK: void FunctorAsArg_grad(Experiment fn, double i, double j, Experiment *_d_fn, double *_d_i, double *_d_j) { - // CHECK-NEXT: Experiment _t0; - // CHECK-NEXT: _t0 = fn; + // CHECK-NEXT: Experiment _t0 = fn; // CHECK-NEXT: { // CHECK-NEXT: double _r0 = 0; // CHECK-NEXT: double _r1 = 0; @@ -286,8 +282,7 @@ int main() { } // CHECK: void FunctorAsArg_pullback(Experiment fn, double i, double j, double _d_y, Experiment *_d_fn, double *_d_i, double *_d_j) { -// CHECK-NEXT: Experiment _t0; -// CHECK-NEXT: _t0 = fn; +// CHECK-NEXT: Experiment _t0 = fn; // CHECK-NEXT: { // CHECK-NEXT: double _r0 = 0; // CHECK-NEXT: double _r1 = 0; diff --git a/test/Gradient/Gradients.C b/test/Gradient/Gradients.C index af48f0f7a..4872713e5 100644 --- a/test/Gradient/Gradients.C +++ b/test/Gradient/Gradients.C @@ -121,8 +121,7 @@ double f_div2(double x, double y) { } //CHECK: void f_div2_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: _t0 = (4 * y); +//CHECK-NEXT: double _t0 = (4 * y); //CHECK-NEXT: { //CHECK-NEXT: *_d_x += 3 * 1 / _t0; //CHECK-NEXT: double _r0 = 1 * -(3 * x / (_t0 * _t0)); @@ -137,12 +136,9 @@ double f_div3(double x, double y) { } //CHECK: void f_div3_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: double _t2; -//CHECK-NEXT: _t1 = x; -//CHECK-NEXT: _t2 = (x = y); -//CHECK-NEXT: _t0 = (y * y); +//CHECK-NEXT: double _t1 = x; +//CHECK-NEXT: double _t2 = (x = y); +//CHECK-NEXT: double _t0 = (y * y); //CHECK-NEXT: { //CHECK-NEXT: *_d_x += 1 / _t0; //CHECK-NEXT: x = _t1; @@ -201,8 +197,7 @@ double f_cond1(double x, double y) { } //CHECK: void f_cond1_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: bool _cond0; -//CHECK-NEXT: _cond0 = x > y; +//CHECK-NEXT: bool _cond0 = x > y; //CHECK-NEXT: if (_cond0) //CHECK-NEXT: *_d_x += 1; //CHECK-NEXT: else @@ -216,9 +211,8 @@ double f_cond2(double x, double y) { } //CHECK: void f_cond2_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: bool _cond0; //CHECK-NEXT: bool _cond1; -//CHECK-NEXT: _cond0 = x > y; +//CHECK-NEXT: bool _cond0 = x > y; //CHECK-NEXT: if (_cond0) //CHECK-NEXT: ; //CHECK-NEXT: else @@ -238,8 +232,7 @@ double f_cond3(double x, double c) { } //CHECK: void f_cond3_grad(double x, double c, double *_d_x, double *_d_c) { -//CHECK-NEXT: bool _cond0; -//CHECK-NEXT: _cond0 = c > 0; +//CHECK-NEXT: bool _cond0 = c > 0; //CHECK-NEXT: if (_cond0) { //CHECK-NEXT: *_d_x += 1; //CHECK-NEXT: *_d_c += 1; @@ -436,8 +429,7 @@ double f_sin(double x, double y) { void f_sin_grad(double x, double y, double *_d_x, double *_d_y); //CHECK: void f_sin_grad(double x, double y, double *_d_x, double *_d_y) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: _t0 = (std::sin(x) + std::sin(y)); +//CHECK-NEXT: double _t0 = (std::sin(x) + std::sin(y)); //CHECK-NEXT: { //CHECK-NEXT: double _r0 = 0; //CHECK-NEXT: _r0 += 1 * (x + y) * clad::custom_derivatives::sin_pushforward(x, 1.).pushforward; @@ -647,11 +639,10 @@ float running_sum(float* p, int n) { } // CHECK: void running_sum_grad(float *p, int n, float *_d_p, int *_d_n) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 1; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -699,10 +690,9 @@ double fn_increment_in_return(double i, double j) { void fn_increment_in_return_grad(double i, double j, double *_d_i, double *_d_j); // CHECK: void fn_increment_in_return_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; // CHECK-NEXT: double _d_temp = 0; // CHECK-NEXT: double temp = i; -// CHECK-NEXT: _t0 = ++i; +// CHECK-NEXT: double _t0 = ++i; // CHECK-NEXT: { // CHECK-NEXT: *_d_i += 1 * temp; // CHECK-NEXT: --i; @@ -719,10 +709,9 @@ double fn_template_non_type(double x) { } // CHECK: void fn_template_non_type_grad(double x, double *_d_x) { -// CHECK-NEXT: bool _cond0; // CHECK-NEXT: size_t _d_maxN = 0; // CHECK-NEXT: const size_t maxN = 53; -// CHECK-NEXT: _cond0 = maxN < {{15U|15UL}}; +// CHECK-NEXT: bool _cond0 = maxN < {{15U|15UL}}; // CHECK-NEXT: size_t _d_m = 0; // CHECK-NEXT: const size_t m = _cond0 ? maxN : {{15U|15UL}}; // CHECK-NEXT: *_d_x += 1 * m; @@ -859,8 +848,7 @@ double fn_const_cond_op(double x) { } //CHECK: void fn_const_cond_op_grad(double x, double *_d_x) { -//CHECK-NEXT: bool _cond0; -//CHECK-NEXT: _cond0 = x > 0; +//CHECK-NEXT: bool _cond0 = x > 0; //CHECK-NEXT: *_d_x += 1; //CHECK-NEXT: } diff --git a/test/Gradient/Loops.C b/test/Gradient/Loops.C index dc2e43023..7159d98e3 100644 --- a/test/Gradient/Loops.C +++ b/test/Gradient/Loops.C @@ -17,13 +17,12 @@ double f1(double x) { } // == x^3 // CHECK: void f1_grad(double x, double *_d_x) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: double _d_t = 0; // CHECK-NEXT: double t = 1; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -57,7 +56,6 @@ double f2(double x) { } // == x^9 // CHECK: void f2_grad(double x, double *_d_x) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -67,7 +65,7 @@ double f2(double x) { // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: double _d_t = 0; // CHECK-NEXT: double t = 1; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -123,14 +121,13 @@ double f3(double x) { } // == x^2 // CHECK: void f3_grad(double x, double *_d_x) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _cond0 = {}; // CHECK-NEXT: double _d_t = 0; // CHECK-NEXT: double t = 1; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -176,13 +173,12 @@ double f4(double x) { } // == x^3 // CHECK: void f4_grad(double x, double *_d_x) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: double _d_t = 0; // CHECK-NEXT: double t = 1; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; clad::push(_t1, t) , (t *= x)) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -215,10 +211,9 @@ double f5(double x){ } // == x + 10 // CHECK: void f5_grad(double x, double *_d_x) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 10)) @@ -248,7 +243,6 @@ double f_const_local(double x) { } // == 3x^2 + 3x // CHECK: void f_const_local_grad(double x, double *_d_x) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -257,7 +251,7 @@ double f_const_local(double x) { // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 3)) @@ -299,13 +293,12 @@ double f_sum(double *p, int n) { // CHECK: void f_sum_grad_0(double *p, int n, double *_d_p) { // CHECK-NEXT: int _d_n = 0; -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: double _d_s = 0; // CHECK-NEXT: double s = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -340,13 +333,12 @@ double f_sum_squares(double *p, int n) { // CHECK: void f_sum_squares_grad_0(double *p, int n, double *_d_p) { // CHECK-NEXT: int _d_n = 0; -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: double _d_s = 0; // CHECK-NEXT: double s = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -383,19 +375,12 @@ double f_log_gaus(double* x, double* p /*means*/, double n, double sigma) { // CHECK: void f_log_gaus_grad_1(double *x, double *p, double n, double sigma, double *_d_p) { // CHECK-NEXT: double _d_n = 0; // CHECK-NEXT: double _d_sigma = 0; -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; -// CHECK-NEXT: double _t2; -// CHECK-NEXT: double _t3; -// CHECK-NEXT: double _t4; -// CHECK-NEXT: double _t5; -// CHECK-NEXT: double _t6; -// CHECK-NEXT: double _t7; // CHECK-NEXT: double _d_power = 0; // CHECK-NEXT: double power = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -405,13 +390,13 @@ double f_log_gaus(double* x, double* p /*means*/, double n, double sigma) { // CHECK-NEXT: clad::push(_t1, power); // CHECK-NEXT: power += sq(x[i] - p[i]); // CHECK-NEXT: } -// CHECK-NEXT: _t2 = power; -// CHECK-NEXT: _t4 = sq(sigma); -// CHECK-NEXT: _t3 = (2 * _t4); +// CHECK-NEXT: double _t2 = power; +// CHECK-NEXT: double _t4 = sq(sigma); +// CHECK-NEXT: double _t3 = (2 * _t4); // CHECK-NEXT: power = -power / _t3; -// CHECK-NEXT: _t7 = std::pow(2 * 3.1415926535897931, n); -// CHECK-NEXT: _t6 = std::sqrt(_t7 * sigma); -// CHECK-NEXT: _t5 = std::exp(power); +// CHECK-NEXT: double _t7 = std::pow(2 * 3.1415926535897931, n); +// CHECK-NEXT: double _t6 = std::sqrt(_t7 * sigma); +// CHECK-NEXT: double _t5 = std::exp(power); // CHECK-NEXT: double _d_gaus = 0; // CHECK-NEXT: double gaus = 1. / _t6 * _t5; // CHECK-NEXT: { @@ -466,7 +451,6 @@ double f_const(const double a, const double b) { void f_const_grad(const double, const double, double*, double*); // CHECK: void f_const_grad(const double a, const double b, double *_d_a, double *_d_b) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -475,7 +459,7 @@ void f_const_grad(const double, const double, double*, double*); // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: int _d_r = 0; // CHECK-NEXT: int r = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < a)) @@ -519,7 +503,6 @@ double f6 (double i, double j) { } // CHECK: void f6_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_counter = 0; // CHECK-NEXT: int counter = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -532,7 +515,7 @@ double f6 (double i, double j) { // CHECK-NEXT: clad::tape _t4 = {}; // CHECK-NEXT: double _d_a = 0; // CHECK-NEXT: double a = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (counter = 0; ; ++counter) { // CHECK-NEXT: { // CHECK-NEXT: if (!(counter < 3)) @@ -589,13 +572,12 @@ double fn7(double i, double j) { } // CHECK: void fn7_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: double _d_a = 0; // CHECK-NEXT: double a = 0; // CHECK-NEXT: int _d_counter = 0; // CHECK-NEXT: int counter = 3; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: while (counter--) // CHECK-NEXT: { // CHECK-NEXT: _t0++; @@ -627,14 +609,13 @@ double fn8(double i, double j) { } // CHECK: void fn8_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: double _d_a = 0; // CHECK-NEXT: double a = 0; // CHECK-NEXT: int _d_counter = 0; // CHECK-NEXT: int counter = 3; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: while (counter > 0) // CHECK-NEXT: { // CHECK-NEXT: _t0++; @@ -681,20 +662,17 @@ double fn9(double i, double j) { } // CHECK: void fn9_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: int _t0; -// CHECK-NEXT: int _t1; -// CHECK-NEXT: unsigned {{int|long}} _t2; // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: clad::tape _t4 = {}; // CHECK-NEXT: clad::tape _t5 = {}; // CHECK-NEXT: int _d_counter = 0, _d_counter_again = 0; // CHECK-NEXT: int counter, counter_again; -// CHECK-NEXT: _t0 = counter; -// CHECK-NEXT: _t1 = counter_again; +// CHECK-NEXT: int _t0 = counter; +// CHECK-NEXT: int _t1 = counter_again; // CHECK-NEXT: counter = counter_again = 3; // CHECK-NEXT: double _d_a = 0; // CHECK-NEXT: double a = 0; -// CHECK-NEXT: _t2 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t2 = {{0U|0UL}}; // CHECK-NEXT: while (counter--) // CHECK-NEXT: { // CHECK-NEXT: _t2++; @@ -759,7 +737,6 @@ double fn10(double i, double j) { } // CHECK: void fn10_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: int _d_b = 0; // CHECK-NEXT: int b = 0; @@ -770,7 +747,7 @@ double fn10(double i, double j) { // CHECK-NEXT: double a = 0; // CHECK-NEXT: int _d_counter = 0; // CHECK-NEXT: int counter = 3; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: while (clad::push(_t1, b) , b = counter) // CHECK-NEXT: { // CHECK-NEXT: _t0++; @@ -822,14 +799,13 @@ double fn11(double i, double j) { } // CHECK: void fn11_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: int _d_counter = 0; // CHECK-NEXT: int counter = 3; // CHECK-NEXT: double _d_a = 0; // CHECK-NEXT: double a = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: do { // CHECK-NEXT: _t0++; // CHECK-NEXT: clad::push(_t1, a); @@ -874,7 +850,6 @@ double fn12(double i, double j) { } // CHECK: void fn12_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: int _d_counter_again = 0; // CHECK-NEXT: int counter_again = 0; @@ -888,7 +863,7 @@ double fn12(double i, double j) { // CHECK-NEXT: int counter = 3; // CHECK-NEXT: double _d_a = 0; // CHECK-NEXT: double a = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: do { // CHECK-NEXT: _t0++; // CHECK-NEXT: clad::push(_t1, counter_again) , counter_again = 3; @@ -967,7 +942,6 @@ double fn13(double i, double j) { } // CHECK: void fn13_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: int _d_k = 0; // CHECK-NEXT: int k = 0; @@ -981,7 +955,7 @@ double fn13(double i, double j) { // CHECK-NEXT: double res = 0; // CHECK-NEXT: int _d_counter = 0; // CHECK-NEXT: int counter = 3; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (;; clad::push(_t2, counter) , (counter -= 1)) { // CHECK-NEXT: { // CHECK-NEXT: if (!(clad::push(_t1, k) , k = counter)) @@ -1052,7 +1026,6 @@ double fn14(double i, double j) { } // CHECK: void fn14_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: clad::tape _cond0 = {}; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _t2 = {}; @@ -1064,7 +1037,7 @@ double fn14(double i, double j) { // CHECK-NEXT: int choice = 5; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: while (choice--) // CHECK-NEXT: { // CHECK-NEXT: _t0++; @@ -1172,7 +1145,6 @@ double fn15(double i, double j) { } // CHECK: void fn15_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: clad::tape _cond0 = {}; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _t2 = {}; @@ -1188,7 +1160,7 @@ double fn15(double i, double j) { // CHECK-NEXT: int choice = 5; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: while (choice--) // CHECK-NEXT: { // CHECK-NEXT: _t0++; @@ -1298,7 +1270,6 @@ double fn16(double i, double j) { } // CHECK: void fn16_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_ii = 0; // CHECK-NEXT: int ii = 0; // CHECK-NEXT: clad::tape _cond0 = {}; @@ -1311,7 +1282,7 @@ double fn16(double i, double j) { // CHECK-NEXT: int counter = 5; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (ii = 0; ; ++ii) { // CHECK-NEXT: { // CHECK-NEXT: if (!(ii < counter)) @@ -1410,7 +1381,6 @@ double fn17(double i, double j) { } // CHECK: void fn17_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_ii = 0; // CHECK-NEXT: int ii = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -1427,7 +1397,7 @@ double fn17(double i, double j) { // CHECK-NEXT: int counter = 5; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (ii = 0; ; ++ii) { // CHECK-NEXT: { // CHECK-NEXT: if (!(ii < counter)) @@ -1544,7 +1514,6 @@ double fn18(double i, double j) { } // CHECK: void fn18_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_counter = 0; // CHECK-NEXT: int counter = 0; // CHECK-NEXT: clad::tape _cond0 = {}; @@ -1556,7 +1525,7 @@ double fn18(double i, double j) { // CHECK-NEXT: int choice = 5; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (counter = 0; ; ++counter) { // CHECK-NEXT: { // CHECK-NEXT: if (!(counter < choice)) @@ -1632,7 +1601,6 @@ double fn19(double* arr, int n) { // CHECK: void fn19_grad_0(double *arr, int n, double *_d_arr) { // CHECK-NEXT: int _d_n = 0; -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -1642,7 +1610,7 @@ double fn19(double* arr, int n) { // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -1683,7 +1651,6 @@ double f_loop_init_var(double lower, double upper) { } // CHECK: void f_loop_init_var_grad(double lower, double upper, double *_d_lower, double *_d_upper) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: double _d_x = 0; // CHECK-NEXT: double x = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -1694,7 +1661,7 @@ double f_loop_init_var(double lower, double upper) { // CHECK-NEXT: double num_points = 10000; // CHECK-NEXT: double _d_interval = 0; // CHECK-NEXT: double interval = (upper - lower) / num_points; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (x = lower; ; clad::push(_t1, x) , (x += interval)) { // CHECK-NEXT: { // CHECK-NEXT: if (!(x <= upper)) @@ -1743,14 +1710,13 @@ double fn20(double *arr, int n) { // CHECK: void fn20_grad_0(double *arr, int n, double *_d_arr) { // CHECK-NEXT: int _d_n = 0; -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -1791,7 +1757,6 @@ double fn21(double x) { // CHECK: void fn21_grad(double x, double *_d_x) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape > _t1 = {}; @@ -1800,7 +1765,7 @@ double fn21(double x) { // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 5)) @@ -1843,7 +1808,6 @@ double fn22(double param) { // CHECK: void fn22_grad(double param, double *_d_param) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape > _t1 = {}; @@ -1853,7 +1817,7 @@ double fn22(double param) { // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: double _d_out = 0; // CHECK-NEXT: double out = 0.; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 1)) @@ -1896,7 +1860,6 @@ double fn23(double i, double j) { } // CHECK: void fn23_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_c = 0; // CHECK-NEXT: int c = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -1904,7 +1867,7 @@ double fn23(double i, double j) { // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (c = 0; ; ++c) { // CHECK-NEXT: { // CHECK-NEXT: { @@ -1958,13 +1921,12 @@ double fn24(double i, double j) { } // CHECK: void fn24_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_c = 0; // CHECK-NEXT: int c = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (c = 0; ; ++c) { // CHECK-NEXT: { // CHECK-NEXT: { @@ -2004,7 +1966,6 @@ double fn25(double i, double j) { } // CHECK: void fn25_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_c = 0; // CHECK-NEXT: int c = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -2013,7 +1974,7 @@ double fn25(double i, double j) { // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (c = 0; ; ++c) { // CHECK-NEXT: { // CHECK-NEXT: { @@ -2081,7 +2042,6 @@ double fn26(double i, double j) { } // CHECK: void fn26_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_c = 0; // CHECK-NEXT: int c = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -2090,7 +2050,7 @@ double fn26(double i, double j) { // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (c = 0; ; clad::push(_t2, res) , (++c , res = 7 * i * j)) { // CHECK-NEXT: { // CHECK-NEXT: { @@ -2155,7 +2115,6 @@ double fn27(double i, double j) { } // CHECK: void fn27_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_c = 0; // CHECK-NEXT: int c = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -2164,7 +2123,7 @@ double fn27(double i, double j) { // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (c = 0; ; ++c) { // CHECK-NEXT: { // CHECK-NEXT: { @@ -2228,14 +2187,13 @@ double fn28(double i, double j) { } // CHECK: void fn28_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_c = 0; // CHECK-NEXT: int c = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (c = 0; ; ++c) { // CHECK-NEXT: { // CHECK-NEXT: { @@ -2280,14 +2238,13 @@ double fn29(double i, double j) { } // CHECK: void fn29_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_c = 0; // CHECK-NEXT: int c = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (c = 0; ; clad::push(_t2, res) , (++c , res = 3 * i * j)) { // CHECK-NEXT: { // CHECK-NEXT: { @@ -2331,7 +2288,6 @@ double fn30(double i, double j) { } // CHECK: void fn30_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_c = 0; // CHECK-NEXT: int c = 0; // CHECK-NEXT: bool _cond0; @@ -2342,7 +2298,7 @@ double fn30(double i, double j) { // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (c = 0; ; ++c) { // CHECK-NEXT: { // CHECK-NEXT: { @@ -2391,14 +2347,13 @@ double fn31(double i, double j) { } //CHECK:void fn31_grad(double i, double j, double *_d_i, double *_d_j) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_c = 0; //CHECK-NEXT: int c = 0; //CHECK-NEXT: clad::tape _t1 = {}; //CHECK-NEXT: clad::tape _t2 = {}; //CHECK-NEXT: double _d_res = 0; //CHECK-NEXT: double res = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (c = 0; ; ++c) { //CHECK-NEXT: { //CHECK-NEXT: { @@ -2452,7 +2407,6 @@ double fn32(double i, double j) { } //CHECK:void fn32_grad(double i, double j, double *_d_i, double *_d_j) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_c = 0; //CHECK-NEXT: int c = 0; //CHECK-NEXT: clad::tape _t1 = {}; @@ -2469,7 +2423,7 @@ double fn32(double i, double j) { //CHECK-NEXT: clad::tape _t8 = {}; //CHECK-NEXT: double _d_res = 0; //CHECK-NEXT: double res = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (c = 0; ; ++c) { //CHECK-NEXT: { //CHECK-NEXT: { @@ -2599,7 +2553,6 @@ double fn33(double i, double j) { } //CHECK: void fn33_grad(double i, double j, double *_d_i, double *_d_j) { -//CHECK-NEXT: unsigned {{int|long}} _t0; //CHECK-NEXT: int _d_c = 0; //CHECK-NEXT: int c = 0; //CHECK-NEXT: clad::tape _t1 = {}; @@ -2620,7 +2573,7 @@ double fn33(double i, double j) { //CHECK-NEXT: clad::tape _cond5 = {}; //CHECK-NEXT: double _d_res = 0; //CHECK-NEXT: double res = 0; -//CHECK-NEXT: _t0 = {{0U|0UL}}; +//CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK-NEXT: for (c = 0; ; ++c) { //CHECK-NEXT: { //CHECK-NEXT: { diff --git a/test/Gradient/MemberFunctions.C b/test/Gradient/MemberFunctions.C index 61a6cdf59..fa5b2e52c 100644 --- a/test/Gradient/MemberFunctions.C +++ b/test/Gradient/MemberFunctions.C @@ -49,8 +49,7 @@ public: } // CHECK: void volatile_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) volatile { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -65,8 +64,7 @@ public: } // CHECK: void const_volatile_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) const volatile { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -107,8 +105,7 @@ public: } // CHECK: void volatile_lval_ref_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) volatile & { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -123,8 +120,7 @@ public: } // CHECK: void const_volatile_lval_ref_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) const volatile & { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -165,8 +161,7 @@ public: } // CHECK: void volatile_rval_ref_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) volatile && { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -181,8 +176,7 @@ public: } // CHECK: void const_volatile_rval_ref_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) const volatile && { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -225,8 +219,7 @@ public: } // CHECK: void volatile_noexcept_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) volatile noexcept { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -241,8 +234,7 @@ public: } // CHECK: void const_volatile_noexcept_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) const volatile noexcept { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -285,8 +277,7 @@ public: } // CHECK: void volatile_lval_ref_noexcept_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) volatile & noexcept { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -301,8 +292,7 @@ public: } // CHECK: void const_volatile_lval_ref_noexcept_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) const volatile & noexcept { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -345,8 +335,7 @@ public: } // CHECK: void volatile_rval_ref_noexcept_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) volatile && noexcept { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -361,8 +350,7 @@ public: } // CHECK: void const_volatile_rval_ref_noexcept_mem_fn_grad(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i, double *_d_j) const volatile && noexcept { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -447,8 +435,7 @@ double fn2(SimpleFunctions& sf, double i) { // CHECK: clad::ValueAndAdjoint ref_mem_fn_forw(double i, SimpleFunctions *_d_this, double *_d_i); // CHECK: void fn2_grad(SimpleFunctions &sf, double i, SimpleFunctions *_d_sf, double *_d_i) { -// CHECK-NEXT: SimpleFunctions _t0; -// CHECK-NEXT: _t0 = sf; +// CHECK-NEXT: SimpleFunctions _t0 = sf; // CHECK-NEXT: clad::ValueAndAdjoint _t1 = _t0.ref_mem_fn_forw(i, &(*_d_sf), nullptr); // CHECK-NEXT: { // CHECK-NEXT: double _r0 = 0; @@ -472,8 +459,7 @@ double fn5(SimpleFunctions& v, double value) { // CHECK: clad::ValueAndAdjoint operator_plus_equal_forw(double value, SimpleFunctions *_d_this, SimpleFunctions *_d_value); // CHECK: void fn5_grad(SimpleFunctions &v, double value, SimpleFunctions *_d_v, double *_d_value) { -// CHECK-NEXT: SimpleFunctions _t0; -// CHECK-NEXT: _t0 = v; +// CHECK-NEXT: SimpleFunctions _t0 = v; // CHECK-NEXT: clad::ValueAndAdjoint _t1 = _t0.operator_plus_equal_forw(value, &(*_d_v), nullptr); // CHECK-NEXT: (*_d_v).x += 1; // CHECK-NEXT: { @@ -493,8 +479,7 @@ double fn4(SimpleFunctions& v) { // CHECK: clad::ValueAndAdjoint operator_plus_plus_forw(SimpleFunctions *_d_this); // CHECK: void fn4_grad(SimpleFunctions &v, SimpleFunctions *_d_v) { -// CHECK-NEXT: SimpleFunctions _t0; -// CHECK-NEXT: _t0 = v; +// CHECK-NEXT: SimpleFunctions _t0 = v; // CHECK-NEXT: clad::ValueAndAdjoint _t1 = _t0.operator_plus_plus_forw(&(*_d_v)); // CHECK-NEXT: (*_d_v).x += 1; // CHECK-NEXT: _t0.operator_plus_plus_pullback({}, &(*_d_v)); @@ -553,8 +538,7 @@ int main() { // CHECK: void const_volatile_lval_ref_mem_fn_grad_0(double i, double j, volatile SimpleFunctions *_d_this, double *_d_i) const volatile & { // CHECK-NEXT: double _d_j = 0; - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -568,8 +552,7 @@ int main() { // CHECK: void const_volatile_rval_ref_mem_fn_grad_1(double i, double j, volatile SimpleFunctions *_d_this, double *_d_j) const volatile && { // CHECK-NEXT: double _d_i = 0; - // CHECK-NEXT: double _t0; - // CHECK-NEXT: _t0 = (this->x + this->y); + // CHECK-NEXT: double _t0 = (this->x + this->y); // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i; // CHECK-NEXT: (*_d_this).y += 1 * i; @@ -587,10 +570,9 @@ int main() { // CHECK: void fn3_grad_2_3(double x, double y, double i, double j, double *_d_i, double *_d_j) { // CHECK-NEXT: double _d_x = 0; // CHECK-NEXT: double _d_y = 0; -// CHECK-NEXT: SimpleFunctions _t0; // CHECK-NEXT: SimpleFunctions _d_sf({}); // CHECK-NEXT: SimpleFunctions sf(x, y); -// CHECK-NEXT: _t0 = sf; +// CHECK-NEXT: SimpleFunctions _t0 = sf; // CHECK-NEXT: { // CHECK-NEXT: double _r0 = 0; // CHECK-NEXT: double _r1 = 0; @@ -601,11 +583,9 @@ int main() { // CHECK-NEXT: } // CHECK: void ref_mem_fn_pullback(double i, double _d_y, SimpleFunctions *_d_this, double *_d_i) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: _t0 = this->x; +// CHECK-NEXT: double _t0 = this->x; // CHECK-NEXT: this->x = +i; -// CHECK-NEXT: _t1 = this->x; +// CHECK-NEXT: double _t1 = this->x; // CHECK-NEXT: this->x = -i; // CHECK-NEXT: (*_d_this).x += _d_y; // CHECK-NEXT: { @@ -623,18 +603,15 @@ int main() { // CHECK-NEXT: } // CHECK: clad::ValueAndAdjoint ref_mem_fn_forw(double i, SimpleFunctions *_d_this, double *_d_i) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: _t0 = this->x; +// CHECK-NEXT: double _t0 = this->x; // CHECK-NEXT: this->x = +i; -// CHECK-NEXT: _t1 = this->x; +// CHECK-NEXT: double _t1 = this->x; // CHECK-NEXT: this->x = -i; // CHECK-NEXT: return {this->x, (*_d_this).x}; // CHECK-NEXT: } // CHECK: void operator_plus_equal_pullback(double value, SimpleFunctions _d_y, SimpleFunctions *_d_this, double *_d_value) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = this->x; +// CHECK-NEXT: double _t0 = this->x; // CHECK-NEXT: this->x += value; // CHECK-NEXT: { // CHECK-NEXT: this->x = _t0; @@ -644,15 +621,13 @@ int main() { // CHECK-NEXT: } // CHECK: clad::ValueAndAdjoint operator_plus_equal_forw(double value, SimpleFunctions *_d_this, SimpleFunctions *_d_value) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = this->x; +// CHECK-NEXT: double _t0 = this->x; // CHECK-NEXT: this->x += value; // CHECK-NEXT: return {*this, (*_d_this)}; // CHECK-NEXT: } // CHECK: void operator_plus_plus_pullback(SimpleFunctions _d_y, SimpleFunctions *_d_this) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = this->x; +// CHECK-NEXT: double _t0 = this->x; // CHECK-NEXT: this->x += 1.; // CHECK-NEXT: { // CHECK-NEXT: this->x = _t0; @@ -661,8 +636,7 @@ int main() { // CHECK-NEXT: } // CHECK: clad::ValueAndAdjoint operator_plus_plus_forw(SimpleFunctions *_d_this) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = this->x; +// CHECK-NEXT: double _t0 = this->x; // CHECK-NEXT: this->x += 1.; // CHECK-NEXT: return {*this, (*_d_this)}; // CHECK-NEXT: } diff --git a/test/Gradient/NonDifferentiable.C b/test/Gradient/NonDifferentiable.C index 3a416dd97..8ad0ea115 100644 --- a/test/Gradient/NonDifferentiable.C +++ b/test/Gradient/NonDifferentiable.C @@ -126,10 +126,9 @@ int main() { // CHECK: void mem_fn_1_pullback(double i, double j, double _d_y, SimpleFunctions1 *_d_this, double *_d_i, double *_d_j); // CHECK: void fn_s1_mem_fn_grad(double i, double j, double *_d_i, double *_d_j) { - // CHECK-NEXT: SimpleFunctions1 _t0; // CHECK-NEXT: SimpleFunctions1 _d_obj({}); // CHECK-NEXT: SimpleFunctions1 obj(2, 3); - // CHECK-NEXT: _t0 = obj; + // CHECK-NEXT: SimpleFunctions1 _t0 = obj; // CHECK-NEXT: { // CHECK-NEXT: double _r0 = 0; // CHECK-NEXT: double _r1 = 0; diff --git a/test/Gradient/Pointers.C b/test/Gradient/Pointers.C index 9a24b4d8b..3232bdf42 100644 --- a/test/Gradient/Pointers.C +++ b/test/Gradient/Pointers.C @@ -25,10 +25,9 @@ double minimalPointer(double x) { } // CHECK: void minimalPointer_grad(double x, double *_d_x) { -// CHECK-NEXT: double _t0; // CHECK-NEXT: double *_d_p = &*_d_x; // CHECK-NEXT: double *const p = &x; -// CHECK-NEXT: _t0 = *p; +// CHECK-NEXT: double _t0 = *p; // CHECK-NEXT: *p = *p * (*p); // CHECK-NEXT: *_d_p += 1; // CHECK-NEXT: { @@ -57,49 +56,37 @@ double arrayPointer(const double* arr) { } // CHECK: void arrayPointer_grad(const double *arr, double *_d_arr) { -// CHECK-NEXT: const double *_t0; -// CHECK-NEXT: double *_t1; -// CHECK-NEXT: double _t2; -// CHECK-NEXT: const double *_t3; -// CHECK-NEXT: double *_t4; -// CHECK-NEXT: double _t5; -// CHECK-NEXT: double _t6; -// CHECK-NEXT: const double *_t7; -// CHECK-NEXT: double *_t8; -// CHECK-NEXT: const double *_t9; -// CHECK-NEXT: double *_t10; -// CHECK-NEXT: double _t11; // CHECK-NEXT: double *_d_p = _d_arr; // CHECK-NEXT: const double *p = arr; -// CHECK-NEXT: _t0 = p; -// CHECK-NEXT: _t1 = _d_p; +// CHECK-NEXT: const double *_t0 = p; +// CHECK-NEXT: double *_t1 = _d_p; // CHECK-NEXT: _d_p = _d_p + 1; // CHECK-NEXT: p = p + 1; // CHECK-NEXT: double _d_sum = 0; // CHECK-NEXT: double sum = *p; // CHECK-NEXT: _d_p++; // CHECK-NEXT: p++; -// CHECK-NEXT: _t2 = sum; +// CHECK-NEXT: double _t2 = sum; // CHECK-NEXT: sum += *p * 2; -// CHECK-NEXT: _t3 = p; -// CHECK-NEXT: _t4 = _d_p; +// CHECK-NEXT: const double *_t3 = p; +// CHECK-NEXT: double *_t4 = _d_p; // CHECK-NEXT: _d_p += 1; // CHECK-NEXT: p += 1; -// CHECK-NEXT: _t5 = sum; +// CHECK-NEXT: double _t5 = sum; // CHECK-NEXT: sum += *p * 4; // CHECK-NEXT: ++_d_p; // CHECK-NEXT: ++p; -// CHECK-NEXT: _t6 = sum; +// CHECK-NEXT: double _t6 = sum; // CHECK-NEXT: sum += *p * 3; -// CHECK-NEXT: _t7 = p; -// CHECK-NEXT: _t8 = _d_p; +// CHECK-NEXT: const double *_t7 = p; +// CHECK-NEXT: double *_t8 = _d_p; // CHECK-NEXT: _d_p -= 2; // CHECK-NEXT: p -= 2; -// CHECK-NEXT: _t9 = p; -// CHECK-NEXT: _t10 = _d_p; +// CHECK-NEXT: const double *_t9 = p; +// CHECK-NEXT: double *_t10 = _d_p; // CHECK-NEXT: _d_p = _d_p - 2; // CHECK-NEXT: p = p - 2; -// CHECK-NEXT: _t11 = sum; +// CHECK-NEXT: double _t11 = sum; // CHECK-NEXT: sum += 5 * (*p); // CHECK-NEXT: _d_sum += 1; // CHECK-NEXT: { @@ -161,7 +148,6 @@ double pointerParam(const double* arr, size_t n) { // CHECK: void pointerParam_grad_0(const double *arr, size_t n, double *_d_arr) { // CHECK-NEXT: size_t _d_n = 0; -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: size_t _d_i = 0; // CHECK-NEXT: size_t i = 0; // CHECK-NEXT: clad::tape _t1 = {}; @@ -173,7 +159,7 @@ double pointerParam(const double* arr, size_t n) { // CHECK-NEXT: clad::tape _t6 = {}; // CHECK-NEXT: double _d_sum = 0; // CHECK-NEXT: double sum = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < n)) @@ -228,45 +214,37 @@ double pointerMultipleParams(const double* a, const double* b) { } // CHECK: void pointerMultipleParams_grad(const double *a, const double *b, double *_d_a, double *_d_b) { -// CHECK-NEXT: const double *_t0; -// CHECK-NEXT: double *_t1; -// CHECK-NEXT: const double *_t2; -// CHECK-NEXT: double *_t3; -// CHECK-NEXT: double _t4; -// CHECK-NEXT: double _t5; -// CHECK-NEXT: double _t6; -// CHECK-NEXT: double _t7; // CHECK-NEXT: double _d_sum = 0; // CHECK-NEXT: double sum = b[2]; -// CHECK-NEXT: _t0 = b; -// CHECK-NEXT: _t1 = _d_b; +// CHECK-NEXT: const double *_t0 = b; +// CHECK-NEXT: double *_t1 = _d_b; // CHECK-NEXT: _d_b = _d_a; // CHECK-NEXT: b = a; -// CHECK-NEXT: _t2 = a; -// CHECK-NEXT: _t3 = _d_a; +// CHECK-NEXT: const double *_t2 = a; +// CHECK-NEXT: double *_t3 = _d_a; // CHECK-NEXT: _d_a = 1 + _d_a; // CHECK-NEXT: a = 1 + a; // CHECK-NEXT: ++_d_b; // CHECK-NEXT: ++b; -// CHECK-NEXT: _t4 = sum; +// CHECK-NEXT: double _t4 = sum; // CHECK-NEXT: sum += a[0] + b[0]; // CHECK-NEXT: _d_b++; // CHECK-NEXT: b++; // CHECK-NEXT: _d_a++; // CHECK-NEXT: a++; -// CHECK-NEXT: _t5 = sum; +// CHECK-NEXT: double _t5 = sum; // CHECK-NEXT: sum += a[0] + b[0]; // CHECK-NEXT: _d_b--; // CHECK-NEXT: b--; // CHECK-NEXT: _d_a--; // CHECK-NEXT: a--; -// CHECK-NEXT: _t6 = sum; +// CHECK-NEXT: double _t6 = sum; // CHECK-NEXT: sum += a[0] + b[0]; // CHECK-NEXT: --_d_b; // CHECK-NEXT: --b; // CHECK-NEXT: --_d_a; // CHECK-NEXT: --a; -// CHECK-NEXT: _t7 = sum; +// CHECK-NEXT: double _t7 = sum; // CHECK-NEXT: sum += a[0] + b[0]; // CHECK-NEXT: _d_sum += 1; // CHECK-NEXT: { @@ -346,17 +324,15 @@ double newAndDeletePointer(double i, double j) { } // CHECK: void newAndDeletePointer_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; // CHECK-NEXT: double *_d_p = new double(*_d_i); // CHECK-NEXT: double *p = new double(i); // CHECK-NEXT: double *_d_q = new double(*_d_j); // CHECK-NEXT: double *q = new double(j); // CHECK-NEXT: double *_d_r = new double [2](/*implicit*/(double{{[ ]?}}[2])0); // CHECK-NEXT: double *r = new double [2]; -// CHECK-NEXT: _t0 = r[0]; +// CHECK-NEXT: double _t0 = r[0]; // CHECK-NEXT: r[0] = i + j; -// CHECK-NEXT: _t1 = r[1]; +// CHECK-NEXT: double _t1 = r[1]; // CHECK-NEXT: r[1] = i * j; // CHECK-NEXT: double _d_sum = 0; // CHECK-NEXT: double sum = *p + *q + r[0] + r[1]; @@ -432,31 +408,25 @@ double cStyleMemoryAlloc(double x, size_t n) { // CHECK: void cStyleMemoryAlloc_grad_0(double x, size_t n, double *_d_x) { // CHECK-NEXT: size_t _d_n = 0; -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: double *_t2; -// CHECK-NEXT: double *_t3; -// CHECK-NEXT: double _t4; -// CHECK-NEXT: double _t5; // CHECK-NEXT: T *_d_t = (T *)malloc(n * sizeof(T)); // CHECK-NEXT: T *t = (T *)malloc(n * sizeof(T)); // CHECK-NEXT: memset(_d_t, 0, n * sizeof(T)); // CHECK-NEXT: memset(t, 0, n * sizeof(T)); -// CHECK-NEXT: _t0 = t->x; +// CHECK-NEXT: double _t0 = t->x; // CHECK-NEXT: t->x = x; // CHECK-NEXT: double *_d_p = (double *)calloc(1, sizeof(double)); // CHECK-NEXT: double *p = (double *)calloc(1, sizeof(double)); -// CHECK-NEXT: _t1 = *p; +// CHECK-NEXT: double _t1 = *p; // CHECK-NEXT: *p = x; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = t->x + *p; -// CHECK-NEXT: _t2 = p; -// CHECK-NEXT: _t3 = _d_p; +// CHECK-NEXT: double *_t2 = p; +// CHECK-NEXT: double *_t3 = _d_p; // CHECK-NEXT: _d_p = (double *)realloc(_d_p, 2 * sizeof(double)); // CHECK-NEXT: p = (double *)realloc(p, 2 * sizeof(double)); -// CHECK-NEXT: _t4 = p[1]; +// CHECK-NEXT: double _t4 = p[1]; // CHECK-NEXT: p[1] = 2 * x; -// CHECK-NEXT: _t5 = res; +// CHECK-NEXT: double _t5 = res; // CHECK-NEXT: res += p[1]; // CHECK-NEXT: _d_res += 1; // CHECK-NEXT: { diff --git a/test/Gradient/Switch.C b/test/Gradient/Switch.C index b5aa458cd..15bcc4524 100644 --- a/test/Gradient/Switch.C +++ b/test/Gradient/Switch.C @@ -262,7 +262,6 @@ double fn3(double i, double j) { } // CHECK: void fn3_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: clad::tape _cond0 = {}; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _t2 = {}; @@ -273,7 +272,7 @@ double fn3(double i, double j) { // CHECK-NEXT: double res = 0; // CHECK-NEXT: int _d_counter = 0; // CHECK-NEXT: int counter = 2; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: while (counter--) // CHECK-NEXT: { // CHECK-NEXT: _t0++; @@ -584,7 +583,6 @@ double fn7(double u, double v) { } // CHECK: void fn7_grad(double u, double v, double *_d_u, double *_d_v) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _cond0 = {}; @@ -593,7 +591,7 @@ double fn7(double u, double v) { // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 5)) diff --git a/test/Gradient/TemplateFunctors.C b/test/Gradient/TemplateFunctors.C index c9f6003e6..4468b0ef0 100644 --- a/test/Gradient/TemplateFunctors.C +++ b/test/Gradient/TemplateFunctors.C @@ -55,8 +55,7 @@ template struct ExperimentConstVolatile { }; // CHECK: void operator_call_grad(double i, double j, volatile ExperimentConstVolatile *_d_this, double *_d_i, double *_d_j) const volatile { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 = this->x * i; +// CHECK-NEXT: double _t0 = this->x * i; // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * i * i; // CHECK-NEXT: *_d_i += this->x * 1 * i; @@ -77,10 +76,8 @@ template <> struct ExperimentConstVolatile { }; // CHECK: void operator_call_grad(long double i, long double j, volatile ExperimentConstVolatile *_d_this, long double *_d_i, long double *_d_j) const volatile { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: _t0 = this->x * i; -// CHECK-NEXT: _t1 = this->y * j; +// CHECK-NEXT: double _t0 = this->x * i; +// CHECK-NEXT: double _t1 = this->y * j; // CHECK-NEXT: { // CHECK-NEXT: (*_d_this).x += 1 * j * i * i; // CHECK-NEXT: *_d_i += this->x * 1 * j * i; diff --git a/test/Gradient/TestTypeConversion.C b/test/Gradient/TestTypeConversion.C index ca77f5691..dc5d087d4 100644 --- a/test/Gradient/TestTypeConversion.C +++ b/test/Gradient/TestTypeConversion.C @@ -19,11 +19,10 @@ float fn_type_conversion(float z, int a) { void fn_type_conversion_grad(float z, int a, float *_d_z, int *_d_a); // CHECK: void fn_type_conversion_grad(float z, int a, float *_d_z, int *_d_a) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 1; ; i++) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < a)) diff --git a/test/Gradient/UserDefinedTypes.C b/test/Gradient/UserDefinedTypes.C index 0a4aa1ff3..f5f954808 100644 --- a/test/Gradient/UserDefinedTypes.C +++ b/test/Gradient/UserDefinedTypes.C @@ -71,12 +71,10 @@ double fn2(Tangent t, double i) { } // CHECK: void fn2_grad(Tangent t, double i, Tangent *_d_t, double *_d_i) { -// CHECK-NEXT: Tangent _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: _t0 = t; +// CHECK-NEXT: Tangent _t0 = t; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = sum(t); -// CHECK-NEXT: _t1 = res; +// CHECK-NEXT: double _t1 = res; // CHECK-NEXT: res += sum(t.data) + i + 2 * t.data[0]; // CHECK-NEXT: _d_res += 1; // CHECK-NEXT: { @@ -100,16 +98,13 @@ double fn3(double i, double j) { } // CHECK: void fn3_grad(double i, double j, double *_d_i, double *_d_j) { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: Tangent _t2; // CHECK-NEXT: Tangent _d_t({}); // CHECK-NEXT: Tangent t; -// CHECK-NEXT: _t0 = t.data[0]; +// CHECK-NEXT: double _t0 = t.data[0]; // CHECK-NEXT: t.data[0] = 2 * i; -// CHECK-NEXT: _t1 = t.data[1]; +// CHECK-NEXT: double _t1 = t.data[1]; // CHECK-NEXT: t.data[1] = 5 * i + 3 * j; -// CHECK-NEXT: _t2 = t; +// CHECK-NEXT: Tangent _t2 = t; // CHECK-NEXT: { // CHECK-NEXT: t = _t2; // CHECK-NEXT: sum_pullback(_t2, 1, &_d_t); @@ -171,8 +166,7 @@ double fn5(const Tangent& t, double i) { // CHECK: void someMemFn2_pullback(double i, double j, double _d_y, Tangent *_d_this, double *_d_i, double *_d_j) const; // CHECK: void fn5_grad(const Tangent &t, double i, Tangent *_d_t, double *_d_i) { -// CHECK-NEXT: Tangent _t0; -// CHECK-NEXT: _t0 = t; +// CHECK-NEXT: Tangent _t0 = t; // CHECK-NEXT: { // CHECK-NEXT: double _r0 = 0; // CHECK-NEXT: double _r1 = 0; @@ -197,23 +191,16 @@ double fn6(dcomplex c, double i) { // CHECK: constexpr void imag_pullback(double _d_y, std{{(::__1)?}}::complex *_d_this){{.*}}; // CHECK: void fn6_grad(dcomplex c, double i, dcomplex *_d_c, double *_d_i) { -// CHECK-NEXT: dcomplex _t0; -// CHECK-NEXT: dcomplex _t1; -// CHECK-NEXT: double _t2; -// CHECK-NEXT: dcomplex _t3; -// CHECK-NEXT: double _t4; -// CHECK-NEXT: double _t5; -// CHECK-NEXT: dcomplex _t6; -// CHECK-NEXT: _t0 = c; +// CHECK-NEXT: dcomplex _t0 = c; // CHECK-NEXT: c.real(5 * i); -// CHECK-NEXT: _t1 = c; -// CHECK-NEXT: _t3 = c; -// CHECK-NEXT: _t2 = c.imag(); +// CHECK-NEXT: dcomplex _t1 = c; +// CHECK-NEXT: dcomplex _t3 = c; +// CHECK-NEXT: double _t2 = c.imag(); // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = c.real() + 3 * _t2 + 6 * i; -// CHECK-NEXT: _t4 = res; -// CHECK-NEXT: _t6 = c; -// CHECK-NEXT: _t5 = c.real(); +// CHECK-NEXT: double _t4 = res; +// CHECK-NEXT: dcomplex _t6 = c; +// CHECK-NEXT: double _t5 = c.real(); // CHECK-NEXT: res += 4 * _t5; // CHECK-NEXT: _d_res += 1; // CHECK-NEXT: { @@ -239,21 +226,14 @@ double fn7(dcomplex c1, dcomplex c2) { } // CHECK: void fn7_grad(dcomplex c1, dcomplex c2, dcomplex *_d_c1, dcomplex *_d_c2) { -// CHECK-NEXT: dcomplex _t0; -// CHECK-NEXT: double _t1; -// CHECK-NEXT: dcomplex _t2; -// CHECK-NEXT: dcomplex _t3; -// CHECK-NEXT: dcomplex _t4; -// CHECK-NEXT: double _t5; -// CHECK-NEXT: dcomplex _t6; -// CHECK-NEXT: _t0 = c2; -// CHECK-NEXT: _t2 = c2; -// CHECK-NEXT: _t1 = c2.real(); -// CHECK-NEXT: _t3 = c1; +// CHECK-NEXT: dcomplex _t0 = c2; +// CHECK-NEXT: dcomplex _t2 = c2; +// CHECK-NEXT: double _t1 = c2.real(); +// CHECK-NEXT: dcomplex _t3 = c1; // CHECK-NEXT: c1.real(c2.imag() + 5 * _t1); -// CHECK-NEXT: _t4 = c1; -// CHECK-NEXT: _t6 = c1; -// CHECK-NEXT: _t5 = c1.imag(); +// CHECK-NEXT: dcomplex _t4 = c1; +// CHECK-NEXT: dcomplex _t6 = c1; +// CHECK-NEXT: double _t5 = c1.imag(); // CHECK-NEXT: { // CHECK-NEXT: _t4.real_pullback(1, &(*_d_c1)); // CHECK-NEXT: _t6.imag_pullback(3 * 1, &(*_d_c1)); @@ -274,13 +254,10 @@ double fn8(Tangent t, dcomplex c) { // CHECK: void updateTo_pullback(double d, Tangent *_d_this, double *_d_d); // CHECK: void fn8_grad(Tangent t, dcomplex c, Tangent *_d_t, dcomplex *_d_c) { -// CHECK-NEXT: dcomplex _t0; -// CHECK-NEXT: Tangent _t1; -// CHECK-NEXT: Tangent _t2; -// CHECK-NEXT: _t0 = c; -// CHECK-NEXT: _t1 = t; +// CHECK-NEXT: dcomplex _t0 = c; +// CHECK-NEXT: Tangent _t1 = t; // CHECK-NEXT: t.updateTo(c.real()); -// CHECK-NEXT: _t2 = t; +// CHECK-NEXT: Tangent _t2 = t; // CHECK-NEXT: { // CHECK-NEXT: t = _t2; // CHECK-NEXT: sum_pullback(_t2, 1, &(*_d_t)); @@ -302,18 +279,15 @@ double fn9(Tangent t, dcomplex c) { } // CHECK: void fn9_grad(Tangent t, dcomplex c, Tangent *_d_t, dcomplex *_d_c) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: clad::tape _t2 = {}; // CHECK-NEXT: clad::tape _t3 = {}; // CHECK-NEXT: clad::tape _t4 = {}; -// CHECK-NEXT: double _t5; -// CHECK-NEXT: Tangent _t6; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 5)) @@ -325,8 +299,8 @@ double fn9(Tangent t, dcomplex c) { // CHECK-NEXT: clad::push(_t4, c); // CHECK-NEXT: res += c.real() + 2 * clad::push(_t3, c.imag()); // CHECK-NEXT: } -// CHECK-NEXT: _t5 = res; -// CHECK-NEXT: _t6 = t; +// CHECK-NEXT: double _t5 = res; +// CHECK-NEXT: Tangent _t6 = t; // CHECK-NEXT: res += sum(t); // CHECK-NEXT: _d_res += 1; // CHECK-NEXT: { @@ -393,13 +367,12 @@ int main() { } // CHECK: void sum_pullback(Tangent &t, double _d_y, Tangent *_d_t) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 5)) @@ -423,13 +396,12 @@ int main() { // CHECK-NEXT: } // CHECK: void sum_pullback(double *data, double _d_y, double *_d_data) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; // CHECK-NEXT: double _d_res = 0; // CHECK-NEXT: double res = 0; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 5)) @@ -463,8 +435,7 @@ int main() { // CHECK-NEXT: } // CHECK: void real_pullback({{.*}} [[__val:.*]], std{{(::__1)?}}::complex *_d_this, {{.*}} *[[_d___val:[a-zA-Z_]*]]){{.*}} { -// CHECK-NEXT: double _t0; -// CHECK-NEXT: _t0 ={{( __real)?}} this->[[_M_value:.*]]; +// CHECK-NEXT: double _t0 ={{( __real)?}} this->[[_M_value:.*]]; // CHECK-NEXT: {{(__real)?}} this->[[_M_value:.*]] = [[__val]]; // CHECK-NEXT: { // CHECK-NEXT: {{(__real)?}} this->[[_M_value:.*]] = _t0; @@ -483,11 +454,10 @@ int main() { // CHECK-NEXT: } // CHECK: void updateTo_pullback(double d, Tangent *_d_this, double *_d_d) { -// CHECK-NEXT: unsigned {{int|long}} _t0; // CHECK-NEXT: int _d_i = 0; // CHECK-NEXT: int i = 0; // CHECK-NEXT: clad::tape _t1 = {}; -// CHECK-NEXT: _t0 = {{0U|0UL}}; +// CHECK-NEXT: unsigned {{int|long}} _t0 = {{0U|0UL}}; // CHECK-NEXT: for (i = 0; ; ++i) { // CHECK-NEXT: { // CHECK-NEXT: if (!(i < 5)) diff --git a/test/Hessian/BuiltinDerivatives.C b/test/Hessian/BuiltinDerivatives.C index 552dcf9e1..932b4d939 100644 --- a/test/Hessian/BuiltinDerivatives.C +++ b/test/Hessian/BuiltinDerivatives.C @@ -371,8 +371,7 @@ int main() { // CHECK-NEXT: } // CHECK: void sin_pushforward_pullback(float x, float d_x, ValueAndPushforward _d_y, float *_d_x, float *_d_d_x) { -// CHECK-NEXT: float _t0; -// CHECK-NEXT: _t0 = ::std::cos(x); +// CHECK-NEXT: float _t0 = ::std::cos(x); // CHECK-NEXT: { // CHECK-NEXT: float _r0 = 0; // CHECK-NEXT: _r0 += _d_y.value * clad::custom_derivatives{{(::std)?}}::sin_pushforward(x, 1.F).pushforward; @@ -385,8 +384,7 @@ int main() { // CHECK-NEXT: } // CHECK: void cos_pushforward_pullback(float x, float d_x, ValueAndPushforward _d_y, float *_d_x, float *_d_d_x) { -// CHECK-NEXT: float _t0; -// CHECK-NEXT: _t0 = ::std::sin(x); +// CHECK-NEXT: float _t0 = ::std::sin(x); // CHECK-NEXT: { // CHECK-NEXT: float _r0 = 0; // CHECK-NEXT: _r0 += _d_y.value * clad::custom_derivatives{{(::std)?}}::cos_pushforward(x, 1.F).pushforward; @@ -399,8 +397,7 @@ int main() { // CHECK-NEXT: } // CHECK: void exp_pushforward_pullback(float x, float d_x, ValueAndPushforward _d_y, float *_d_x, float *_d_d_x) { -// CHECK-NEXT: float _t0; -// CHECK-NEXT: _t0 = ::std::exp(x); +// CHECK-NEXT: float _t0 = ::std::exp(x); // CHECK-NEXT: { // CHECK-NEXT: float _r0 = 0; // CHECK-NEXT: _r0 += _d_y.value * clad::custom_derivatives{{(::std)?}}::exp_pushforward(x, 1.F).pushforward; @@ -424,14 +421,13 @@ int main() { // CHECK-NEXT: } // CHECK: void pow_pushforward_pullback(float x, float exponent, float d_x, float d_exponent, ValueAndPushforward _d_y, float *_d_x, float *_d_exponent, float *_d_d_x, float *_d_d_exponent) { -// CHECK-NEXT: float _t0; // CHECK-NEXT: bool _cond0; // CHECK-NEXT: float _t1; // CHECK-NEXT: float _t2; // CHECK-NEXT: float _t3; // CHECK-NEXT: float _d_val = 0; // CHECK-NEXT: float val = ::std::pow(x, exponent); -// CHECK-NEXT: _t0 = ::std::pow(x, exponent - 1); +// CHECK-NEXT: float _t0 = ::std::pow(x, exponent - 1); // CHECK-NEXT: float _d_derivative = 0; // CHECK-NEXT: float derivative = (exponent * _t0) * d_x; // CHECK-NEXT: { diff --git a/test/Jacobian/Functors.C b/test/Jacobian/Functors.C index 447bbaa57..c3fb56870 100644 --- a/test/Jacobian/Functors.C +++ b/test/Jacobian/Functors.C @@ -72,11 +72,9 @@ struct ExperimentVolatile { } // CHECK: void operator_call_jac(double i, double j, double *output, double *jacobianMatrix) volatile { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: double _t1; - // CHECK-NEXT: _t0 = this->x * i; + // CHECK-NEXT: double _t0 = this->x * i; // CHECK-NEXT: output[0] = this->x * i * i * j; - // CHECK-NEXT: _t1 = this->y * i; + // CHECK-NEXT: double _t1 = this->y * i; // CHECK-NEXT: output[1] = this->y * i * j * j; // CHECK-NEXT: { // CHECK-NEXT: jacobianMatrix[{{2U|2UL}}] += this->y * 1 * j * j; @@ -103,11 +101,9 @@ struct ExperimentConstVolatile { } // CHECK: void operator_call_jac(double i, double j, double *output, double *jacobianMatrix) const volatile { - // CHECK-NEXT: double _t0; - // CHECK-NEXT: double _t1; - // CHECK-NEXT: _t0 = this->x * i; + // CHECK-NEXT: double _t0 = this->x * i; // CHECK-NEXT: output[0] = this->x * i * i * j; - // CHECK-NEXT: _t1 = this->y * i; + // CHECK-NEXT: double _t1 = this->y * i; // CHECK-NEXT: output[1] = this->y * i * j * j; // CHECK-NEXT: { // CHECK-NEXT: jacobianMatrix[{{2U|2UL}}] += this->y * 1 * j * j; diff --git a/test/Jacobian/Jacobian.C b/test/Jacobian/Jacobian.C index b733d5c82..25637166b 100644 --- a/test/Jacobian/Jacobian.C +++ b/test/Jacobian/Jacobian.C @@ -51,16 +51,13 @@ void f_3(double x, double y, double z, double *_result) { void f_3_jac(double x, double y, double z, double *_result, double *jacobianMatrix); //CHECK: void f_3_jac(double x, double y, double z, double *_result, double *jacobianMatrix) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: double _t2; //CHECK-NEXT: double _d_constant = 0; //CHECK-NEXT: double constant = 42; -//CHECK-NEXT: _t0 = sin(x); +//CHECK-NEXT: double _t0 = sin(x); //CHECK-NEXT: _result[0] = sin(x) * constant; -//CHECK-NEXT: _t1 = sin(y); +//CHECK-NEXT: double _t1 = sin(y); //CHECK-NEXT: _result[1] = sin(y) * constant; -//CHECK-NEXT: _t2 = sin(z); +//CHECK-NEXT: double _t2 = sin(z); //CHECK-NEXT: _result[2] = sin(z) * constant; //CHECK-NEXT: { //CHECK-NEXT: double _r2 = 0; @@ -92,16 +89,13 @@ void f_4(double x, double y, double z, double *_result) { void f_4_jac(double x, double y, double z, double *_result, double *jacobianMatrix); //CHECK: void f_4_jac(double x, double y, double z, double *_result, double *jacobianMatrix) { -//CHECK-NEXT: double _t0; -//CHECK-NEXT: double _t1; -//CHECK-NEXT: double _t2; //CHECK-NEXT: double _d_constant = 0; //CHECK-NEXT: double constant = 42; -//CHECK-NEXT: _t0 = multiply(x, y); +//CHECK-NEXT: double _t0 = multiply(x, y); //CHECK-NEXT: _result[0] = multiply(x, y) * constant; -//CHECK-NEXT: _t1 = multiply(y, z); +//CHECK-NEXT: double _t1 = multiply(y, z); //CHECK-NEXT: _result[1] = multiply(y, z) * constant; -//CHECK-NEXT: _t2 = multiply(z, x); +//CHECK-NEXT: double _t2 = multiply(z, x); //CHECK-NEXT: _result[2] = multiply(z, x) * constant; //CHECK-NEXT: { //CHECK-NEXT: double _r4 = 0; diff --git a/test/Misc/RunDemos.C b/test/Misc/RunDemos.C index b6c016d7f..2ea0143bc 100644 --- a/test/Misc/RunDemos.C +++ b/test/Misc/RunDemos.C @@ -107,13 +107,12 @@ //CHECK_FLOAT_SUM-NOT: {{.*error|warning|note:.*}} //CHECK_FLOAT_SUM: void vanillaSum_grad(float x, unsigned int n, float *_d_x, unsigned int *_d_n, double &_final_error) { -//CHECK_FLOAT_SUM: unsigned {{int|long}} _t0; //CHECK_FLOAT_SUM: unsigned int _d_i = 0; //CHECK_FLOAT_SUM: unsigned int i = 0; //CHECK_FLOAT_SUM: clad::tape _t1 = {}; //CHECK_FLOAT_SUM: float _d_sum = 0; //CHECK_FLOAT_SUM: float sum = 0.; -//CHECK_FLOAT_SUM: _t0 = {{0U|0UL}}; +//CHECK_FLOAT_SUM: unsigned {{int|long}} _t0 = {{0U|0UL}}; //CHECK_FLOAT_SUM: for (i = 0; ; i++) { //CHECK_FLOAT_SUM: { //CHECK_FLOAT_SUM: if (!(i < n)) @@ -157,10 +156,9 @@ // CHECK_CUSTOM_MODEL_EXEC-NOT:{{.*error|warning|note:.*}} // CHECK_CUSTOM_MODEL_EXEC: The code is: // CHECK_CUSTOM_MODEL_EXEC-NEXT: void func_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -// CHECK_CUSTOM_MODEL_EXEC-NEXT: float _t0; // CHECK_CUSTOM_MODEL_EXEC-NEXT: float _d_z = 0; // CHECK_CUSTOM_MODEL_EXEC-NEXT: float z; -// CHECK_CUSTOM_MODEL_EXEC-NEXT: _t0 = z; +// CHECK_CUSTOM_MODEL_EXEC-NEXT: float _t0 = z; // CHECK_CUSTOM_MODEL_EXEC-NEXT: z = x + y; // CHECK_CUSTOM_MODEL_EXEC-NEXT: _d_z += 1; // CHECK_CUSTOM_MODEL_EXEC-NEXT: { @@ -189,10 +187,9 @@ // CHECK_PRINT_MODEL_EXEC-NOT:{{.*error|warning|note:.*}} // CHECK_PRINT_MODEL_EXEC: The code is: // CHECK_PRINT_MODEL_EXEC-NEXT: void func_grad(float x, float y, float *_d_x, float *_d_y, double &_final_error) { -// CHECK_PRINT_MODEL_EXEC-NEXT: float _t0; // CHECK_PRINT_MODEL_EXEC-NEXT: float _d_z = 0; // CHECK_PRINT_MODEL_EXEC-NEXT: float z; -// CHECK_PRINT_MODEL_EXEC-NEXT: _t0 = z; +// CHECK_PRINT_MODEL_EXEC-NEXT: float _t0 = z; // CHECK_PRINT_MODEL_EXEC-NEXT: z = x + y; // CHECK_PRINT_MODEL_EXEC-NEXT: _d_z += 1; // CHECK_PRINT_MODEL_EXEC-NEXT: {