Comments (5)
Yeah, I think this sums it up:
SPIRV-Tools/source/opt/instruction.cpp
Line 804 in 0d87845
Can we return nullptr
at
new_const_inst
is null? Since there are known unsupported cases, it seems like we should, rather than crash.from spirv-tools.
removing OpCapability SignedZeroInfNanPreserve
will have it not crash
the fold logic is done in the function pointer returned from FoldQuantizeToF16Scalar
... but adding some printf
I see it is never actually invoked in the
for (auto rule : GetConstantFoldingRules().GetRulesForInstruction(inst)) {
folded_const = rule(context_, inst, constants);
logic
instead it gets to FoldFPUnaryOp
and fails in the
if (!inst->IsFloatingPointFoldingAllowed()) {
return nullptr;
}
call, which propagates all the badness that causes things to fail
from spirv-tools.
agree, I rather first not crash over anything
from spirv-tools.
@s-perron if this sounds like an acceptable change, I can put up a PR.
from spirv-tools.
Yes, please open a PR.
from spirv-tools.
Related Issues (20)
- Capability Stripping Pass doesn't seem to strip Int16 or Float16 HOT 1
- spirv-val: Not catching OOB access into an UniformConstant array HOT 9
- As part of https://github.com/KhronosGroup/SPIRV-Tools/pull/5426 the check for if "git" exists was removed. This is a bug
- spirv-val: Checks for operands of DebugTypePointer and DebugTypeQualifier are too strict
- Add iOS CMake build to CI HOT 2
- utils/update_build_version.py | DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated HOT 2
- [bug] Incorrect optimization on constant propagation and eliminate-local-multi-store HOT 2
- Compilation error after removing stage-specific debug info HOT 2
- trunk build breaks: src/SPIRV-Tools/test/enum_set_test.cpp:280:22: error: ‘LongConstantCompositeINTEL’ is not a member of ‘spv::Capability’; did you mean ‘LongCompositesINTEL’?
- A copy of what????? HOT 1
- spirv-val reports OpName and OpLine as not same section HOT 2
- About project version scheme HOT 2
- Fuzzer: CMake configuration failed for protobuf - fuzzer unbuildable HOT 1
- Issue with EliminateDeadOutputStores when reading from out variable HOT 1
- Need AppleSilicon or universal apps for all the spriv tools on macOS HOT 5
- Add CLI option to set CreateAggressiveDCEPass(true) HOT 7
- New spriv-cross not transpiling to "void" vertex functions for SSBO usage HOT 2
- spriv-tools build of spirv-cross is really old HOT 3
- Constant initialized global variable rewrites produce invalid IR HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spirv-tools.