Closed calewis closed 4 years ago
How do we distinguish between files that need to include and files that don't?
Well I don't believe we need compute.h or skeleton.h for memoization passes. So I think we should specialize the forced includes depending on which pass is run. @jjwilke
Okay, that makes sense. I'm going to change the name of the issue.
Sounds good
After looking at sstcclib.py and the include files, I think we need a better separation of build pipelines. We should move towards sst++ supporting different modes internally. That would make it easier to extend to other things such as shadows and puppets in the future. Right now sstcclib.py is hard to follow because the logic for what it is going to do is spread out quite a bit.
This has been done.
The following program:
is 17 lines long when prepossessed without the extra sst includes and is ~65k lines long when compute.h, skeleton.h, and cstdint are force included. We should avoid bringing these headers in unless they are needed. These are needed for skeletonization, but not for memoization.