@@ -298,6 +298,7 @@ class FuncExpr : public Expr {
298
298
FuncExpr (BaseFunc *func, Expr *orig, std::vector<types::Type *> types = {});
299
299
explicit FuncExpr (BaseFunc *func, std::vector<types::Type *> types = {});
300
300
BaseFunc *getFunc ();
301
+ std::vector<types::Type *> getTypes () const ;
301
302
bool isRealized () const ;
302
303
void setRealizeTypes (std::vector<types::Type *> types);
303
304
void resolveTypes () override ;
@@ -481,6 +482,7 @@ class CallExpr : public Expr {
481
482
CallExpr (Expr *func, std::vector<Expr *> args,
482
483
std::vector<std::string> names = {});
483
484
Expr *getFuncExpr () const ;
485
+ std::vector<Expr *> getArgs () const ;
484
486
void setFuncExpr (Expr *func);
485
487
void resolveTypes () override ;
486
488
llvm::Value *codegen0 (BaseFunc *base, llvm::BasicBlock *&block) override ;
@@ -498,6 +500,7 @@ class PartialCallExpr : public Expr {
498
500
PartialCallExpr (Expr *func, std::vector<Expr *> args,
499
501
std::vector<std::string> names = {});
500
502
Expr *getFuncExpr () const ;
503
+ std::vector<Expr *> getArgs () const ;
501
504
void setFuncExpr (Expr *func);
502
505
void resolveTypes () override ;
503
506
llvm::Value *codegen0 (BaseFunc *base, llvm::BasicBlock *&block) override ;
@@ -593,22 +596,6 @@ class TypeOfExpr : public Expr {
593
596
TypeOfExpr *clone (Generic *ref) override ;
594
597
};
595
598
596
- class PipeExpr : public Expr {
597
- private:
598
- std::vector<Expr *> stages;
599
- std::vector<bool > parallel;
600
-
601
- public:
602
- static const unsigned SCHED_WIDTH = 16 ;
603
- explicit PipeExpr (std::vector<Expr *> stages,
604
- std::vector<bool > parallel = {});
605
- void setParallel (unsigned which);
606
- void resolveTypes () override ;
607
- llvm::Value *codegen0 (BaseFunc *base, llvm::BasicBlock *&block) override ;
608
- types::Type *getType0 () const override ;
609
- PipeExpr *clone (Generic *ref) override ;
610
- };
611
-
612
599
} // namespace seq
613
600
614
601
#endif /* SEQ_EXPR_H */
0 commit comments