You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
However, the current C/C++ subset removes for loops, transforming them into while loops. For certain cases, it is preferable to have for loops (e.g. parallelization using OpenMP).
One solution could be disabling the for loop transformation. However, this makes the subset transformation and subsequent use more complex, since now it has to deal with both for and while loops.
An alternative is to create a clava.code.WhileToForStmt transformation pass that re-introduces the for loops at will, from the while loops, which could be similar to the transformations ForToWhileStmt (code) and DoToWhileStmt (code)
The text was updated successfully, but these errors were encountered:
The transformation clava.opt.Inlining is applied after the C/C++ code is normalized to a C/C++ subset designed for code analysis and transformations (clava.opt.NormalizeToSubset).
However, the current C/C++ subset removes
for
loops, transforming them intowhile
loops. For certain cases, it is preferable to havefor
loops (e.g. parallelization using OpenMP).One solution could be disabling the
for
loop transformation. However, this makes the subset transformation and subsequent use more complex, since now it has to deal with bothfor
andwhile
loops.An alternative is to create a
clava.code.WhileToForStmt
transformation pass that re-introduces thefor
loops at will, from thewhile
loops, which could be similar to the transformations ForToWhileStmt (code) and DoToWhileStmt (code)The text was updated successfully, but these errors were encountered: