Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/main.cc

    r5f3ba11 r9490621  
    1010// Created On       : Fri May 15 23:12:02 2015
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Tue Nov 30 10:25:00 2021
    13 // Update Count     : 659
     12// Last Modified On : Wed Jan 26 14:09:00 2022
     13// Update Count     : 670
    1414//
    1515
     
    3232
    3333#include "AST/Convert.hpp"
     34#include "AST/Print.hpp"
    3435#include "CompilationState.h"
    3536#include "../config.h"                      // for CFA_LIBDIR
     
    5556#include "ControlStruct/ExceptTranslate.h"  // for translateEHM
    5657#include "ControlStruct/FixLabels.hpp"      // for fixLabels
     58#include "ControlStruct/HoistControlDecls.hpp" //  hoistControlDecls
    5759#include "ControlStruct/Mutate.h"           // for mutate
    5860#include "GenPoly/Box.h"                    // for box
     
    7375#include "SynTree/Visitor.h"                // for acceptAll
    7476#include "Tuples/Tuples.h"                  // for expandMemberTuples, expan...
     77#include "Validate/Autogen.hpp"             // for autogenerateRoutines
    7578#include "Validate/FindSpecialDecls.h"      // for findGlobalDecls
     79#include "Validate/ForallPointerDecay.hpp"  // for decayForallPointers
    7680#include "Validate/CompoundLiteral.hpp"     // for handleCompoundLiterals
    7781#include "Validate/InitializerLength.hpp"   // for setLengthFromInitializer
    7882#include "Validate/LabelAddressFixer.hpp"   // for fixLabelAddresses
    7983#include "Virtual/ExpandCasts.h"            // for expandCasts
    80 
    8184
    8285static void NewPass( const char * const name ) {
     
    326329                PASS( "Validate-B", SymTab::validate_B( translationUnit ) );
    327330                PASS( "Validate-C", SymTab::validate_C( translationUnit ) );
    328                 PASS( "Validate-D", SymTab::validate_D( translationUnit ) );
    329331
    330332                CodeTools::fillLocations( translationUnit );
    331333
    332334                if( useNewAST ) {
     335                        PASS( "Implement Concurrent Keywords", Concurrency::applyKeywords( translationUnit ) );
     336                        //PASS( "Forall Pointer Decay - A", SymTab::decayForallPointersA( translationUnit ) );
     337                        //PASS( "Forall Pointer Decay - B", SymTab::decayForallPointersB( translationUnit ) );
     338                        //PASS( "Forall Pointer Decay - C", SymTab::decayForallPointersC( translationUnit ) );
     339                        //PASS( "Forall Pointer Decay - D", SymTab::decayForallPointersD( translationUnit ) );
     340                        CodeTools::fillLocations( translationUnit );
     341
    333342                        if (Stats::Counters::enabled) {
    334343                                ast::pass_visitor_stats.avg = Stats::Counters::build<Stats::Counters::AverageCounter<double>>("Average Depth - New");
     
    338347
    339348                        forceFillCodeLocations( transUnit );
     349
     350                        // Must be after implement concurrent keywords; because uniqueIds
     351                        //   must be set on declaration before resolution.
     352                        // Must happen before autogen routines are added.
     353                        PASS( "Forall Pointer Decay", Validate::decayForallPointers( transUnit ) );
     354
     355                        // Must happen before autogen routines are added.
     356                        PASS( "Hoist Control Declarations", ControlStruct::hoistControlDecls( transUnit ) );
     357
     358                        // Must be after enum and pointer decay.
     359                        // Must be before compound literals.
     360                        PASS( "Generate Autogen Routines", Validate::autogenerateRoutines( transUnit ) );
    340361
    341362                        PASS( "Implement Mutex", Concurrency::implementMutex( transUnit ) );
     
    409430                        translationUnit = convert( move( transUnit ) );
    410431                } else {
     432                        PASS( "Validate-D", SymTab::validate_D( translationUnit ) );
    411433                        PASS( "Validate-E", SymTab::validate_E( translationUnit ) );
    412434                        PASS( "Validate-F", SymTab::validate_F( translationUnit ) );
Note: See TracChangeset for help on using the changeset viewer.