Replies: 2 comments 3 replies
-
Can those header defs be loaded with protobuf, similar to the simplification rules? An unused-library-code-removal pass would be a good addition. The java frontend could also use this, provided it's implemented as a generic COL thing. Edit: just an annoying nitpick, but I figured it's worth pointing out:
Doing this analysis without parsing (so essentially doing some hand written regex matching) sounds like a bad idea to me... Though I admit parsing is becoming a problem, even for veymont development atm, which only involves pvl definitions... |
Beta Was this translation helpful? Give feedback.
-
Hmm, I'm unsure? The headers are now just plain
Yeah fair. Maybe using (what I think Ömer told us, the company he was visiting suggested?), the parser from clang, to minimize our AST, and then actual parse it? or maybe, just really investigate how parsing can be improved. :p |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
With a lot of my Halide/HaliVer examples, VerCors takes more time to process the file than the actual verification of Viper.
One culprit here is that I'm always including a lot of header files, since many might be needed.
VerCors will than use all the definitions in the header files and process them.
I think it might be nice to mark global declarations with "/@library@/" or something similar, telling VerCors to remove these declarations/definitions if they are never used in non-library code. This way we need to do way less checking. See it as a remove dead code pass from a regular compiler.
Even better would be if this code was removed before the parsing stage, since parsing is so slow for these things.
Beta Was this translation helpful? Give feedback.
All reactions