Currently by default we run absolutely everything we get given, which means you can get into infinite loops if the code is written that way. This is fine, it's being truthful to what's given and can be dealt with by an external timeout or process kill, but it would be useful if a more nuanced restriction could be set in place.
Create an API where someone can define very specifically what LLVM and QIR instructions should be allowed to be parsed and it will throw if these are seen. This should only affect primary statements, things like GEP should just be allowed in general.
Step limit has been added which supersedes this. Limitations on instructions aren't that helpful, but you do want to be able to give it a limit on how long it runs in certain situations.
Currently by default we run absolutely everything we get given, which means you can get into infinite loops if the code is written that way. This is fine, it's being truthful to what's given and can be dealt with by an external timeout or process kill, but it would be useful if a more nuanced restriction could be set in place.
Create an API where someone can define very specifically what LLVM and QIR instructions should be allowed to be parsed and it will throw if these are seen. This should only affect primary statements, things like GEP should just be allowed in general.
By default all instructions should be allowed.