mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-12-25 17:21:06 +00:00
Finalize 2017.1
Updated CHANGES to cover main updates since 2017.0
This commit is contained in:
parent
aec60b8158
commit
493c0883af
58
CHANGES
58
CHANGES
@ -1,33 +1,71 @@
|
||||
Revision history for SPIRV-Tools
|
||||
|
||||
v2017.1-dev 2017-09-01
|
||||
v2017.1 2017-11-23
|
||||
- Update README with details on the public_spirv_tools_dev@khronos.org mailing list.
|
||||
- General:
|
||||
- Automatically deploy built artifacts to GitHub Releases
|
||||
- Add a Linker (module combiner). Under development.
|
||||
- Add Android.mk for Android NDK builds.
|
||||
- Add the 'effcee' library as an optional dependency for use in tests.
|
||||
Eventually it will be a required dependency, once downstream projects have
|
||||
a chance to adjust.
|
||||
a chance to adjust. Requires 're2' library.
|
||||
- Avoid static-duration variables of class type (with constructors).
|
||||
- Hack around bugs in gcc-4.8.1 template handling
|
||||
- Faster opcode lookup
|
||||
- Validator:
|
||||
- Type check basic arithmetic operations
|
||||
- Type check Relational and Logical instructions
|
||||
- Type check Bit instructions
|
||||
- OpModuleProcessed is only allowed after debug names section and before annotations
|
||||
section.
|
||||
- Recognize extensions listed on SPIR-V registry,
|
||||
through #25 SPV_AMD_shader_fragment_mask
|
||||
- Validator issues an info message when it sees an unrecognized extension.
|
||||
- Type check basic arithmetic operations
|
||||
- Type check carry/extended arithmetic operations
|
||||
- Type check vector arithmetic operations
|
||||
- Type check Relational and Logical instructions
|
||||
- Type check Bit instructions
|
||||
- Check type uniqueness rules
|
||||
- Check conversion instructions
|
||||
- Check image instructions
|
||||
- Check derivative instructions
|
||||
- Check OpVectorShuffle
|
||||
- Check OpBranchConditional
|
||||
- OpModuleProcessed is only allowed after debug names section and before annotations
|
||||
section.
|
||||
- Checks the right kind of return is called for each function (void or non-void).
|
||||
- Add option to relax type check when storing structs (--relax-store-struct)
|
||||
- Optimizer:
|
||||
- Add eliminater-dead-function transform
|
||||
- Refactoring internal representation of the module, including:
|
||||
- IRContext: owns a module and manages analyses
|
||||
- Instructions are owned by intrusive lists, and have unique IDs
|
||||
- BasicBlock owns its instruction list.
|
||||
- DefUseManager: change representation of uses, for faster processing
|
||||
on large modules.
|
||||
- Add high level recipes: -O, -Os, and -Oconfig
|
||||
Recipes for -O and -Os are under development.
|
||||
- Add eliminate-dead-function transform
|
||||
- Add strength reduction transform: For now, convert multiply by power of 2
|
||||
to a bit shift.
|
||||
- Extract-insert elimination: Recognize the case where the first instruction
|
||||
in the sequence is an OpCompositeConstruct or OpConstantComposite
|
||||
- Add CFG cleanup transform
|
||||
- Add removal of dead module-scope variables
|
||||
- Add merge-return transform for modules without structured control flow
|
||||
- Add redundancy elimination within a basic block (local value numbering)
|
||||
- Extract-insert elimination:
|
||||
- Recognize the case where the first instruction in the sequence is an
|
||||
OpCompositeConstruct or OpConstantComposite
|
||||
- Handle some cases of nested structs
|
||||
- Dead branch elimination now can eliminate entire selection constructs
|
||||
when all arms are dead.
|
||||
- Compressing codec:
|
||||
- Updated algorithm to 1.01, 1.02, 1.03
|
||||
- Not built by default. Use -DSPIRV_BUILD_COMPRESSION=ON to build.
|
||||
- Codec can be parameterized by a customized model.
|
||||
- Fixes:
|
||||
#728: Fix decoration of inlined functions
|
||||
#798: spirv-as should fail when given unrecognized long option
|
||||
#800: Inliner: Fix inlining function into header of multi-block loop
|
||||
#824: Eliminate-local-multi-store: Fix a crash
|
||||
#826: Elimiante-local-multi-store: Fix a crash
|
||||
#827: Fix crash when compact-ids transform runs before another transform.
|
||||
#834: Add Cmake option to build the compressing codec. Off by default.
|
||||
#911: Fix classification of Line and NoLine instructions
|
||||
|
||||
v2017.0 2017-09-01
|
||||
- Update README to describe that assembler, disassembler, and binary parser support
|
||||
|
Loading…
Reference in New Issue
Block a user