Changeset 16ba4a6 for src/SymTab


Ignore:
Timestamp:
Nov 10, 2020, 12:20:37 AM (3 years ago)
Author:
Fangren Yu <f37yu@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
18f0b70
Parents:
3febb2d
Message:

factor out resolver calls in pre-resolution stage

Location:
src/SymTab
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Autogen.cc

    r3febb2d r16ba4a6  
    3838#include "SynTree/Type.h"          // for FunctionType, Type, TypeInstType
    3939#include "SynTree/Visitor.h"       // for maybeAccept, Visitor, acceptAll
     40#include "CompilationState.h"
    4041
    4142class Attribute;
  • src/SymTab/Autogen.h

    r3febb2d r16ba4a6  
    167167                fExpr->args.emplace_back( dstParam );
    168168
    169                 const ast::Stmt * listInit = srcParam.buildListInit( fExpr );
     169                ast::ptr<ast::Stmt> listInit = srcParam.buildListInit( fExpr );
    170170
    171171                // fetch next set of arguments
  • src/SymTab/Validate.cc

    r3febb2d r16ba4a6  
    6464#include "Common/UniqueName.h"         // for UniqueName
    6565#include "Common/utility.h"            // for operator+, cloneAll, deleteAll
     66#include "CompilationState.h"          // skip some passes in new-ast build
    6667#include "Concurrency/Keywords.h"      // for applyKeywords
    6768#include "FixFunction.h"               // for FixFunction
     
    281282
    282283                void previsit( ObjectDecl * objDecl );
    283                 void previsit( ArrayType * arrayType );
     284                // void previsit( ArrayType * arrayType );
    284285        };
    285286
     
    368369                                mutateAll( translationUnit, compoundliteral );
    369370                        });
    370                         Stats::Time::TimeBlock("Resolve With Expressions", [&]() {
    371                                 ResolvExpr::resolveWithExprs( translationUnit ); // must happen before FixObjectType because user-code is resolved and may contain with variables
    372                         });
     371                        if (!useNewAST) {
     372                                Stats::Time::TimeBlock("Resolve With Expressions", [&]() {
     373                                        ResolvExpr::resolveWithExprs( translationUnit ); // must happen before FixObjectType because user-code is resolved and may contain with variables
     374                                });
     375                        }
    373376                }
    374377                {
    375378                        Stats::Heap::newPass("validate-F");
    376379                        Stats::Time::BlockGuard guard("validate-F");
    377                         Stats::Time::TimeCall("Fix Object Type",
    378                                 FixObjectType::fix, translationUnit);
     380                        if (!useNewAST) {
     381                                Stats::Time::TimeCall("Fix Object Type",
     382                                        FixObjectType::fix, translationUnit);
     383                        }
    379384                        Stats::Time::TimeCall("Array Length",
    380385                                ArrayLength::computeLength, translationUnit);
     
    383388                        Stats::Time::TimeCall("Fix Label Address",
    384389                                mutateAll<LabelAddressFixer>, translationUnit, labelAddrFixer);
    385                         Stats::Time::TimeCall("Handle Attributes",
    386                                 Validate::handleAttributes, translationUnit);
     390                        if (!useNewAST) {
     391                                Stats::Time::TimeCall("Handle Attributes",
     392                                        Validate::handleAttributes, translationUnit);
     393                        }
    387394                }
    388395        }
     
    13391346        }
    13401347
     1348        // xxx - this seems to be in HoistArrayDimension now.
     1349
     1350        /*
    13411351        void ArrayLength::previsit( ArrayType * type ) {
    13421352                if ( type->dimension ) {
     
    13501360                }
    13511361        }
     1362        */
    13521363
    13531364        struct LabelFinder {
Note: See TracChangeset for help on using the changeset viewer.