diff options
Diffstat (limited to 'source/slang/ir-validate.h')
| -rw-r--r-- | source/slang/ir-validate.h | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/source/slang/ir-validate.h b/source/slang/ir-validate.h deleted file mode 100644 index 1cb30961d..000000000 --- a/source/slang/ir-validate.h +++ /dev/null @@ -1,35 +0,0 @@ -// ir-validate.h -#pragma once - -namespace Slang -{ - class CompileRequestBase; - class DiagnosticSink; - struct IRModule; - - - // Validate that an IR module obeys the invariants we need to enforce. - // For example: - // - // * Confirm that linked lists for children and for use-def chains are consistent - // (e.g., x.next.prev == x) - // - // * Confirm that parent/child relationships are correct (e.g., if is `x` is in - // `y.children`, then `x.parent == y` - // - // * Confirm that every operand of an instruction is valid to reference (i.e., it - // must either be defined earlier in the same block, in a different block that - // dominates the current one, or in a parent instruction of the block. - // - // * Confirm that every block ends with a terminator, and there are no terminators - // elsewhere in a block. - // - // * Confirm that all the parameters of a block come before any "ordinary" instructions. - void validateIRModule(IRModule* module, DiagnosticSink* sink); - - // A wrapper that calls `validateIRModule` only when IR validation is enabled - // for the given compile request. - void validateIRModuleIfEnabled( - CompileRequestBase* compileRequest, - IRModule* module); -} |
