void check_insertLineNumbers() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_optimizeOnClauses() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_addInitCalls() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_returnStarTuplesByRefArgs() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_insertWideReferences() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_loopInvariantCodeMotion() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_localizeGlobals() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_refPropagation() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_replaceArrayAccessesWithRefTemps() { check_afterEveryPass(); check_afterNormalization(); check_afterResolution(); check_afterResolveIntents(); }
void check_complex2record() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // Suggestion: Ensure no more constants or variables of complex type. }
void check_bulkCopyRecords() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_prune2() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // Suggestion: Ensure no dead classes or functions. }
void check_callDestructors() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // Suggestion: Ensure every constructor call has a matching destructor call. }
void check_removeEmptyRecords() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // Suggestion: Ensure no empty records. }
void check_resolveIntents() { check_afterEveryPass(); check_afterNormalization(); check_afterResolution(); // Suggestion: Ensure now using a reduced set of intents. }
void check_deadCodeElimination() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // Suggestion: Ensure no dead code. }
void check_removeUnnecessaryAutoCopyCalls() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // Suggestion: Ensure no unnecessary autoCopy calls. }
void check_scalarReplace() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // Suggestion: Ensure no constant expresions. }
void check_inlineFunctions() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); check_afterLowerIterators(); }
void check_parallel() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // Suggestion: Ensure parallelization applied (if not --local). }
void check_flattenFunctions() { check_afterEveryPass(); check_afterNormalization(); check_afterResolution(); // Suggestion: Ensure no nested functions. }
void check_removeWrapRecords() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // Suggestion: Ensure no more wrap records. }
void check_resolve() { checkResolveRemovedPrims(); check_afterEveryPass(); check_afterNormalization(); checkReturnTypesHaveRefTypes(); checkAutoCopyMap(); }
void check_cullOverReferences() { check_afterEveryPass(); check_afterNormalization(); check_afterResolution(); // No ContextCallExprs should remain in the tree. forv_Vec(ContextCallExpr, cc, gContextCallExprs) { INT_FATAL("ContextCallExpr should no longer be in AST"); }
void check_lowerIterators() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); // check_afterResolution(); // Oho! Iterator functions do not obey the invariant // checked in checkReturnPaths() [semanticChecks.cpp:250]. // So check_afterResolution has been disabled in this and all subsequent post-pass // checks. // lowerIterators() should be revised to produce code that obeys all // invariants and then these (paranoid) tests re-enabled. }
void check_cullOverReferences() { check_afterEveryPass(); check_afterNormalization(); check_afterResolution(); }
void check_processIteratorYields() { check_afterEveryPass(); check_afterNormalization(); check_afterResolution(); }
void check_copyPropagation() { check_afterEveryPass(); check_afterNormalization(); check_afterCallDestructors(); }
void check_buildDefaultFunctions() { check_afterEveryPass(); check_afterNormalization(); // Suggestion: Ensure each class/record type has its own default functions. }
void check_createTaskFunctions() { checkTaskRemovedPrims(); check_afterEveryPass(); check_afterNormalization(); }