The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.
For further technical details on the meaning of columns in the below table, please see the Glossary .
Func name | Functions filename | Args | Function call depth | Reached by Fuzzers | Fuzzers runtime hit | Func lines hit % | I Count | BB Count | Cyclomatic complexity | Functions reached | Reached by functions | Accumulated cyclomatic complexity | Undiscovered complexity |
---|
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
The distribution of callsites in terms of coloring is
Color | Runtime hitcount | Callsite count | Percentage |
---|---|---|---|
red | 0 | 23 | 9.01% |
gold | [1:9] | 23 | 9.01% |
yellow | [10:29] | 7 | 2.74% |
greenyellow | [30:49] | 20 | 7.84% |
lawngreen | 50+ | 182 | 71.3% |
All colors | 255 | 100 |
The followings are the branches where fuzzer fails to bypass.
Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch |
---|---|---|---|---|---|---|---|
2 | 12 |
4 :
['spvtools::DiagnosticStream::~DiagnosticStream()', '(anonymous namespace)::Parser::diagnostic(spv_result_t)', 'spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<<
|
2 | 12 |
(anonymousnamespace)::Parser::parseOperand(unsignedlong,spv_parsed_instruction_t*,spv_operand_type_t,std::__1::vector
|
call site: 00000 | /src/spirv-tools/source/binary.cpp:526 |
0 | 0 | None | 0 | 444 | (anonymousnamespace)::Parser::parseModule() | call site: 00000 | /src/spirv-tools/source/binary.cpp:274 |
0 | 0 | None | 0 | 0 | spvBinaryHeaderGet(spv_const_binary_t*,spv_endianness_t,spv_header_t*) | call site: 00000 | /src/spirv-tools/source/binary.cpp:42 |
0 | 0 | None | 0 | 0 | (anonymousnamespace)::Parser::parseInstruction() | call site: 00000 | /src/spirv-tools/source/binary.cpp:408 |
0 | 0 |
3 :
['std::__1::vector
|
0 | 0 |
(anonymousnamespace)::Parser::parseOperand(unsignedlong,spv_parsed_instruction_t*,spv_operand_type_t,std::__1::vector
|
call site: 00000 | /src/spirv-tools/source/binary.cpp:751 |
0 | 0 | None | 0 | 0 | spvtools::DiagnosticStream::~DiagnosticStream() | call site: 00000 | /src/spirv-tools/source/diagnostic.cpp:88 |
0 | 0 | None | 0 | 0 | spvOpcodeString | call site: 00087 | /src/spirv-tools/source/opcode.cpp:199 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
/src/spirv-tools/test/fuzzers/spvtools_binary_parser_fuzzer.cpp | 1 |
/src/spirv-tools/test/fuzzers/random_generator.cpp | 7 |
/src/spirv-tools/test/fuzzers/random_generator.h | 1 |
/src/spirv-tools/source/spirv_target_env.cpp | 2 |
/src/spirv-tools/source/table.cpp | 3 |
/src/spirv-tools/source/opcode.cpp | 6 |
/src/spirv-tools/source/operand.cpp | 10 |
/src/spirv-tools/source/ext_inst.cpp | 4 |
/src/spirv-tools/source/binary.cpp | 18 |
/src/spirv-tools/source/table.h | 2 |
/src/spirv-tools/source/diagnostic.cpp | 2 |
/src/spirv-tools/source/assembly_grammar.h | 1 |
/src/spirv-tools/source/diagnostic.h | 33 |
/src/spirv-tools/source/spirv_endian.cpp | 3 |
/src/spirv-tools/source/assembly_grammar.cpp | 4 |
/src/spirv-tools/source/util/string_utils.h | 2 |
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
The distribution of callsites in terms of coloring is
Color | Runtime hitcount | Callsite count | Percentage |
---|---|---|---|
red | 0 | 36 | 6.87% |
gold | [1:9] | 18 | 3.43% |
yellow | [10:29] | 34 | 6.48% |
greenyellow | [30:49] | 13 | 2.48% |
lawngreen | 50+ | 423 | 80.7% |
All colors | 524 | 100 |
The followings are the branches where fuzzer fails to bypass.
Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch |
---|---|---|---|---|---|---|---|
2 | 2 |
1 :
['spvtools::utils::HexFloat
|
2 | 4 |
spvtools::utils::HexFloat
|
call site: 00000 | /src/spirv-tools/source/util/hex_float.h:624 |
0 | 103 |
7 :
['spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<<
|
0 | 103 |
spvTextEncodeOperand(spvtools::AssemblyGrammarconst&,spvtools::AssemblyContext*,spv_operand_type_t,charconst*,spv_instruction_t*,std::__1::vector
|
call site: 00000 | /src/spirv-tools/source/text.cpp:448 |
0 | 12 |
4 :
['spvtools::DiagnosticStream::~DiagnosticStream()', 'spvtools::AssemblyContext::diagnostic(spv_result_t)', 'spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<<
|
0 | 12 |
spvTextEncodeOperand(spvtools::AssemblyGrammarconst&,spvtools::AssemblyContext*,spv_operand_type_t,charconst*,spv_instruction_t*,std::__1::vector
|
call site: 00000 | /src/spirv-tools/source/text.cpp:289 |
0 | 12 |
3 :
['spvtools::utils::(anonymous namespace)::ErrorMsgStream::~ErrorMsgStream()', 'spvtools::utils::(anonymous namespace)::ErrorMsgStream& spvtools::utils::(anonymous namespace)::ErrorMsgStream::operator<<
|
0 | 12 |
spvtools::utils::ParseAndEncodeNumber(charconst*,spvtools::utils::NumberTypeconst&,std::__1::function
|
call site: 00000 | /src/spirv-tools/source/util/parse_number.cpp:201 |
0 | 0 | None | 6 | 1187 |
(anonymousnamespace)::GetNumericIds(spvtools::AssemblyGrammarconst&,std::__1::function
|
call site: 00000 | /src/spirv-tools/source/text.cpp:712 |
0 | 0 | None | 6 | 44 |
std::__1::basic_istream
|
call site: 00000 | /src/spirv-tools/source/util/hex_float.h:1046 |
0 | 0 | None | 6 | 44 |
std::__1::basic_istream
|
call site: 00000 | /src/spirv-tools/source/util/hex_float.h:1046 |
0 | 0 | None | 4 | 1216 |
(anonymousnamespace)::spvTextToBinaryInternal(spvtools::AssemblyGrammarconst&,std::__1::function
|
call site: 00000 | /src/spirv-tools/source/text.cpp:762 |
0 | 0 | None | 4 | 25 |
std::__1::basic_istream
|
call site: 00000 | /src/spirv-tools/source/util/hex_float.h:1081 |
0 | 0 | None | 4 | 25 |
std::__1::basic_istream
|
call site: 00000 | /src/spirv-tools/source/util/hex_float.h:1081 |
0 | 0 | None | 2 | 2 | spvDiagnosticCreate | call site: 00000 | /src/spirv-tools/source/diagnostic.cpp:33 |
0 | 0 | None | 2 | 2 |
(anonymousnamespace)::spvTextToBinaryInternal(spvtools::AssemblyGrammarconst&,std::__1::function
|
call site: 00000 | /src/spirv-tools/source/text.cpp:797 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
/src/spirv-tools/test/fuzzers/spvtools_as_fuzzer.cpp | 1 |
/src/spirv-tools/test/fuzzers/random_generator.cpp | 7 |
/src/spirv-tools/test/fuzzers/random_generator.h | 1 |
/src/spirv-tools/source/spirv_target_env.cpp | 2 |
/src/spirv-tools/source/table.cpp | 3 |
/src/spirv-tools/source/opcode.cpp | 5 |
/src/spirv-tools/source/operand.cpp | 10 |
/src/spirv-tools/source/ext_inst.cpp | 4 |
/src/spirv-tools/source/text.cpp | 11 |
/src/spirv-tools/source/table.h | 2 |
/src/spirv-tools/source/diagnostic.cpp | 4 |
/src/spirv-tools/source/assembly_grammar.h | 2 |
/src/spirv-tools/source/text_handler.h | 9 |
/src/spirv-tools/source/diagnostic.h | 38 |
/src/spirv-tools/source/assembly_grammar.cpp | 9 |
/src/spirv-tools/source/text_handler.cpp | 23 |
/src/spirv-tools/source/instruction.h | 3 |
/src/spirv-tools/source/util/parse_number.h | 14 |
/src/spirv-tools/source/text.h | 2 |
/src/spirv-tools/source/util/parse_number.cpp | 7 |
/src/spirv-tools/source/util/make_unique.h | 1 |
/src/spirv-tools/source/util/hex_float.h | 42 |
/src/spirv-tools/source/util/bitutils.h | 4 |
/src/spirv-tools/source/util/string_utils.h | 1 |
/src/spirv-tools/source/binary.cpp | 1 |
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
The distribution of callsites in terms of coloring is
Color | Runtime hitcount | Callsite count | Percentage |
---|---|---|---|
red | 0 | 26 | 6.71% |
gold | [1:9] | 0 | 0.0% |
yellow | [10:29] | 0 | 0.0% |
greenyellow | [30:49] | 0 | 0.0% |
lawngreen | 50+ | 361 | 93.2% |
All colors | 387 | 100 |
The followings are the branches where fuzzer fails to bypass.
Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch |
---|---|---|---|---|---|---|---|
2 | 12 |
4 :
['spvtools::DiagnosticStream::~DiagnosticStream()', '(anonymous namespace)::Parser::diagnostic(spv_result_t)', 'spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<<
|
2 | 12 |
(anonymousnamespace)::Parser::parseOperand(unsignedlong,spv_parsed_instruction_t*,spv_operand_type_t,std::__1::vector
|
call site: 00000 | /src/spirv-tools/source/binary.cpp:526 |
0 | 60 |
1 :
['spvtools::disassemble::InstructionDisassembler::EmitMaskOperand(spv_operand_type_t, unsigned int)'] |
0 | 65 | spvtools::disassemble::InstructionDisassembler::EmitOperand(spv_parsed_instruction_tconst&,unsignedshort) | call site: 00000 | /src/spirv-tools/source/disassemble.cpp:430 |
0 | 2 |
3 :
['std::__1::basic_string
|
0 | 2 | spvtools::FriendlyNameMapper::NameForEnumOperand(spv_operand_type_t,unsignedint) | call site: 00000 | /src/spirv-tools/source/name_mapper.cpp:323 |
0 | 0 |
1 :
['std::__1::function
|
25 | 56 | spvtools::disassemble::InstructionDisassembler::EmitSectionComment(spv_parsed_instruction_tconst&,bool&,bool&,bool&) | call site: 00000 | /src/spirv-tools/source/disassemble.cpp:294 |
0 | 0 | None | 13 | 44 | spvtools::disassemble::InstructionDisassembler::EmitSectionComment(spv_parsed_instruction_tconst&,bool&,bool&,bool&) | call site: 00000 | /src/spirv-tools/source/disassemble.cpp:299 |
0 | 0 | None | 2 | 2 | spvDiagnosticCreate | call site: 00000 | /src/spirv-tools/source/diagnostic.cpp:33 |
0 | 0 | None | 0 | 31 | spvtools::disassemble::InstructionDisassembler::EmitSectionComment(spv_parsed_instruction_tconst&,bool&,bool&,bool&) | call site: 00000 | /src/spirv-tools/source/disassemble.cpp:305 |
0 | 0 |
1 :
['std::__1::basic_ostream
|
0 | 10 | spvtools::disassemble::InstructionDisassembler::EmitInstruction(spv_parsed_instruction_tconst&,unsignedlong) | call site: 00000 | /src/spirv-tools/source/disassemble.cpp:271 |
0 | 0 | None | 0 | 5 | spvtools::disassemble::InstructionDisassembler::EmitOperand(spv_parsed_instruction_tconst&,unsignedshort) | call site: 00000 | /src/spirv-tools/source/disassemble.cpp:344 |
0 | 0 | None | 0 | 0 | spvBinaryHeaderGet(spv_const_binary_t*,spv_endianness_t,spv_header_t*) | call site: 00000 | /src/spirv-tools/source/binary.cpp:42 |
0 | 0 | None | 0 | 0 | (anonymousnamespace)::Parser::parseModule() | call site: 00000 | /src/spirv-tools/source/binary.cpp:275 |
0 | 0 |
3 :
['std::__1::vector
|
0 | 0 |
(anonymousnamespace)::Parser::parseOperand(unsignedlong,spv_parsed_instruction_t*,spv_operand_type_t,std::__1::vector
|
call site: 00000 | /src/spirv-tools/source/binary.cpp:751 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
/src/spirv-tools/test/fuzzers/spvtools_dis_fuzzer.cpp | 1 |
/src/spirv-tools/test/fuzzers/random_generator.cpp | 7 |
/src/spirv-tools/test/fuzzers/random_generator.h | 1 |
/src/spirv-tools/source/spirv_target_env.cpp | 2 |
/src/spirv-tools/source/table.cpp | 3 |
/src/spirv-tools/source/opcode.cpp | 7 |
/src/spirv-tools/source/operand.cpp | 10 |
/src/spirv-tools/source/ext_inst.cpp | 4 |
/src/spirv-tools/source/disassemble.cpp | 12 |
/src/spirv-tools/source/table.h | 2 |
/src/spirv-tools/source/diagnostic.cpp | 3 |
/src/spirv-tools/source/assembly_grammar.h | 1 |
/src/spirv-tools/source/assembly_grammar.cpp | 5 |
/src/spirv-tools/source/name_mapper.cpp | 9 |
/src/spirv-tools/source/util/make_unique.h | 1 |
/src/spirv-tools/source/binary.cpp | 19 |
/src/spirv-tools/source/diagnostic.h | 33 |
/src/spirv-tools/source/spirv_endian.cpp | 3 |
/src/spirv-tools/source/util/string_utils.h | 2 |
/src/spirv-tools/source/name_mapper.h | 2 |
/src/spirv-tools/source/parsed_operand.cpp | 1 |
/src/spirv-tools/source/util/hex_float.h | 3 |
/src/spirv-tools/source/print.h | 2 |
/src/spirv-tools/source/disassemble.h | 1 |
/src/spirv-tools/source/text.cpp | 1 |
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
The distribution of callsites in terms of coloring is
Color | Runtime hitcount | Callsite count | Percentage |
---|---|---|---|
red | 0 | 6011 | 63.4% |
gold | [1:9] | 1078 | 11.3% |
yellow | [10:29] | 332 | 3.50% |
greenyellow | [30:49] | 99 | 1.04% |
lawngreen | 50+ | 1958 | 20.6% |
All colors | 9478 | 100 |
The followings are the branches where fuzzer fails to bypass.
Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch |
---|---|---|---|---|---|---|---|
965 | 971 |
8 :
['spvtools::val::ValidationState_t::ordered_instructions() const', 'std::__1::vector
|
965 | 971 | spvtools::val::ValidateInterfaces(spvtools::val::ValidationState_t&) | call site: 00000 | /src/spirv-tools/source/val/validate_interfaces.cpp:552 |
818 | 818 |
1 :
['spvtools::val::ValidationState_t::CooperativeMatrixShapesMatch(spvtools::val::Instruction const*, unsigned int, unsigned int)'] |
818 | 2511 | spvtools::val::ConversionPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_conversion.cpp:143 |
818 | 818 |
1 :
['spvtools::val::ValidationState_t::CooperativeMatrixShapesMatch(spvtools::val::Instruction const*, unsigned int, unsigned int)'] |
818 | 2511 | spvtools::val::ConversionPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_conversion.cpp:214 |
818 | 818 |
1 :
['spvtools::val::ValidationState_t::CooperativeMatrixShapesMatch(spvtools::val::Instruction const*, unsigned int, unsigned int)'] |
818 | 1677 | spvtools::val::ConversionPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_conversion.cpp:50 |
818 | 818 |
1 :
['spvtools::val::ValidationState_t::CooperativeMatrixShapesMatch(spvtools::val::Instruction const*, unsigned int, unsigned int)'] |
818 | 1677 | spvtools::val::ConversionPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_conversion.cpp:80 |
818 | 818 |
1 :
['spvtools::val::ValidationState_t::CooperativeMatrixShapesMatch(spvtools::val::Instruction const*, unsigned int, unsigned int)'] |
818 | 1677 | spvtools::val::ConversionPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_conversion.cpp:112 |
79 | 123 |
21 :
['spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<<
|
94 | 19359 | spvtools::val::(anonymousnamespace)::ValidateVariable(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_memory.cpp:539 |
68 | 31558 |
64 :
['spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<<
|
68 | 31558 | spvtools::val::(anonymousnamespace)::ValidateImageOperands(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*,spvtools::val::(anonymousnamespace)::ImageTypeInfoconst&,unsignedint) | call site: 00000 | /src/spirv-tools/source/val/validate_image.cpp:291 |
58 | 62 |
4 :
['spvtools::val::(anonymous namespace)::IsSupportGuaranteedVulkan_1_2(unsigned int)', 'spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<<
|
199 | 960 | spvtools::val::CapabilityPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_capability.cpp:336 |
54 | 54 |
2 :
['spvtools::val::(anonymous namespace)::IsSupportOptionalVulkan_1_1(unsigned int)', 'spvtools::val::(anonymous namespace)::IsSupportGuaranteedVulkan_1_1(unsigned int)'] |
195 | 956 | spvtools::val::CapabilityPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_capability.cpp:327 |
50 | 50 |
2 :
['spvtools::val::(anonymous namespace)::IsSupportGuaranteedVulkan_1_0(unsigned int)', 'spvtools::val::(anonymous namespace)::IsSupportOptionalVulkan_1_0(unsigned int)'] |
191 | 952 | spvtools::val::CapabilityPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_capability.cpp:318 |
46 | 1106 |
9 :
['spvtools::val::(anonymous namespace)::AreLayoutCompatibleStructs(spvtools::val::ValidationState_t&, spvtools::val::Instruction const*, spvtools::val::Instruction const*)', 'spvtools::val::ValidationState_t::ContainsLimitedUseIntOrFloatType(unsigned int) const', 'spvtools::val::Instruction::type_id() const', 'spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<<
|
46 | 2624 | spvtools::val::(anonymousnamespace)::ValidateStore(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/val/validate_memory.cpp:1070 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
/src/spirv-tools/test/fuzzers/spvtools_val_fuzzer.cpp | 1 |
/src/spirv-tools/test/fuzzers/random_generator.cpp | 7 |
/src/spirv-tools/test/fuzzers/random_generator.h | 1 |
/src/spirv-tools/source/spirv_target_env.cpp | 7 |
/src/spirv-tools/source/libspirv.cpp | 6 |
/src/spirv-tools/source/table.cpp | 3 |
/src/spirv-tools/source/opcode.cpp | 21 |
/src/spirv-tools/source/operand.cpp | 13 |
/src/spirv-tools/source/ext_inst.cpp | 5 |
/src/spirv-tools/source/val/validate.cpp | 7 |
/src/spirv-tools/source/table.h | 2 |
/src/spirv-tools/source/diagnostic.cpp | 4 |
/src/spirv-tools/source/spirv_validator_options.cpp | 2 |
/src/spirv-tools/source/spirv_validator_options.h | 2 |
/src/spirv-tools/source/val/validation_state.cpp | 83 |
/src/spirv-tools/source/enum_set.h | 18 |
/src/spirv-tools/source/assembly_grammar.h | 2 |
/src/spirv-tools/source/val/validation_state.h | 54 |
/src/spirv-tools/source/binary.cpp | 19 |
/src/spirv-tools/source/diagnostic.h | 120 |
/src/spirv-tools/source/spirv_endian.cpp | 3 |
/src/spirv-tools/source/assembly_grammar.cpp | 5 |
/src/spirv-tools/source/util/string_utils.h | 5 |
/src/spirv-tools/source/name_mapper.cpp | 9 |
/src/spirv-tools/source/util/make_unique.h | 2 |
/src/spirv-tools/source/name_mapper.h | 2 |
/src/spirv-tools/source/parsed_operand.cpp | 1 |
/src/spirv-tools/source/util/hex_float.h | 3 |
/src/spirv-tools/source/extensions.cpp | 2 |
/src/spirv-tools/build/enum_string_mapping.inc | 2 |
/src/spirv-tools/source/val/instruction.h | 29 |
/src/spirv-tools/source/val/instruction.cpp | 2 |
/src/spirv-tools/source/disassemble.cpp | 8 |
/src/spirv-tools/source/print.h | 2 |
/src/spirv-tools/source/text.cpp | 1 |
/src/spirv-tools/source/disassemble.h | 1 |
/src/spirv-tools/source/val/function.h | 8 |
/src/spirv-tools/source/val/function.cpp | 30 |
/src/spirv-tools/source/val/basic_block.h | 19 |
/src/spirv-tools/source/val/validate_id.cpp | 3 |
/src/spirv-tools/source/val/validate_capability.cpp | 15 |
/src/spirv-tools/source/val/validate_layout.cpp | 3 |
/src/spirv-tools/source/cfa.h | 7 |
/src/spirv-tools/source/val/validate_cfg.cpp | 21 |
/src/spirv-tools/source/val/basic_block.cpp | 18 |
/src/spirv-tools/source/val/construct.cpp | 13 |
/src/spirv-tools/source/val/construct.h | 3 |
/src/spirv-tools/source/val/validate_instruction.cpp | 13 |
/src/spirv-tools/source/util/string_utils.cpp | 1 |
/src/spirv-tools/source/val/validate_misc.cpp | 5 |
/src/spirv-tools/source/val/validate_scopes.cpp | 9 |
/src/spirv-tools/source/val/validate_debug.cpp | 3 |
/src/spirv-tools/source/val/validate_annotation.cpp | 13 |
/src/spirv-tools/source/val/decoration.h | 7 |
/src/spirv-tools/source/val/validate_extensions.cpp | 44 |
/src/spirv-tools/source/val/validate_mode_setting.cpp | 4 |
/src/spirv-tools/source/val/validate_type.cpp | 14 |
/src/spirv-tools/source/val/validate_constants.cpp | 8 |
/src/spirv-tools/source/val/validate_memory.cpp | 26 |
/src/spirv-tools/source/val/validate_function.cpp | 5 |
/src/spirv-tools/source/val/validate_image.cpp | 37 |
/src/spirv-tools/external/spirv-headers/include/spirv/unified1/spirv.hpp11 | 2 |
/src/spirv-tools/source/util/bitutils.h | 1 |
/src/spirv-tools/source/val/validate_conversion.cpp | 1 |
/src/spirv-tools/source/val/validate_composites.cpp | 11 |
/src/spirv-tools/source/val/validate_arithmetics.cpp | 2 |
/src/spirv-tools/source/val/validate_bitwise.cpp | 2 |
/src/spirv-tools/source/val/validate_logicals.cpp | 2 |
/src/spirv-tools/source/val/validate_derivatives.cpp | 1 |
/src/spirv-tools/source/val/validate_atomics.cpp | 7 |
/src/spirv-tools/source/val/validate_memory_semantics.cpp | 1 |
/src/spirv-tools/source/val/validate_primitives.cpp | 1 |
/src/spirv-tools/source/val/validate_barriers.cpp | 1 |
/src/spirv-tools/source/val/validate_non_uniform.cpp | 3 |
/src/spirv-tools/source/val/validate_literals.cpp | 3 |
/src/spirv-tools/source/val/validate_ray_query.cpp | 3 |
/src/spirv-tools/source/val/validate_ray_tracing.cpp | 1 |
/src/spirv-tools/source/val/validate_ray_tracing_reorder.cpp | 8 |
/src/spirv-tools/source/val/validate_mesh_shading.cpp | 1 |
/src/spirv-tools/source/val/validate_adjacency.cpp | 1 |
/src/spirv-tools/source/val/validate_decorations.cpp | 38 |
/src/spirv-tools/source/val/validate_interfaces.cpp | 7 |
/src/spirv-tools/source/val/validate_builtins.cpp | 108 |
/src/spirv-tools/source/val/validate_execution_limitations.cpp | 1 |
/src/spirv-tools/source/val/validate_small_type_uses.cpp | 1 |
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
The distribution of callsites in terms of coloring is
Color | Runtime hitcount | Callsite count | Percentage |
---|---|---|---|
red | 0 | 6226 | 62.9% |
gold | [1:9] | 1146 | 11.5% |
yellow | [10:29] | 220 | 2.22% |
greenyellow | [30:49] | 62 | 0.62% |
lawngreen | 50+ | 2243 | 22.6% |
All colors | 9897 | 100 |
The followings are the branches where fuzzer fails to bypass.
Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch |
---|---|---|---|---|---|---|---|
2260 | 2300 |
9 :
['spvtools::opt::analysis::DebugInfoManager::CloneDebugInlinedAt(unsigned int, spvtools::opt::Instruction*)', 'spvtools::opt::analysis::(anonymous namespace)::GetInlinedOperand(spvtools::opt::Instruction*)', 'spvtools::opt::analysis::DebugInlinedAtContext::SetDebugInlinedAtChain(unsigned int, unsigned int)', 'spvtools::opt::analysis::(anonymous namespace)::SetInlinedOperand(spvtools::opt::Instruction*, unsigned int)', 'spvtools::opt::analysis::DebugInlinedAtContext::GetDebugInlinedAtChain(unsigned int)', 'spvtools::opt::analysis::DebugInfoManager::CreateDebugInlinedAt(spvtools::opt::Instruction const*, spvtools::opt::DebugScope const&)', 'spvtools::opt::Instruction::result_id() const', 'spvtools::opt::analysis::DebugInlinedAtContext::GetLineOfCallInstruction()', 'spvtools::opt::analysis::DebugInlinedAtContext::GetScopeOfCallInstruction()'] |
2260 | 2300 | spvtools::opt::analysis::DebugInfoManager::BuildDebugInlinedAtChain(unsignedint,spvtools::opt::analysis::DebugInlinedAtContext*) | call site: 00000 | /src/spirv-tools/source/opt/debug_info_manager.cpp:277 |
1399 | 1399 |
1 :
['spvtools::opt::ScalarReplacementPass::ReplaceWholeDebugDeclare(spvtools::opt::Instruction*, std::__1::vector
|
1399 | 1399 |
spvtools::opt::ScalarReplacementPass::ReplaceVariable(spvtools::opt::Instruction*,std::__1::queue
|
call site: 00000 | /src/spirv-tools/source/opt/scalar_replacement_pass.cpp:93 |
1342 | 1342 |
1 :
['spvtools::opt::CFG::SplitLoopHeader(spvtools::opt::BasicBlock*)'] |
1350 | 3837 |
spvtools::opt::MergeReturnPass::BreakFromConstruct(spvtools::opt::BasicBlock*,std::__1::unordered_set
|
call site: 00000 | /src/spirv-tools/source/opt/merge_return_pass.cpp:461 |
1342 | 1342 |
1 :
['spvtools::opt::CFG::SplitLoopHeader(spvtools::opt::BasicBlock*)'] |
1346 | 1952 | spvtools::opt::MergeReturnPass::BranchToBlock(spvtools::opt::BasicBlock*,unsignedint) | call site: 00000 | /src/spirv-tools/source/opt/merge_return_pass.cpp:248 |
1276 | 1552 |
2 :
['spvtools::opt::analysis::DebugInfoManager::ConvertDebugGlobalToLocalVariable(spvtools::opt::Instruction*, spvtools::opt::Instruction*)', 'spvtools::opt::IRContext::get_debug_info_mgr()'] |
1276 | 1554 | spvtools::opt::PrivateToLocalPass::UpdateUse(spvtools::opt::Instruction*,spvtools::opt::Instruction*) | call site: 00000 | /src/spirv-tools/source/opt/private_to_local_pass.cpp:184 |
1238 | 1246 |
9 :
['std::__1::set
|
1238 | 1246 | spvtools::opt::analysis::DebugInfoManager::AddDebugValueForVariable(spvtools::opt::Instruction*,unsignedint,unsignedint,spvtools::opt::Instruction*) | call site: 00000 | /src/spirv-tools/source/opt/debug_info_manager.cpp:568 |
1235 | 2180 |
13 :
['std::__1::vector
|
1235 | 2182 | spvtools::opt::CopyPropagateArrays::BuildNewAccessChain(spvtools::opt::Instruction*,spvtools::opt::CopyPropagateArrays::MemoryObject*)const | call site: 00000 | /src/spirv-tools/source/opt/copy_prop_arrays.cpp:150 |
1202 | 1202 |
1 :
['spvtools::opt::ScalarReplacementPass::ReplaceWholeDebugValue(spvtools::opt::Instruction*, std::__1::vector
|
1202 | 1202 |
spvtools::opt::ScalarReplacementPass::ReplaceVariable(spvtools::opt::Instruction*,std::__1::queue
|
call site: 00000 | /src/spirv-tools/source/opt/scalar_replacement_pass.cpp:100 |
1009 | 1287 |
3 :
['spvtools::opt::Pass::context() const', 'spvtools::opt::analysis::DebugInfoManager::GetDebugInfoNone()', 'spvtools::opt::IRContext::get_debug_info_mgr()'] |
1009 | 1539 | spvtools::opt::AggressiveDCEPass::InitializeModuleScopeLiveInstructions() | call site: 00000 | /src/spirv-tools/source/opt/aggressive_dead_code_elim_pass.cpp:639 |
965 | 971 |
8 :
['spvtools::val::ValidationState_t::ordered_instructions() const', 'std::__1::vector
|
965 | 971 | spvtools::val::ValidateInterfaces(spvtools::val::ValidationState_t&) | call site: 00000 | /src/spirv-tools/source/val/validate_interfaces.cpp:552 |
881 | 881 |
1 :
['spvtools::opt::MergeReturnPass::MergeReturnBlocks(spvtools::opt::Function*, std::__1::vector
|
881 | 881 | spvtools::opt::MergeReturnPass::Process()::$_0::operator()(spvtools::opt::Function*)const | call site: 00000 | /src/spirv-tools/source/opt/merge_return_pass.cpp:56 |
823 | 825 |
9 :
['spvtools::opt::Instruction::PrettyPrint(unsigned int) const', 'std::__1::unordered_map
|
823 | 825 | spvtools::opt::InlinePass::IsInlinableFunctionCall(spvtools::opt::Instructionconst*) | call site: 00000 | /src/spirv-tools/source/opt/inline_pass.cpp:709 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
/src/spirv-tools/test/fuzzers/spvtools_opt_size_fuzzer.cpp | 1 |
/src/spirv-tools/test/fuzzers/spvtools_opt_fuzzer_common.cpp | 1 |
/src/spirv-tools/test/fuzzers/random_generator.cpp | 7 |
/src/spirv-tools/test/fuzzers/random_generator.h | 1 |
/src/spirv-tools/source/spirv_target_env.cpp | 7 |
/src/spirv-tools/source/opt/optimizer.cpp | 6 |
/src/spirv-tools/source/opt/pass_manager.h | 7 |
/src/spirv-tools/source/opt/log.h | 1 |
/src/spirv-tools/source/opt/pass.h | 1 |
/src/spirv-tools/source/opt/build_module.cpp | 3 |
/src/spirv-tools/source/table.cpp | 3 |
/src/spirv-tools/source/opcode.cpp | 22 |
/src/spirv-tools/source/operand.cpp | 13 |
/src/spirv-tools/source/ext_inst.cpp | 5 |
/src/spirv-tools/source/util/make_unique.h | 7 |
/src/spirv-tools/source/opt/ir_context.h | 15 |
/src/spirv-tools/source/assembly_grammar.h | 2 |
/src/spirv-tools/source/opt/module.h | 13 |
/src/spirv-tools/source/opt/instruction_list.h | 7 |
/src/spirv-tools/source/util/ilist.h | 14 |
/src/spirv-tools/source/opt/instruction.h | 16 |
/src/spirv-tools/source/util/ilist_node.h | 6 |
/src/spirv-tools/source/opt/ir_loader.cpp | 2 |
/src/spirv-tools/source/opt/ir_loader.h | 3 |
/src/spirv-tools/source/binary.cpp | 19 |
/src/spirv-tools/source/table.h | 2 |
/src/spirv-tools/source/diagnostic.cpp | 4 |
/src/spirv-tools/source/diagnostic.h | 120 |
/src/spirv-tools/source/spirv_endian.cpp | 3 |
/src/spirv-tools/source/assembly_grammar.cpp | 6 |
/src/spirv-tools/source/util/string_utils.h | 5 |
/src/spirv-tools/source/opt/function.h | 4 |
/src/spirv-tools/source/opt/iterator.h | 8 |
/src/spirv-tools/source/opt/basic_block.h | 8 |
/src/spirv-tools/include/spirv-tools/libspirv.hpp | 8 |
/src/spirv-tools/source/spirv_validator_options.cpp | 2 |
/src/spirv-tools/source/spirv_validator_options.h | 2 |
/src/spirv-tools/source/spirv_optimizer_options.cpp | 4 |
/src/spirv-tools/source/spirv_optimizer_options.h | 1 |
/src/spirv-tools/source/libspirv.cpp | 7 |
/src/spirv-tools/source/val/validate.cpp | 7 |
/src/spirv-tools/source/val/validation_state.cpp | 83 |
/src/spirv-tools/source/enum_set.h | 20 |
/src/spirv-tools/source/val/validation_state.h | 54 |
/src/spirv-tools/source/name_mapper.cpp | 9 |
/src/spirv-tools/source/name_mapper.h | 2 |
/src/spirv-tools/source/parsed_operand.cpp | 1 |
/src/spirv-tools/source/util/hex_float.h | 3 |
/src/spirv-tools/source/extensions.cpp | 2 |
/src/spirv-tools/build/enum_string_mapping.inc | 2 |
/src/spirv-tools/source/val/instruction.h | 29 |
/src/spirv-tools/source/val/instruction.cpp | 2 |
/src/spirv-tools/source/disassemble.cpp | 16 |
/src/spirv-tools/source/print.h | 2 |
/src/spirv-tools/source/text.cpp | 1 |
/src/spirv-tools/source/disassemble.h | 1 |
/src/spirv-tools/source/val/function.h | 8 |
/src/spirv-tools/source/val/function.cpp | 30 |
/src/spirv-tools/source/val/basic_block.h | 19 |
/src/spirv-tools/source/val/validate_id.cpp | 3 |
/src/spirv-tools/source/val/validate_capability.cpp | 15 |
/src/spirv-tools/source/val/validate_layout.cpp | 3 |
/src/spirv-tools/source/cfa.h | 7 |
/src/spirv-tools/source/val/validate_cfg.cpp | 21 |
/src/spirv-tools/source/val/basic_block.cpp | 18 |
/src/spirv-tools/source/val/construct.cpp | 13 |
/src/spirv-tools/source/val/construct.h | 3 |
/src/spirv-tools/source/val/validate_instruction.cpp | 13 |
/src/spirv-tools/source/util/string_utils.cpp | 1 |
/src/spirv-tools/source/val/validate_misc.cpp | 5 |
/src/spirv-tools/source/val/validate_scopes.cpp | 9 |
/src/spirv-tools/source/val/validate_debug.cpp | 3 |
/src/spirv-tools/source/val/validate_annotation.cpp | 13 |
/src/spirv-tools/source/val/decoration.h | 7 |
/src/spirv-tools/source/val/validate_extensions.cpp | 44 |
/src/spirv-tools/source/val/validate_mode_setting.cpp | 4 |
/src/spirv-tools/source/val/validate_type.cpp | 14 |
/src/spirv-tools/source/val/validate_constants.cpp | 8 |
/src/spirv-tools/source/val/validate_memory.cpp | 26 |
/src/spirv-tools/source/val/validate_function.cpp | 5 |
/src/spirv-tools/source/val/validate_image.cpp | 37 |
/src/spirv-tools/external/spirv-headers/include/spirv/unified1/spirv.hpp11 | 2 |
/src/spirv-tools/source/util/bitutils.h | 1 |
/src/spirv-tools/source/val/validate_conversion.cpp | 1 |
/src/spirv-tools/source/val/validate_composites.cpp | 11 |
/src/spirv-tools/source/val/validate_arithmetics.cpp | 2 |
/src/spirv-tools/source/val/validate_bitwise.cpp | 2 |
/src/spirv-tools/source/val/validate_logicals.cpp | 2 |
/src/spirv-tools/source/val/validate_derivatives.cpp | 1 |
/src/spirv-tools/source/val/validate_atomics.cpp | 7 |
/src/spirv-tools/source/val/validate_memory_semantics.cpp | 1 |
/src/spirv-tools/source/val/validate_primitives.cpp | 1 |
/src/spirv-tools/source/val/validate_barriers.cpp | 1 |
/src/spirv-tools/source/val/validate_non_uniform.cpp | 3 |
/src/spirv-tools/source/val/validate_literals.cpp | 3 |
/src/spirv-tools/source/val/validate_ray_query.cpp | 3 |
/src/spirv-tools/source/val/validate_ray_tracing.cpp | 1 |
/src/spirv-tools/source/val/validate_ray_tracing_reorder.cpp | 8 |
/src/spirv-tools/source/val/validate_mesh_shading.cpp | 1 |
/src/spirv-tools/source/val/validate_adjacency.cpp | 1 |
/src/spirv-tools/source/val/validate_decorations.cpp | 38 |
/src/spirv-tools/source/val/validate_interfaces.cpp | 7 |
/src/spirv-tools/source/val/validate_builtins.cpp | 108 |
/src/spirv-tools/source/val/validate_execution_limitations.cpp | 1 |
/src/spirv-tools/source/val/validate_small_type_uses.cpp | 1 |
/src/spirv-tools/source/opt/pass_manager.cpp | 2 |
/src/spirv-tools/source/util/timer.cpp | 2 |
/src/spirv-tools/source/opt/module.cpp | 5 |
/src/spirv-tools/source/opt/function.cpp | 4 |
/src/spirv-tools/source/util/timer.h | 3 |
/src/spirv-tools/source/opt/pass.cpp | 1 |
/src/spirv-tools/source/opt/ir_context.cpp | 4 |
/src/spirv-tools/source/opt/def_use_manager.h | 2 |
/src/spirv-tools/source/opt/def_use_manager.cpp | 2 |
/src/spirv-tools/source/opt/instruction.cpp | 2 |
/src/spirv-tools/source/util/small_vector.h | 3 |
/src/spirv-tools/source/opt/basic_block.cpp | 2 |
/src/spirv-tools/source/opt/cfg.cpp | 2 |
/src/spirv-tools/source/opt/cfg.h | 2 |
/src/spirv-tools/source/opt/decoration_manager.h | 3 |
/src/spirv-tools/source/opt/decoration_manager.cpp | 3 |
/src/spirv-tools/source/opt/feature_manager.h | 3 |
/src/spirv-tools/source/opt/feature_manager.cpp | 7 |
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
The distribution of callsites in terms of coloring is
Color | Runtime hitcount | Callsite count | Percentage |
---|---|---|---|
red | 0 | 6932 | 70.0% |
gold | [1:9] | 806 | 8.14% |
yellow | [10:29] | 83 | 0.83% |
greenyellow | [30:49] | 48 | 0.48% |
lawngreen | 50+ | 2028 | 20.4% |
All colors | 9897 | 100 |
The followings are the branches where fuzzer fails to bypass.
Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch |
---|---|---|---|---|---|---|---|
2260 | 2300 |
9 :
['spvtools::opt::analysis::DebugInfoManager::CloneDebugInlinedAt(unsigned int, spvtools::opt::Instruction*)', 'spvtools::opt::analysis::(anonymous namespace)::GetInlinedOperand(spvtools::opt::Instruction*)', 'spvtools::opt::analysis::DebugInlinedAtContext::SetDebugInlinedAtChain(unsigned int, unsigned int)', 'spvtools::opt::analysis::(anonymous namespace)::SetInlinedOperand(spvtools::opt::Instruction*, unsigned int)', 'spvtools::opt::analysis::DebugInlinedAtContext::GetDebugInlinedAtChain(unsigned int)', 'spvtools::opt::analysis::DebugInfoManager::CreateDebugInlinedAt(spvtools::opt::Instruction const*, spvtools::opt::DebugScope const&)', 'spvtools::opt::Instruction::result_id() const', 'spvtools::opt::analysis::DebugInlinedAtContext::GetLineOfCallInstruction()', 'spvtools::opt::analysis::DebugInlinedAtContext::GetScopeOfCallInstruction()'] |
2260 | 2300 | spvtools::opt::analysis::DebugInfoManager::BuildDebugInlinedAtChain(unsignedint,spvtools::opt::analysis::DebugInlinedAtContext*) | call site: 00000 | /src/spirv-tools/source/opt/debug_info_manager.cpp:277 |
1816 | 3411 |
17 :
['spvtools::opt::Instruction::NumInOperands() const', 'spvtools::opt::Instruction::SetInOperand(unsigned int, spvtools::utils::SmallVector
|
1816 | 3411 | spvtools::opt::CombineAccessChains::CombineAccessChain(spvtools::opt::Instruction*) | call site: 00000 | /src/spirv-tools/source/opt/combine_access_chains.cpp:211 |
1539 | 1539 |
1 :
['spvtools::opt::WrapOpKill::ReplaceWithFunctionCall(spvtools::opt::Instruction*)'] |
1539 | 1539 | spvtools::opt::WrapOpKill::Process()::$_0::operator()(spvtools::opt::Instruction*)const | call site: 00000 | /src/spirv-tools/source/opt/wrap_opkill.cpp:31 |
1399 | 1399 |
1 :
['spvtools::opt::ScalarReplacementPass::ReplaceWholeDebugDeclare(spvtools::opt::Instruction*, std::__1::vector
|
1399 | 1399 |
spvtools::opt::ScalarReplacementPass::ReplaceVariable(spvtools::opt::Instruction*,std::__1::queue
|
call site: 00000 | /src/spirv-tools/source/opt/scalar_replacement_pass.cpp:93 |
1342 | 1342 |
1 :
['spvtools::opt::CFG::SplitLoopHeader(spvtools::opt::BasicBlock*)'] |
1350 | 3837 |
spvtools::opt::MergeReturnPass::BreakFromConstruct(spvtools::opt::BasicBlock*,std::__1::unordered_set
|
call site: 00000 | /src/spirv-tools/source/opt/merge_return_pass.cpp:461 |
1342 | 1342 |
1 :
['spvtools::opt::CFG::SplitLoopHeader(spvtools::opt::BasicBlock*)'] |
1346 | 1952 | spvtools::opt::MergeReturnPass::BranchToBlock(spvtools::opt::BasicBlock*,unsignedint) | call site: 00000 | /src/spirv-tools/source/opt/merge_return_pass.cpp:248 |
1276 | 1552 |
2 :
['spvtools::opt::analysis::DebugInfoManager::ConvertDebugGlobalToLocalVariable(spvtools::opt::Instruction*, spvtools::opt::Instruction*)', 'spvtools::opt::IRContext::get_debug_info_mgr()'] |
1276 | 1554 | spvtools::opt::PrivateToLocalPass::UpdateUse(spvtools::opt::Instruction*,spvtools::opt::Instruction*) | call site: 00000 | /src/spirv-tools/source/opt/private_to_local_pass.cpp:184 |
1238 | 1246 |
9 :
['std::__1::set
|
1238 | 1246 | spvtools::opt::analysis::DebugInfoManager::AddDebugValueForVariable(spvtools::opt::Instruction*,unsignedint,unsignedint,spvtools::opt::Instruction*) | call site: 00000 | /src/spirv-tools/source/opt/debug_info_manager.cpp:568 |
1235 | 2180 |
13 :
['std::__1::vector
|
1235 | 2182 | spvtools::opt::CopyPropagateArrays::BuildNewAccessChain(spvtools::opt::Instruction*,spvtools::opt::CopyPropagateArrays::MemoryObject*)const | call site: 00000 | /src/spirv-tools/source/opt/copy_prop_arrays.cpp:150 |
1202 | 1202 |
1 :
['spvtools::opt::ScalarReplacementPass::ReplaceWholeDebugValue(spvtools::opt::Instruction*, std::__1::vector
|
1202 | 1202 |
spvtools::opt::ScalarReplacementPass::ReplaceVariable(spvtools::opt::Instruction*,std::__1::queue
|
call site: 00000 | /src/spirv-tools/source/opt/scalar_replacement_pass.cpp:100 |
1009 | 1287 |
3 :
['spvtools::opt::Pass::context() const', 'spvtools::opt::analysis::DebugInfoManager::GetDebugInfoNone()', 'spvtools::opt::IRContext::get_debug_info_mgr()'] |
1009 | 1539 | spvtools::opt::AggressiveDCEPass::InitializeModuleScopeLiveInstructions() | call site: 00000 | /src/spirv-tools/source/opt/aggressive_dead_code_elim_pass.cpp:639 |
965 | 971 |
8 :
['spvtools::val::ValidationState_t::ordered_instructions() const', 'std::__1::vector
|
965 | 971 | spvtools::val::ValidateInterfaces(spvtools::val::ValidationState_t&) | call site: 00000 | /src/spirv-tools/source/val/validate_interfaces.cpp:552 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
/src/spirv-tools/test/fuzzers/spvtools_opt_performance_fuzzer.cpp | 1 |
/src/spirv-tools/test/fuzzers/spvtools_opt_fuzzer_common.cpp | 1 |
/src/spirv-tools/test/fuzzers/random_generator.cpp | 7 |
/src/spirv-tools/test/fuzzers/random_generator.h | 1 |
/src/spirv-tools/source/spirv_target_env.cpp | 7 |
/src/spirv-tools/source/opt/optimizer.cpp | 6 |
/src/spirv-tools/source/opt/pass_manager.h | 7 |
/src/spirv-tools/source/opt/log.h | 1 |
/src/spirv-tools/source/opt/pass.h | 1 |
/src/spirv-tools/source/opt/build_module.cpp | 3 |
/src/spirv-tools/source/table.cpp | 3 |
/src/spirv-tools/source/opcode.cpp | 22 |
/src/spirv-tools/source/operand.cpp | 13 |
/src/spirv-tools/source/ext_inst.cpp | 5 |
/src/spirv-tools/source/util/make_unique.h | 7 |
/src/spirv-tools/source/opt/ir_context.h | 15 |
/src/spirv-tools/source/assembly_grammar.h | 2 |
/src/spirv-tools/source/opt/module.h | 13 |
/src/spirv-tools/source/opt/instruction_list.h | 7 |
/src/spirv-tools/source/util/ilist.h | 14 |
/src/spirv-tools/source/opt/instruction.h | 16 |
/src/spirv-tools/source/util/ilist_node.h | 6 |
/src/spirv-tools/source/opt/ir_loader.cpp | 2 |
/src/spirv-tools/source/opt/ir_loader.h | 3 |
/src/spirv-tools/source/binary.cpp | 19 |
/src/spirv-tools/source/table.h | 2 |
/src/spirv-tools/source/diagnostic.cpp | 4 |
/src/spirv-tools/source/diagnostic.h | 120 |
/src/spirv-tools/source/spirv_endian.cpp | 3 |
/src/spirv-tools/source/assembly_grammar.cpp | 6 |
/src/spirv-tools/source/util/string_utils.h | 5 |
/src/spirv-tools/source/opt/function.h | 4 |
/src/spirv-tools/source/opt/iterator.h | 8 |
/src/spirv-tools/source/opt/basic_block.h | 8 |
/src/spirv-tools/include/spirv-tools/libspirv.hpp | 8 |
/src/spirv-tools/source/spirv_validator_options.cpp | 2 |
/src/spirv-tools/source/spirv_validator_options.h | 2 |
/src/spirv-tools/source/spirv_optimizer_options.cpp | 4 |
/src/spirv-tools/source/spirv_optimizer_options.h | 1 |
/src/spirv-tools/source/libspirv.cpp | 7 |
/src/spirv-tools/source/val/validate.cpp | 7 |
/src/spirv-tools/source/val/validation_state.cpp | 83 |
/src/spirv-tools/source/enum_set.h | 20 |
/src/spirv-tools/source/val/validation_state.h | 54 |
/src/spirv-tools/source/name_mapper.cpp | 9 |
/src/spirv-tools/source/name_mapper.h | 2 |
/src/spirv-tools/source/parsed_operand.cpp | 1 |
/src/spirv-tools/source/util/hex_float.h | 3 |
/src/spirv-tools/source/extensions.cpp | 2 |
/src/spirv-tools/build/enum_string_mapping.inc | 2 |
/src/spirv-tools/source/val/instruction.h | 29 |
/src/spirv-tools/source/val/instruction.cpp | 2 |
/src/spirv-tools/source/disassemble.cpp | 16 |
/src/spirv-tools/source/print.h | 2 |
/src/spirv-tools/source/text.cpp | 1 |
/src/spirv-tools/source/disassemble.h | 1 |
/src/spirv-tools/source/val/function.h | 8 |
/src/spirv-tools/source/val/function.cpp | 30 |
/src/spirv-tools/source/val/basic_block.h | 19 |
/src/spirv-tools/source/val/validate_id.cpp | 3 |
/src/spirv-tools/source/val/validate_capability.cpp | 15 |
/src/spirv-tools/source/val/validate_layout.cpp | 3 |
/src/spirv-tools/source/cfa.h | 7 |
/src/spirv-tools/source/val/validate_cfg.cpp | 21 |
/src/spirv-tools/source/val/basic_block.cpp | 18 |
/src/spirv-tools/source/val/construct.cpp | 13 |
/src/spirv-tools/source/val/construct.h | 3 |
/src/spirv-tools/source/val/validate_instruction.cpp | 13 |
/src/spirv-tools/source/util/string_utils.cpp | 1 |
/src/spirv-tools/source/val/validate_misc.cpp | 5 |
/src/spirv-tools/source/val/validate_scopes.cpp | 9 |
/src/spirv-tools/source/val/validate_debug.cpp | 3 |
/src/spirv-tools/source/val/validate_annotation.cpp | 13 |
/src/spirv-tools/source/val/decoration.h | 7 |
/src/spirv-tools/source/val/validate_extensions.cpp | 44 |
/src/spirv-tools/source/val/validate_mode_setting.cpp | 4 |
/src/spirv-tools/source/val/validate_type.cpp | 14 |
/src/spirv-tools/source/val/validate_constants.cpp | 8 |
/src/spirv-tools/source/val/validate_memory.cpp | 26 |
/src/spirv-tools/source/val/validate_function.cpp | 5 |
/src/spirv-tools/source/val/validate_image.cpp | 37 |
/src/spirv-tools/external/spirv-headers/include/spirv/unified1/spirv.hpp11 | 2 |
/src/spirv-tools/source/util/bitutils.h | 1 |
/src/spirv-tools/source/val/validate_conversion.cpp | 1 |
/src/spirv-tools/source/val/validate_composites.cpp | 11 |
/src/spirv-tools/source/val/validate_arithmetics.cpp | 2 |
/src/spirv-tools/source/val/validate_bitwise.cpp | 2 |
/src/spirv-tools/source/val/validate_logicals.cpp | 2 |
/src/spirv-tools/source/val/validate_derivatives.cpp | 1 |
/src/spirv-tools/source/val/validate_atomics.cpp | 7 |
/src/spirv-tools/source/val/validate_memory_semantics.cpp | 1 |
/src/spirv-tools/source/val/validate_primitives.cpp | 1 |
/src/spirv-tools/source/val/validate_barriers.cpp | 1 |
/src/spirv-tools/source/val/validate_non_uniform.cpp | 3 |
/src/spirv-tools/source/val/validate_literals.cpp | 3 |
/src/spirv-tools/source/val/validate_ray_query.cpp | 3 |
/src/spirv-tools/source/val/validate_ray_tracing.cpp | 1 |
/src/spirv-tools/source/val/validate_ray_tracing_reorder.cpp | 8 |
/src/spirv-tools/source/val/validate_mesh_shading.cpp | 1 |
/src/spirv-tools/source/val/validate_adjacency.cpp | 1 |
/src/spirv-tools/source/val/validate_decorations.cpp | 38 |
/src/spirv-tools/source/val/validate_interfaces.cpp | 7 |
/src/spirv-tools/source/val/validate_builtins.cpp | 108 |
/src/spirv-tools/source/val/validate_execution_limitations.cpp | 1 |
/src/spirv-tools/source/val/validate_small_type_uses.cpp | 1 |
/src/spirv-tools/source/opt/pass_manager.cpp | 2 |
/src/spirv-tools/source/util/timer.cpp | 2 |
/src/spirv-tools/source/opt/module.cpp | 5 |
/src/spirv-tools/source/opt/function.cpp | 4 |
/src/spirv-tools/source/util/timer.h | 3 |
/src/spirv-tools/source/opt/pass.cpp | 1 |
/src/spirv-tools/source/opt/ir_context.cpp | 4 |
/src/spirv-tools/source/opt/def_use_manager.h | 2 |
/src/spirv-tools/source/opt/def_use_manager.cpp | 2 |
/src/spirv-tools/source/opt/instruction.cpp | 2 |
/src/spirv-tools/source/util/small_vector.h | 3 |
/src/spirv-tools/source/opt/basic_block.cpp | 2 |
/src/spirv-tools/source/opt/cfg.cpp | 2 |
/src/spirv-tools/source/opt/cfg.h | 2 |
/src/spirv-tools/source/opt/decoration_manager.h | 3 |
/src/spirv-tools/source/opt/decoration_manager.cpp | 3 |
/src/spirv-tools/source/opt/feature_manager.h | 3 |
/src/spirv-tools/source/opt/feature_manager.cpp | 7 |
The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview
Call tree overview bitmap:
The distribution of callsites in terms of coloring is
Color | Runtime hitcount | Callsite count | Percentage |
---|---|---|---|
red | 0 | 6140 | 62.0% |
gold | [1:9] | 1151 | 11.6% |
yellow | [10:29] | 235 | 2.37% |
greenyellow | [30:49] | 75 | 0.75% |
lawngreen | 50+ | 2296 | 23.1% |
All colors | 9897 | 100 |
The followings are the branches where fuzzer fails to bypass.
Unique non-covered Complexity | Unique Reachable Complexities | Unique Reachable Functions | All non-covered Complexity | All Reachable Complexity | Function Name | Function Callsite | Blocked Branch |
---|---|---|---|---|---|---|---|
2260 | 2300 |
9 :
['spvtools::opt::analysis::DebugInfoManager::CloneDebugInlinedAt(unsigned int, spvtools::opt::Instruction*)', 'spvtools::opt::analysis::(anonymous namespace)::GetInlinedOperand(spvtools::opt::Instruction*)', 'spvtools::opt::analysis::DebugInlinedAtContext::SetDebugInlinedAtChain(unsigned int, unsigned int)', 'spvtools::opt::analysis::(anonymous namespace)::SetInlinedOperand(spvtools::opt::Instruction*, unsigned int)', 'spvtools::opt::analysis::DebugInlinedAtContext::GetDebugInlinedAtChain(unsigned int)', 'spvtools::opt::analysis::DebugInfoManager::CreateDebugInlinedAt(spvtools::opt::Instruction const*, spvtools::opt::DebugScope const&)', 'spvtools::opt::Instruction::result_id() const', 'spvtools::opt::analysis::DebugInlinedAtContext::GetLineOfCallInstruction()', 'spvtools::opt::analysis::DebugInlinedAtContext::GetScopeOfCallInstruction()'] |
2260 | 2300 | spvtools::opt::analysis::DebugInfoManager::BuildDebugInlinedAtChain(unsignedint,spvtools::opt::analysis::DebugInlinedAtContext*) | call site: 00000 | /src/spirv-tools/source/opt/debug_info_manager.cpp:277 |
1539 | 1539 |
1 :
['spvtools::opt::WrapOpKill::ReplaceWithFunctionCall(spvtools::opt::Instruction*)'] |
1539 | 1539 | spvtools::opt::WrapOpKill::Process()::$_0::operator()(spvtools::opt::Instruction*)const | call site: 00000 | /src/spirv-tools/source/opt/wrap_opkill.cpp:31 |
1399 | 1399 |
1 :
['spvtools::opt::ScalarReplacementPass::ReplaceWholeDebugDeclare(spvtools::opt::Instruction*, std::__1::vector
|
1399 | 1399 |
spvtools::opt::ScalarReplacementPass::ReplaceVariable(spvtools::opt::Instruction*,std::__1::queue
|
call site: 00000 | /src/spirv-tools/source/opt/scalar_replacement_pass.cpp:93 |
1342 | 1342 |
1 :
['spvtools::opt::CFG::SplitLoopHeader(spvtools::opt::BasicBlock*)'] |
1350 | 3837 |
spvtools::opt::MergeReturnPass::BreakFromConstruct(spvtools::opt::BasicBlock*,std::__1::unordered_set
|
call site: 00000 | /src/spirv-tools/source/opt/merge_return_pass.cpp:461 |
1342 | 1342 |
1 :
['spvtools::opt::CFG::SplitLoopHeader(spvtools::opt::BasicBlock*)'] |
1346 | 1952 | spvtools::opt::MergeReturnPass::BranchToBlock(spvtools::opt::BasicBlock*,unsignedint) | call site: 00000 | /src/spirv-tools/source/opt/merge_return_pass.cpp:248 |
1276 | 1552 |
2 :
['spvtools::opt::analysis::DebugInfoManager::ConvertDebugGlobalToLocalVariable(spvtools::opt::Instruction*, spvtools::opt::Instruction*)', 'spvtools::opt::IRContext::get_debug_info_mgr()'] |
1276 | 1554 | spvtools::opt::PrivateToLocalPass::UpdateUse(spvtools::opt::Instruction*,spvtools::opt::Instruction*) | call site: 00000 | /src/spirv-tools/source/opt/private_to_local_pass.cpp:184 |
1238 | 1246 |
9 :
['std::__1::set
|
1238 | 1246 | spvtools::opt::analysis::DebugInfoManager::AddDebugValueForVariable(spvtools::opt::Instruction*,unsignedint,unsignedint,spvtools::opt::Instruction*) | call site: 00000 | /src/spirv-tools/source/opt/debug_info_manager.cpp:568 |
1202 | 1202 |
1 :
['spvtools::opt::ScalarReplacementPass::ReplaceWholeDebugValue(spvtools::opt::Instruction*, std::__1::vector
|
1202 | 1202 |
spvtools::opt::ScalarReplacementPass::ReplaceVariable(spvtools::opt::Instruction*,std::__1::queue
|
call site: 00000 | /src/spirv-tools/source/opt/scalar_replacement_pass.cpp:100 |
1019 | 2180 |
13 :
['std::__1::vector
|
1019 | 2182 | spvtools::opt::CopyPropagateArrays::BuildNewAccessChain(spvtools::opt::Instruction*,spvtools::opt::CopyPropagateArrays::MemoryObject*)const | call site: 00000 | /src/spirv-tools/source/opt/copy_prop_arrays.cpp:150 |
1009 | 1287 |
3 :
['spvtools::opt::Pass::context() const', 'spvtools::opt::analysis::DebugInfoManager::GetDebugInfoNone()', 'spvtools::opt::IRContext::get_debug_info_mgr()'] |
1009 | 1539 | spvtools::opt::AggressiveDCEPass::InitializeModuleScopeLiveInstructions() | call site: 00000 | /src/spirv-tools/source/opt/aggressive_dead_code_elim_pass.cpp:639 |
965 | 971 |
8 :
['spvtools::val::ValidationState_t::ordered_instructions() const', 'std::__1::vector
|
965 | 971 | spvtools::val::ValidateInterfaces(spvtools::val::ValidationState_t&) | call site: 00000 | /src/spirv-tools/source/val/validate_interfaces.cpp:552 |
925 | 925 |
1 :
['spvtools::opt::FixStorageClass::FixInstructionStorageClass(spvtools::opt::Instruction*, spv::StorageClass, std::__1::set
|
925 | 927 |
spvtools::opt::FixStorageClass::PropagateStorageClass(spvtools::opt::Instruction*,spv::StorageClass,std::__1::set
|
call site: 00000 | /src/spirv-tools/source/opt/fix_storage_class.cpp:59 |
Function name | source code lines | source lines hit | percentage hit |
---|
filename | functions hit |
---|---|
/src/spirv-tools/test/fuzzers/spvtools_opt_legalization_fuzzer.cpp | 1 |
/src/spirv-tools/test/fuzzers/spvtools_opt_fuzzer_common.cpp | 1 |
/src/spirv-tools/test/fuzzers/random_generator.cpp | 7 |
/src/spirv-tools/test/fuzzers/random_generator.h | 1 |
/src/spirv-tools/source/spirv_target_env.cpp | 7 |
/src/spirv-tools/source/opt/optimizer.cpp | 6 |
/src/spirv-tools/source/opt/pass_manager.h | 7 |
/src/spirv-tools/source/opt/log.h | 1 |
/src/spirv-tools/source/opt/pass.h | 1 |
/src/spirv-tools/source/opt/build_module.cpp | 3 |
/src/spirv-tools/source/table.cpp | 3 |
/src/spirv-tools/source/opcode.cpp | 22 |
/src/spirv-tools/source/operand.cpp | 13 |
/src/spirv-tools/source/ext_inst.cpp | 5 |
/src/spirv-tools/source/util/make_unique.h | 7 |
/src/spirv-tools/source/opt/ir_context.h | 15 |
/src/spirv-tools/source/assembly_grammar.h | 2 |
/src/spirv-tools/source/opt/module.h | 13 |
/src/spirv-tools/source/opt/instruction_list.h | 7 |
/src/spirv-tools/source/util/ilist.h | 14 |
/src/spirv-tools/source/opt/instruction.h | 16 |
/src/spirv-tools/source/util/ilist_node.h | 6 |
/src/spirv-tools/source/opt/ir_loader.cpp | 2 |
/src/spirv-tools/source/opt/ir_loader.h | 3 |
/src/spirv-tools/source/binary.cpp | 19 |
/src/spirv-tools/source/table.h | 2 |
/src/spirv-tools/source/diagnostic.cpp | 4 |
/src/spirv-tools/source/diagnostic.h | 120 |
/src/spirv-tools/source/spirv_endian.cpp | 3 |
/src/spirv-tools/source/assembly_grammar.cpp | 6 |
/src/spirv-tools/source/util/string_utils.h | 5 |
/src/spirv-tools/source/opt/function.h | 4 |
/src/spirv-tools/source/opt/iterator.h | 8 |
/src/spirv-tools/source/opt/basic_block.h | 8 |
/src/spirv-tools/include/spirv-tools/libspirv.hpp | 8 |
/src/spirv-tools/source/spirv_validator_options.cpp | 2 |
/src/spirv-tools/source/spirv_validator_options.h | 2 |
/src/spirv-tools/source/spirv_optimizer_options.cpp | 4 |
/src/spirv-tools/source/spirv_optimizer_options.h | 1 |
/src/spirv-tools/source/libspirv.cpp | 7 |
/src/spirv-tools/source/val/validate.cpp | 7 |
/src/spirv-tools/source/val/validation_state.cpp | 83 |
/src/spirv-tools/source/enum_set.h | 20 |
/src/spirv-tools/source/val/validation_state.h | 54 |
/src/spirv-tools/source/name_mapper.cpp | 9 |
/src/spirv-tools/source/name_mapper.h | 2 |
/src/spirv-tools/source/parsed_operand.cpp | 1 |
/src/spirv-tools/source/util/hex_float.h | 3 |
/src/spirv-tools/source/extensions.cpp | 2 |
/src/spirv-tools/build/enum_string_mapping.inc | 2 |
/src/spirv-tools/source/val/instruction.h | 29 |
/src/spirv-tools/source/val/instruction.cpp | 2 |
/src/spirv-tools/source/disassemble.cpp | 16 |
/src/spirv-tools/source/print.h | 2 |
/src/spirv-tools/source/text.cpp | 1 |
/src/spirv-tools/source/disassemble.h | 1 |
/src/spirv-tools/source/val/function.h | 8 |
/src/spirv-tools/source/val/function.cpp | 30 |
/src/spirv-tools/source/val/basic_block.h | 19 |
/src/spirv-tools/source/val/validate_id.cpp | 3 |
/src/spirv-tools/source/val/validate_capability.cpp | 15 |
/src/spirv-tools/source/val/validate_layout.cpp | 3 |
/src/spirv-tools/source/cfa.h | 7 |
/src/spirv-tools/source/val/validate_cfg.cpp | 21 |
/src/spirv-tools/source/val/basic_block.cpp | 18 |
/src/spirv-tools/source/val/construct.cpp | 13 |
/src/spirv-tools/source/val/construct.h | 3 |
/src/spirv-tools/source/val/validate_instruction.cpp | 13 |
/src/spirv-tools/source/util/string_utils.cpp | 1 |
/src/spirv-tools/source/val/validate_misc.cpp | 5 |
/src/spirv-tools/source/val/validate_scopes.cpp | 9 |
/src/spirv-tools/source/val/validate_debug.cpp | 3 |
/src/spirv-tools/source/val/validate_annotation.cpp | 13 |
/src/spirv-tools/source/val/decoration.h | 7 |
/src/spirv-tools/source/val/validate_extensions.cpp | 44 |
/src/spirv-tools/source/val/validate_mode_setting.cpp | 4 |
/src/spirv-tools/source/val/validate_type.cpp | 14 |
/src/spirv-tools/source/val/validate_constants.cpp | 8 |
/src/spirv-tools/source/val/validate_memory.cpp | 26 |
/src/spirv-tools/source/val/validate_function.cpp | 5 |
/src/spirv-tools/source/val/validate_image.cpp | 37 |
/src/spirv-tools/external/spirv-headers/include/spirv/unified1/spirv.hpp11 | 2 |
/src/spirv-tools/source/util/bitutils.h | 1 |
/src/spirv-tools/source/val/validate_conversion.cpp | 1 |
/src/spirv-tools/source/val/validate_composites.cpp | 11 |
/src/spirv-tools/source/val/validate_arithmetics.cpp | 2 |
/src/spirv-tools/source/val/validate_bitwise.cpp | 2 |
/src/spirv-tools/source/val/validate_logicals.cpp | 2 |
/src/spirv-tools/source/val/validate_derivatives.cpp | 1 |
/src/spirv-tools/source/val/validate_atomics.cpp | 7 |
/src/spirv-tools/source/val/validate_memory_semantics.cpp | 1 |
/src/spirv-tools/source/val/validate_primitives.cpp | 1 |
/src/spirv-tools/source/val/validate_barriers.cpp | 1 |
/src/spirv-tools/source/val/validate_non_uniform.cpp | 3 |
/src/spirv-tools/source/val/validate_literals.cpp | 3 |
/src/spirv-tools/source/val/validate_ray_query.cpp | 3 |
/src/spirv-tools/source/val/validate_ray_tracing.cpp | 1 |
/src/spirv-tools/source/val/validate_ray_tracing_reorder.cpp | 8 |
/src/spirv-tools/source/val/validate_mesh_shading.cpp | 1 |
/src/spirv-tools/source/val/validate_adjacency.cpp | 1 |
/src/spirv-tools/source/val/validate_decorations.cpp | 38 |
/src/spirv-tools/source/val/validate_interfaces.cpp | 7 |
/src/spirv-tools/source/val/validate_builtins.cpp | 108 |
/src/spirv-tools/source/val/validate_execution_limitations.cpp | 1 |
/src/spirv-tools/source/val/validate_small_type_uses.cpp | 1 |
/src/spirv-tools/source/opt/pass_manager.cpp | 2 |
/src/spirv-tools/source/util/timer.cpp | 2 |
/src/spirv-tools/source/opt/module.cpp | 5 |
/src/spirv-tools/source/opt/function.cpp | 4 |
/src/spirv-tools/source/util/timer.h | 3 |
/src/spirv-tools/source/opt/pass.cpp | 1 |
/src/spirv-tools/source/opt/ir_context.cpp | 4 |
/src/spirv-tools/source/opt/def_use_manager.h | 2 |
/src/spirv-tools/source/opt/def_use_manager.cpp | 2 |
/src/spirv-tools/source/opt/instruction.cpp | 2 |
/src/spirv-tools/source/util/small_vector.h | 3 |
/src/spirv-tools/source/opt/basic_block.cpp | 2 |
/src/spirv-tools/source/opt/cfg.cpp | 2 |
/src/spirv-tools/source/opt/cfg.h | 2 |
/src/spirv-tools/source/opt/decoration_manager.h | 3 |
/src/spirv-tools/source/opt/decoration_manager.cpp | 3 |
/src/spirv-tools/source/opt/feature_manager.h | 3 |
/src/spirv-tools/source/opt/feature_manager.cpp | 7 |
The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.
Func name | Functions filename | Arg count | Args | Function depth | hitcount | instr count | bb count | cyclomatic complexity | Reachable functions | Incoming references | total cyclomatic complexity | Unreached complexity |
---|---|---|---|---|---|---|---|---|---|---|---|---|
spvtools::opt::LoopFissionPass::Process()
|
/src/spirv-tools/source/opt/loop_fission.cpp | 1 | ['class.spvtools::opt::LoopFissionPass *'] | 12 | 0 | 254 | 43 | 11 | 1756 | 0 | 3196 | 2711 |
spvOptimizerRegisterPassesFromFlags
|
/src/spirv-tools/source/opt/optimizer.cpp | 3 | ['struct.spv_optimizer_t *', 'char **', 'size_t '] | 7 | 0 | 53 | 7 | 3 | 604 | 0 | 754 | 729 |
spvtools::opt::MergeReturnPass::Process()::$_0::operator()(spvtools::opt::Function*)const
|
/src/spirv-tools/source/opt/merge_return_pass.cpp | 2 | ['class.anon.79323 *', 'class.spvtools::opt::Function *'] | 10 | 0 | 135 | 23 | 9 | 1527 | 0 | 2501 | 661 |
spvtools::opt::InstBindlessCheckPass::ProcessImpl()::$_7::operator()(spvtools::opt::InstructionList::iterator,spvtools::opt::UptrVectorIterator
|
/src/spirv-tools/source/opt/inst_bindless_check_pass.cpp | 6 | ['struct.std::__1::__compressed_pair_elem.1784 *', 'class.std::__1::__compressed_pair.30 *', 'class.std::__1::vector.52 *', 'class.std::__1::unique_ptr.53 *', 'int ', 'class.std::__1::vector.52 *'] | 13 | 0 | 45 | 3 | 2 | 1245 | 0 | 2088 | 377 |
spvtools::opt::AggressiveDCEPass::Process()
|
/src/spirv-tools/source/opt/aggressive_dead_code_elim_pass.cpp | 1 | ['class.spvtools::opt::AggressiveDCEPass *'] | 14 | 0 | 17 | 3 | 2 | 1251 | 0 | 2150 | 359 |
spvtools::opt::LoopPeelingPass::Process()
|
/src/spirv-tools/source/opt/loop_peeling.cpp | 1 | ['class.spvtools::opt::LoopPeelingPass *'] | 10 | 0 | 81 | 7 | 3 | 1757 | 0 | 2974 | 339 |
spvtools::opt::FoldSpecConstantOpAndCompositePass::Process()
|
/src/spirv-tools/source/opt/fold_spec_constant_op_and_composite_pass.cpp | 1 | ['class.spvtools::opt::FixFuncCallArgumentsPass *'] | 8 | 0 | 170 | 28 | 6 | 1041 | 0 | 1881 | 285 |
Implementing fuzzers that target the above functions will improve reachability such that it becomes:
If you implement fuzzers for these functions, the status of all functions in the project will be:
Func name | Functions filename | Args | Function call depth | Reached by Fuzzers | Fuzzers runtime hit | Func lines hit % | I Count | BB Count | Cyclomatic complexity | Functions reached | Reached by functions | Accumulated cyclomatic complexity | Undiscovered complexity |
---|
This section shows analysis of runtime coverage data.
For futher technical details on how this section is generated, please see the Glossary .
Func name | Function total lines | Lines covered at runtime | percentage covered | Reached by fuzzers |
---|---|---|---|---|
spvVersionForTargetEnv(spv_target_env) | 43 | 9 | 20.93% | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvIsValidEnv(spv_target_env) | 34 | 9 | 26.47% | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::ExtensionToString(spvtools::Extension) | 229 | 84 | 36.68% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvTargetEnvDescription | 61 | 6 | 9.836% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvIsVulkanEnv(spv_target_env) | 38 | 17 | 44.73% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvIsOpenCLEnv(spv_target_env) | 38 | 18 | 47.36% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvIsOpenGLEnv(spv_target_env) | 38 | 9 | 23.68% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::AtomicsPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 244 | 110 | 45.08% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::BuiltInsValidator::Run() | 33 | 5 | 15.15% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::BuiltInsValidator::ValidateSingleBuiltInAtDefinition(spvtools::val::Decorationconst&,spvtools::val::Instructionconst&) | 168 | 5 | 2.976% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::CapabilityPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 86 | 28 | 32.55% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::ConversionPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 485 | 262 | 54.02% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::CheckDecorationsOfEntryPoints(spvtools::val::ValidationState_t&) | 177 | 78 | 44.06% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::CheckDecorationsOfBuffers(spvtools::val::ValidationState_t&) | 237 | 116 | 48.94% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::CheckComponentDecoration(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst&,spvtools::val::Decorationconst&) | 91 | 35 | 38.46% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::CheckFPRoundingModeForShaders(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst&,spvtools::val::Decorationconst&) | 59 | 7 | 11.86% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::ValidateExtInst(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 2348 | 443 | 18.86% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateFunctionParameter(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 104 | 49 | 47.11% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateTypeImage(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 109 | 56 | 51.37% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateImageTexelPointer(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 102 | 23 | 22.54% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateImageOperands(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*,spvtools::val::(anonymousnamespace)::ImageTypeInfoconst&,unsignedint) | 313 | 100 | 31.94% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateImageGather(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 86 | 15 | 17.44% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateImageRead(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 99 | 45 | 45.45% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateImageWrite(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 65 | 6 | 9.230% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateImageQuerySizeLod(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 57 | 11 | 19.29% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateImageQuerySize(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 49 | 6 | 12.24% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateImageQueryLevelsOrSamples(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 42 | 22 | 52.38% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ModuleScopedInstructions(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*,spv::Op) | 95 | 33 | 34.73% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateVariable(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 448 | 163 | 36.38% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::CheckMemoryAccess(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*,unsignedint) | 79 | 18 | 22.78% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateStore(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 124 | 67 | 54.03% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateCopyMemory(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 104 | 52 | 50.0% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateCopyMemoryMemoryAccess(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 39 | 13 | 33.33% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidatePtrAccessChain(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 52 | 23 | 44.23% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidatePtrComparison(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 49 | 14 | 28.57% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::ValidateMemorySemantics(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*,unsignedint,unsignedint) | 193 | 82 | 42.48% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::MeshShadingPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 84 | 8 | 9.523% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::MiscPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 89 | 14 | 15.73% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::(anonymousnamespace)::ValidateMemoryModel(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 31 | 11 | 35.48% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::PrimitivesPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 38 | 12 | 31.57% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::RayQueryPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 165 | 9 | 5.454% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::RayTracingPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 161 | 9 | 5.590% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::RayReorderNVPass(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*) | 326 | 29 | 8.895% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::ValidateExecutionScope(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*,unsignedint) | 88 | 17 | 19.31% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::ValidateMemoryScope(spvtools::val::ValidationState_t&,spvtools::val::Instructionconst*,unsignedint) | 113 | 27 | 23.89% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::ValidationState_t::RegisterStorageClassConsumer(spv::StorageClass,spvtools::val::Instruction*) | 197 | 11 | 5.583% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::val::ValidationState_t::VkErrorID(unsignedint,charconst*)const | 591 | 4 | 0.676% | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::opt::AggressiveDCEPass::InitializeModuleScopeLiveInstructions() | 69 | 36 | 52.17% | [] |
spvtools::opt::(anonymousnamespace)::FoldInsertWithConstants()::$_1::operator()(spvtools::opt::IRContext*,spvtools::opt::Instruction*,std::__1::vector
|
62 | 33 | 53.22% | [] |
spvtools::opt::(anonymousnamespace)::FoldOpDotWithConstants()::$_27::operator()(spvtools::opt::IRContext*,spvtools::opt::Instruction*,std::__1::vector
|
58 | 17 | 29.31% | [] |
spvtools::opt::(anonymousnamespace)::FoldFClampFeedingCompare(spv::Op)::$_29::operator()(spvtools::opt::IRContext*,spvtools::opt::Instruction*,std::__1::vector
|
132 | 21 | 15.90% | [] |
spvtools::opt::(anonymousnamespace)::FoldMatrixTimesVector()::$_5::operator()(spvtools::opt::IRContext*,spvtools::opt::Instruction*,std::__1::vector
|
77 | 9 | 11.68% | [] |
spvtools::opt::(anonymousnamespace)::FoldMin(spvtools::opt::analysis::Typeconst*,spvtools::opt::analysis::Constantconst*,spvtools::opt::analysis::Constantconst*,spvtools::opt::analysis::ConstantManager*) | 36 | 17 | 47.22% | [] |
spvtools::opt::(anonymousnamespace)::FoldMax(spvtools::opt::analysis::Typeconst*,spvtools::opt::analysis::Constantconst*,spvtools::opt::analysis::Constantconst*,spvtools::opt::analysis::ConstantManager*) | 36 | 17 | 47.22% | [] |
spvtools::opt::CopyPropagateArrays::BuildMemoryObjectFromCompositeConstruct(spvtools::opt::Instruction*) | 39 | 10 | 25.64% | [] |
spvtools::opt::CopyPropagateArrays::UpdateUses(spvtools::opt::Instruction*,spvtools::opt::Instruction*) | 136 | 60 | 44.11% | [] |
spvtools::opt::analysis::DebugInfoManager::BuildDebugInlinedAtChain(unsignedint,spvtools::opt::analysis::DebugInlinedAtContext*) | 37 | 4 | 10.81% | [] |
spvtools::opt::analysis::DebugInfoManager::AnalyzeDebugInst(spvtools::opt::Instruction*) | 46 | 4 | 8.695% | [] |
spvtools::opt::analysis::DebugInfoManager::ClearDebugInfo(spvtools::opt::Instruction*) | 83 | 10 | 12.04% | [] |
spvtools::opt::analysis::DecorationManager::RemoveDecorationsFrom(unsignedint,std::__1::function
|
92 | 36 | 39.13% | [] |
spvtools::opt::analysis::DecorationManager::CloneDecorations(unsignedint,unsignedint) | 41 | 15 | 36.58% | [] |
spvtools::opt::analysis::DecorationManager::RemoveDecoration(spvtools::opt::Instruction*) | 33 | 16 | 48.48% | [] |
spvtools::opt::analysis::CompareAndPrintDifferences(spvtools::opt::analysis::DefUseManagerconst&,spvtools::opt::analysis::DefUseManagerconst&) | 43 | 7 | 16.27% | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
spvtools::opt::(anonymousnamespace)::BasicBlockSuccessorHelper
|
34 | 18 | 52.94% | [] |
spvtools::opt::(anonymousnamespace)::MergeDivDivArithmetic()::$_7::operator()(spvtools::opt::IRContext*,spvtools::opt::Instruction*,std::__1::vector
|
44 | 15 | 34.09% | [] |
spvtools::opt::(anonymousnamespace)::ImageOperandsMaskInOperandIndex(spvtools::opt::Instruction*) | 35 | 18 | 51.42% | [] |
spvtools::opt::IRContext::BuildInvalidAnalyses(spvtools::opt::IRContext::Analysis) | 51 | 23 | 45.09% | [] |
spvtools::opt::ScalarReplacementPass::GetOrCreateInitialValue(spvtools::opt::Instruction*,unsignedint,spvtools::opt::Instruction*) | 44 | 3 | 6.818% | [] |
spvtools::opt::analysis::TypeManager::AnalyzeTypes(spvtools::opt::Moduleconst&) | 80 | 10 | 12.5% | [] |
spvtools::opt::analysis::TypeManager::GetTypeInstruction(spvtools::opt::analysis::Typeconst*) | 223 | 46 | 20.62% | [] |
spvtools::opt::analysis::TypeManager::RebuildType(spvtools::opt::analysis::Typeconst&) | 131 | 51 | 38.93% | [] |
spvtools::opt::analysis::Type::Clone()const | 40 | 10 | 25.0% | [] |
spvtools::opt::analysis::Type::operator==(spvtools::opt::analysis::Typeconst&)const | 39 | 9 | 23.07% | [] |
spvtools::utils::HexFloat
|
63 | 26 | 41.26% | [] |
spvtools::opt::CombineAccessChains::CombineAccessChain(spvtools::opt::Instruction*) | 31 | 13 | 41.93% | [] |
spvtools::opt::FixStorageClass::PropagateStorageClass(spvtools::opt::Instruction*,spv::StorageClass,std::__1::set
|
47 | 16 | 34.04% | [] |
This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link
Source file | Reached by | Covered by |
---|---|---|
[] | [] | |
/src/spirv-tools/source/opt/set_spec_constant_default_value_pass.h | [] | [] |
/src/spirv-tools/source/val/validate_bitwise.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/scalar_replacement_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/convert_to_sampled_image_pass.cpp | [] | [] |
/src/spirv-tools/source/val/validate_ray_tracing.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/local_single_store_elim_pass.h | [] | [] |
/src/spirv-tools/source/opt/private_to_local_pass.h | [] | [] |
/src/spirv-tools/source/opt/eliminate_dead_constant_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/aggressive_dead_code_elim_pass.h | [] | [] |
/src/spirv-tools/source/opt/inst_buff_addr_check_pass.cpp | [] | [] |
/src/spirv-tools/source/val/validate_instruction.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/upgrade_memory_model.cpp | [] | [] |
/src/spirv-tools/source/spirv_target_env.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/inst_buff_addr_check_pass.h | [] | [] |
/src/spirv-tools/source/opt/ir_loader.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/redundancy_elimination.cpp | [] | [] |
/src/spirv-tools/source/opt/inline_exhaustive_pass.h | [] | [] |
/src/spirv-tools/source/opt/loop_utils.cpp | [] | [] |
/src/spirv-tools/source/opt/amd_ext_to_khr.h | [] | [] |
/src/spirv-tools/source/opt/desc_sroa.cpp | [] | [] |
/src/spirv-tools/source/print.cpp | [] | [] |
/src/spirv-tools/source/opt/relax_float_ops_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/instruction.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/log.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/analyze_live_input_pass.h | [] | [] |
/src/spirv-tools/source/val/validate_small_type_uses.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/ssa_rewrite_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/inline_pass.h | [] | [] |
/src/spirv-tools/source/val/validate_atomics.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/reduce_load_size.h | [] | [] |
/src/spirv-tools/source/val/validate_image.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/test/fuzzers/spvtools_dis_fuzzer.cpp | ['spvtools_dis_fuzzer'] | ['spvtools_dis_fuzzer'] |
/src/spirv-tools/source/val/construct.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/test/fuzzers/spvtools_val_fuzzer.cpp | ['spvtools_val_fuzzer'] | ['spvtools_val_fuzzer'] |
/src/spirv-tools/source/opt/constants.h | [] | [] |
/src/spirv-tools/source/opt/interface_var_sroa.cpp | [] | [] |
/src/spirv-tools/source/val/basic_block.h | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/convert_to_sampled_image_pass.h | [] | [] |
/src/spirv-tools/source/opt/wrap_opkill.cpp | [] | [] |
/src/spirv-tools/source/opt/feature_manager.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/assembly_grammar.h | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/fold.cpp | [] | [] |
/src/spirv-tools/source/val/validate_arithmetics.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/convert_to_half_pass.h | [] | [] |
/src/spirv-tools/source/opt/inst_debug_printf_pass.cpp | [] | [] |
/src/spirv-tools/source/val/validate_memory_semantics.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_barriers.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/dead_variable_elimination.cpp | [] | [] |
/src/spirv-tools/source/opt/simplification_pass.h | [] | [] |
/src/spirv-tools/source/val/validation_state.h | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/test/fuzzers/spvtools_opt_performance_fuzzer.cpp | ['spvtools_opt_performance_fuzzer'] | ['spvtools_opt_performance_fuzzer'] |
/src/spirv-tools/source/opt/inst_debug_printf_pass.h | [] | [] |
/src/spirv-tools/source/opt/dominator_tree.h | [] | [] |
/src/spirv-tools/source/opt/local_access_chain_convert_pass.h | [] | [] |
/src/spirv-tools/source/val/validate_function.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_unroller.cpp | [] | [] |
/src/spirv-tools/source/val/validate_execution_limitations.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/amd_ext_to_khr.cpp | [] | [] |
/src/spirv-tools/source/opt/cfg.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/decoration_manager.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/merge_return_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/cfg_cleanup_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/analyze_live_input_pass.cpp | [] | [] |
/src/spirv-tools/source/val/validate_builtins.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/freeze_spec_constant_value_pass.h | [] | [] |
/src/spirv-tools/source/opt/propagator.cpp | [] | [] |
/src/spirv-tools/source/opt/inline_exhaustive_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/debug_info_manager.h | [] | [] |
/src/spirv-tools/source/opt/strip_debug_info_pass.h | [] | [] |
/src/spirv-tools/source/opt/inline_opaque_pass.h | [] | [] |
/src/spirv-tools/source/text_handler.cpp | ['spvtools_as_fuzzer'] | ['spvtools_as_fuzzer'] |
/src/spirv-tools/source/val/validate_mode_setting.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/replace_desc_array_access_using_var_index.h | [] | [] |
/src/spirv-tools/source/val/validate_literals.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/pass_manager.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/eliminate_dead_output_stores_pass.cpp | [] | [] |
/src/spirv-tools/source/util/timer.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/extensions.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/ccp_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/fold.h | [] | [] |
/src/spirv-tools/source/ext_inst.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/test/fuzzers/random_generator.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_fission.cpp | [] | [] |
/src/spirv-tools/source/opt/combine_access_chains.cpp | [] | [] |
/src/spirv-tools/source/opt/merge_return_pass.h | [] | [] |
/src/spirv-tools/source/opt/local_single_store_elim_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/dead_branch_elim_pass.h | [] | [] |
/src/spirv-tools/source/binary.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/optimizer.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/ir_context.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/ccp_pass.h | [] | [] |
/src/spirv-tools/source/opt/register_pressure.cpp | [] | [] |
/src/spirv-tools/source/opt/code_sink.cpp | [] | [] |
/src/spirv-tools/source/val/validate_annotation.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/debug_info_manager.cpp | [] | [] |
/src/spirv-tools/source/print.h | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/util/timer.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/remove_unused_interface_variables_pass.h | [] | [] |
/src/spirv-tools/source/opt/pass_manager.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_constants.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/util/make_unique.h | ['spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/usr/local/bin/../include/c++/v1/stdlib.h | [] | [] |
/src/spirv-tools/source/val/instruction.h | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/folding_rules.h | [] | [] |
/src/spirv-tools/source/opt/loop_fusion.h | [] | [] |
/src/spirv-tools/source/opt/ir_loader.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/fix_func_call_arguments.cpp | [] | [] |
/src/spirv-tools/source/opt/licm_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/inst_bindless_check_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/register_pressure.h | [] | [] |
/src/spirv-tools/source/opt/instrument_pass.h | [] | [] |
/src/spirv-tools/source/opt/fold_spec_constant_op_and_composite_pass.h | [] | [] |
/src/spirv-tools/source/opt/replace_invalid_opc.h | [] | [] |
/src/spirv-tools/source/text.h | ['spvtools_as_fuzzer'] | [] |
/src/spirv-tools/source/assembly_grammar.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/util/parse_number.h | ['spvtools_as_fuzzer'] | ['spvtools_as_fuzzer'] |
/src/spirv-tools/source/val/validate_adjacency.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/ir_context.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_debug.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/function.h | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_unswitch_pass.cpp | [] | [] |
/src/spirv-tools/source/util/ilist.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/scalar_analysis_nodes.h | [] | [] |
/src/spirv-tools/source/opt/type_manager.h | [] | [] |
/usr/local/bin/../include/c++/v1/math.h | [] | [] |
/src/spirv-tools/source/opt/fix_storage_class.cpp | [] | [] |
/src/spirv-tools/source/opt/fix_storage_class.h | [] | [] |
/src/spirv-tools/source/val/basic_block.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/test/fuzzers/spvtools_as_fuzzer.cpp | ['spvtools_as_fuzzer'] | ['spvtools_as_fuzzer'] |
/src/spirv-tools/source/opt/type_manager.cpp | [] | [] |
/src/spirv-tools/source/opt/fix_func_call_arguments.h | [] | [] |
/src/spirv-tools/source/opt/block_merge_pass.h | [] | [] |
/src/spirv-tools/source/opt/loop_fusion.cpp | [] | [] |
/src/spirv-tools/source/opt/cfg_cleanup_pass.h | [] | [] |
/src/spirv-tools/source/spirv_validator_options.h | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_dependence.cpp | [] | [] |
/src/spirv-tools/test/fuzzers/spvtools_binary_parser_fuzzer.cpp | ['spvtools_binary_parser_fuzzer'] | ['spvtools_binary_parser_fuzzer'] |
/src/spirv-tools/source/opt/null_pass.h | [] | [] |
/src/spirv-tools/source/opt/convert_to_half_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/spread_volatile_semantics.cpp | [] | [] |
/src/spirv-tools/source/opt/function.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/constants.cpp | [] | [] |
/src/spirv-tools/source/libspirv.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_decorations.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/feature_manager.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/replace_invalid_opc.cpp | [] | [] |
/src/spirv-tools/source/opcode.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/spirv_validator_options.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_memory.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/test/fuzzers/spvtools_opt_fuzzer_common.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/if_conversion.cpp | [] | [] |
/src/spirv-tools/source/opt/dominator_analysis.h | [] | [] |
/src/spirv-tools/source/opt/copy_prop_arrays.cpp | [] | [] |
/src/spirv-tools/source/opt/redundancy_elimination.h | [] | [] |
/src/spirv-tools/source/opt/interp_fixup_pass.cpp | [] | [] |
/src/spirv-tools/source/spirv_optimizer_options.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/fold_spec_constant_op_and_composite_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/empty_pass.h | [] | [] |
/src/spirv-tools/source/opt/def_use_manager.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/cfg.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_primitives.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_non_uniform.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/types.cpp | [] | [] |
/src/spirv-tools/source/opt/strip_debug_info_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/vector_dce.h | [] | [] |
/src/spirv-tools/source/opt/liveness.h | [] | [] |
/src/spirv-tools/source/opt/remove_duplicates_pass.h | [] | [] |
/src/spirv-tools/source/val/validate_mesh_shading.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/ir_builder.h | [] | [] |
/src/spirv-tools/source/val/validate_cfg.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/diagnostic.h | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/util/hex_float.h | ['spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/compact_ids_pass.h | [] | [] |
/src/spirv-tools/source/util/hash_combine.h | [] | [] |
/src/spirv-tools/source/opt/loop_fission.h | [] | [] |
/src/spirv-tools/source/util/parse_number.cpp | ['spvtools_as_fuzzer'] | ['spvtools_as_fuzzer'] |
/src/spirv-tools/source/util/bitutils.h | ['spvtools_as_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_as_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_peeling.cpp | [] | [] |
/src/spirv-tools/source/opt/wrap_opkill.h | [] | [] |
/src/spirv-tools/source/opt/def_use_manager.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/pass.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_dependence_helpers.cpp | [] | [] |
/src/spirv-tools/source/opt/loop_peeling.h | [] | [] |
/src/spirv-tools/source/operand.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/enum_set.h | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_extensions.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/eliminate_dead_functions_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/value_number_table.cpp | [] | [] |
/src/spirv-tools/source/val/validate_scopes.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_logicals.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/remove_unused_interface_variables_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/eliminate_dead_members_pass.h | [] | [] |
/src/spirv-tools/source/opt/aggressive_dead_code_elim_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/eliminate_dead_constant_pass.h | [] | [] |
/src/spirv-tools/source/opt/interface_var_sroa.h | [] | [] |
/src/spirv-tools/source/opt/scalar_analysis.cpp | [] | [] |
/src/spirv-tools/source/table.h | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | [] |
/src/spirv-tools/source/opt/function.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_utils.h | [] | [] |
/src/spirv-tools/source/opt/workaround1209.h | [] | [] |
/src/spirv-tools/source/opt/loop_descriptor.cpp | [] | [] |
/src/spirv-tools/source/util/string_utils.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/spread_volatile_semantics.h | [] | [] |
/src/spirv-tools/source/opt/inline_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/composite.cpp | [] | [] |
/src/spirv-tools/source/opt/remove_dontinline_pass.cpp | [] | [] |
/src/spirv-tools/source/val/validate_ray_query.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/compact_ids_pass.cpp | [] | [] |
/src/spirv-tools/source/name_mapper.h | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/private_to_local_pass.cpp | [] | [] |
/src/spirv-tools/source/val/instruction.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/desc_sroa.h | [] | [] |
/src/spirv-tools/source/instruction.h | ['spvtools_as_fuzzer'] | ['spvtools_as_fuzzer'] |
/src/spirv-tools/source/opt/strip_nonsemantic_info_pass.h | [] | [] |
/src/spirv-tools/source/opt/local_redundancy_elimination.h | [] | [] |
/src/spirv-tools/source/opt/dead_insert_elim_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/reflect.h | [] | [] |
/src/spirv-tools/source/val/validation_state.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/simplification_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/eliminate_dead_members_pass.cpp | [] | [] |
/src/spirv-tools/source/val/validate_derivatives.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/dead_branch_elim_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/if_conversion.h | [] | [] |
/src/spirv-tools/source/val/validate_layout.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/flatten_decoration_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/dead_insert_elim_pass.h | [] | [] |
/src/spirv-tools/source/opt/propagator.h | [] | [] |
/src/spirv-tools/test/fuzzers/random_generator.h | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/disassemble.cpp | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/include/spirv-tools/libspirv.hpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/inline_opaque_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/scalar_analysis.h | [] | [] |
/src/spirv-tools/source/util/bit_vector.cpp | [] | [] |
/src/spirv-tools/source/opt/pass.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/decoration.h | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/text.cpp | ['spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/strip_nonsemantic_info_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/strength_reduction_pass.h | [] | [] |
/src/spirv-tools/source/opt/scalar_replacement_pass.h | [] | [] |
/src/spirv-tools/source/opt/vector_dce.cpp | [] | [] |
/src/spirv-tools/source/text_handler.h | ['spvtools_as_fuzzer'] | ['spvtools_as_fuzzer'] |
/src/spirv-tools/source/opt/module.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/graphics_robust_access_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/interp_fixup_pass.h | [] | [] |
/src/spirv-tools/source/spirv_optimizer_options.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/local_single_block_elim_pass.h | [] | [] |
/src/spirv-tools/source/opt/build_module.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_composites.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_dependence.h | [] | [] |
/src/spirv-tools/source/opt/dead_variable_elimination.h | [] | [] |
/src/spirv-tools/source/table.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_unroller.h | [] | [] |
/src/spirv-tools/source/val/construct.h | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/const_folding_rules.cpp | [] | [] |
/src/spirv-tools/source/val/validate_misc.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/decoration_manager.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/const_folding_rules.h | [] | [] |
/src/spirv-tools/source/opt/instruction.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/copy_prop_arrays.h | [] | [] |
/src/spirv-tools/source/opt/local_access_chain_convert_pass.cpp | [] | [] |
/src/spirv-tools/test/fuzzers/spvtools_opt_size_fuzzer.cpp | ['spvtools_opt_size_fuzzer'] | ['spvtools_opt_size_fuzzer'] |
/src/spirv-tools/source/opt/loop_fusion_pass.h | [] | [] |
/src/spirv-tools/source/opt/eliminate_dead_functions_util.cpp | [] | [] |
/src/spirv-tools/source/opt/freeze_spec_constant_value_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/eliminate_dead_io_components_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/licm_pass.h | [] | [] |
/src/spirv-tools/source/opt/inst_bindless_check_pass.h | [] | [] |
/src/spirv-tools/source/opt/code_sink.h | [] | [] |
/src/spirv-tools/source/opt/reduce_load_size.cpp | [] | [] |
/src/spirv-tools/source/val/validate_interfaces.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/basic_block.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/eliminate_dead_functions_pass.h | [] | [] |
/src/spirv-tools/source/util/small_vector.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/mem_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/basic_block.cpp | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_ray_tracing_reorder.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/diagnostic.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/module.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/remove_duplicates_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/dominator_tree.cpp | [] | [] |
/src/spirv-tools/source/opt/unify_const_pass.cpp | [] | [] |
/src/spirv-tools/source/util/bit_vector.h | [] | [] |
/src/spirv-tools/source/opt/instruction_list.cpp | [] | [] |
/src/spirv-tools/source/opt/instruction_list.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_conversion.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/loop_unswitch_pass.h | [] | [] |
/src/spirv-tools/external/spirv-headers/include/spirv/unified1/spirv.hpp11 | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/set_spec_constant_default_value_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/loop_descriptor.h | [] | [] |
/src/spirv-tools/source/opt/eliminate_dead_io_components_pass.h | [] | [] |
/src/spirv-tools/source/val/validate_type.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/disassemble.h | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | [] |
/usr/local/bin/../include/c++/v1/iosfwd | [] | [] |
/src/spirv-tools/source/opt/flatten_decoration_pass.h | [] | [] |
/src/spirv-tools/source/opt/dominator_analysis.cpp | [] | [] |
/src/spirv-tools/source/opt/ssa_rewrite_pass.h | [] | [] |
/src/spirv-tools/source/opt/block_merge_pass.cpp | [] | [] |
/src/spirv-tools/source/val/function.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/mem_pass.h | [] | [] |
/src/spirv-tools/source/opt/tree_iterator.h | [] | [] |
/src/spirv-tools/source/name_mapper.cpp | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_capability.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/upgrade_memory_model.h | [] | [] |
/src/spirv-tools/test/fuzzers/spvtools_opt_legalization_fuzzer.cpp | ['spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/val/validate_id.cpp | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/util/ilist_node.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/iterator.h | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/desc_sroa_util.cpp | [] | [] |
/src/spirv-tools/source/opt/folding_rules.cpp | [] | [] |
/src/spirv-tools/source/parsed_operand.cpp | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/instrument_pass.cpp | [] | [] |
/usr/local/bin/../include/c++/v1/initializer_list | [] | [] |
/src/spirv-tools/source/opt/replace_desc_array_access_using_var_index.cpp | [] | [] |
/src/spirv-tools/build/enum_string_mapping.inc | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/scalar_analysis_simplification.cpp | [] | [] |
/src/spirv-tools/source/opt/relax_float_ops_pass.h | [] | [] |
/src/spirv-tools/source/opt/unify_const_pass.h | [] | [] |
/src/spirv-tools/source/cfa.h | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/value_number_table.h | [] | [] |
/src/spirv-tools/source/opt/local_single_block_elim_pass.cpp | [] | [] |
/src/spirv-tools/source/spirv_endian.cpp | ['spvtools_binary_parser_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/remove_dontinline_pass.h | [] | [] |
/src/spirv-tools/source/opt/liveness.cpp | [] | [] |
/src/spirv-tools/source/opt/eliminate_dead_output_stores_pass.h | [] | [] |
/src/spirv-tools/source/opt/struct_cfg_analysis.cpp | [] | [] |
/src/spirv-tools/source/opt/combine_access_chains.h | [] | [] |
/src/spirv-tools/source/opt/loop_fusion_pass.cpp | [] | [] |
/src/spirv-tools/source/opt/block_merge_util.cpp | [] | [] |
/src/spirv-tools/source/opt/struct_cfg_analysis.h | [] | [] |
/src/spirv-tools/source/opt/graphics_robust_access_pass.h | [] | [] |
/src/spirv-tools/source/opt/workaround1209.cpp | [] | [] |
/src/spirv-tools/source/opt/types.h | [] | [] |
/src/spirv-tools/source/opt/local_redundancy_elimination.cpp | [] | [] |
/src/spirv-tools/source/util/string_utils.h | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] | ['spvtools_binary_parser_fuzzer', 'spvtools_as_fuzzer', 'spvtools_dis_fuzzer', 'spvtools_val_fuzzer', 'spvtools_opt_size_fuzzer', 'spvtools_opt_performance_fuzzer', 'spvtools_opt_legalization_fuzzer'] |
/src/spirv-tools/source/opt/strength_reduction_pass.cpp | [] | [] |
Directory |
---|
/src/spirv-tools/include/spirv-tools/ |
/src/spirv-tools/external/spirv-headers/include/spirv/unified1/ |
/src/spirv-tools/source/ |
/src/spirv-tools/build/ |
/src/spirv-tools/source/val/ |
/src/spirv-tools/test/fuzzers/ |
/src/spirv-tools/source/util/ |
/src/spirv-tools/source/opt/ |
/usr/local/bin/../include/c++/v1/ |
This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.
Fuzzer | Calltree file | Program data file | Coverage file |
---|---|---|---|
spvtools_binary_parser_fuzzer | fuzzerLogFile-0-a35yKqNvZ9.data | fuzzerLogFile-0-a35yKqNvZ9.data.yaml | spvtools_binary_parser_fuzzer.covreport |
spvtools_as_fuzzer | fuzzerLogFile-0-qKwzMBmCHL.data | fuzzerLogFile-0-qKwzMBmCHL.data.yaml | spvtools_as_fuzzer.covreport |
spvtools_dis_fuzzer | fuzzerLogFile-0-puSOtHDOmL.data | fuzzerLogFile-0-puSOtHDOmL.data.yaml | spvtools_dis_fuzzer.covreport |
spvtools_val_fuzzer | fuzzerLogFile-0-5yzDJmkPUE.data | fuzzerLogFile-0-5yzDJmkPUE.data.yaml | spvtools_val_fuzzer.covreport |
spvtools_opt_size_fuzzer | fuzzerLogFile-0-WnJrupv1r1.data | fuzzerLogFile-0-WnJrupv1r1.data.yaml | spvtools_opt_size_fuzzer.covreport |
spvtools_opt_performance_fuzzer | fuzzerLogFile-0-WYr3xmWIpz.data | fuzzerLogFile-0-WYr3xmWIpz.data.yaml | spvtools_opt_performance_fuzzer.covreport |
spvtools_opt_legalization_fuzzer | fuzzerLogFile-0-Cf7wzTdFVx.data | fuzzerLogFile-0-Cf7wzTdFVx.data.yaml | spvtools_opt_legalization_fuzzer.covreport |
This section shows a chosen list of functions / methods calls and their relative coverage information. By static analysis of the target project code, all of these function call and their caller information, including the source file or class and line number that initiate the call are captured. Column 1 is the function name of that selected functions or methods. Column 2 of each row indicate if the target function covered by any fuzzer calltree information. Column 3 lists all fuzzers (or no fuzzers at all) that have coered that particular function call dynamically. Column 4 shows list of parent function for the specific function call, while column 5 shows possible blocker functions that make the fuzzers fail to reach the specific functions. Both column 4 and 5 will only show information if none of the fuzzers cover the target function calls.
Target sink | Callsite location | Reached by fuzzer | Function call path | Covered by fuzzer | Possible branch blockers |
---|