diff options
author | Umar Arshad <umar@arrayfire.com> | 2015-11-18 15:43:43 -0500 |
---|---|---|
committer | David Neto <dneto@google.com> | 2015-12-09 16:15:00 -0500 |
commit | f76e0f5231302e4f0ae45910f728eaa9c3c76b65 (patch) | |
tree | 575a99735218ef60690df4a235bdc44b0a50ac9d /.gitignore | |
parent | 4e5bc928c0430b6015bd7836c598113f7076af20 (diff) |
Basic SSA Validation
Most uses of an ID must occur after the definition
of the ID. Forward references are allowed for
things like OpName, OpDecorate, and various cases
of control-flow instructions such as OpBranch, OpPhi,
and OpFunctionCall.
TODO: Use CFG analysis for SSA checks. In particular,
an ID defined inside a function body is only usable inside
that function body. Also, use dominator info to catch
some failing cases.
Also:
* Validator test cases use (standard) assignment form.
* Update style to more closely follow the Google C++ style guide
* Remove color-diagnostics flag.
This is enabled by default on terminals with color. Prints
hidden ASCII for terminals that can't handle color(Emacs)
* Pass functors to SSAPass to check if the
operand can be forward referenced based on its index value
* Return SPV_ERROR_INVALID_ID for ID related errors
spvBinaryParse returned SPV_ERROR_INVALID_BINARY for all types of
errors. Since spvBinaryParse does some ID validation, this was
returning inappropriate error codes for some tests.
* Common fixture for validation tests.
It only runs certian validation passes.
* Add a SPV_VALIDATE_SSA_BIT for testing purposes
* Fixtures now return error codes
* Add OpName support in diag message and unit tests
* Binary parsing can fail with invalid ID or invalid binary error code
Tests include:
* OpDecorate
* OpName
* OpMemberName
* OpBranchConditional
* OpSelectionMerge
* OpMemberDecorate
* OpGroupDecorate
* OpDeviceEnqueue
* Enable several tests failing in ID validation.
Diffstat (limited to '.gitignore')
-rw-r--r-- | .gitignore | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1,3 +1,6 @@ build* .ycm_extra_conf.py* compile_commands.json +/external/googletest/ +/TAGS +/.clang_complete |