SPIRV-Tools/source
Jaebaek Seo df4198e50e
Add DebugValue for DebugDecl invisible to value assignment (#3973)
For some cases, we have DebugDecl invisible to a value assignment, but
the value assignment information is important i.e., debugger cannot inspect
the variable without the information. For example, a parameter of an inlined
function must have its value assignment i.e., argument passing out of its
function scope. If we simply remove DebugDecl because it is invisible to the
argument passing, we cannot inspec the variable.

This PR
- Adds DebugValue for DebugDecl invisible to a value assignment. We use
the value of the variable in the basic block that contains DebugDecl, which is
found by ssa-rewrite. If the value instruction does not dominate DebugDecl,
we use the value of the variable in the immediate dominator of the basic block.
- Checks the visibility of DebugDecl for Phi value assignment based on the
all value operands of the Phi. Since Phi just references multiple values from
multiple basic blocks, scopes of value operands must be regarded as the scope
of the Phi.
2020-10-27 15:10:08 -04:00
..
fuzz spirv-fuzz: Add expand vector reduction transformation (#3869) 2020-10-23 14:59:08 +01:00
link CMake: Enable building with BUILD_SHARED_LIBS=1 (#3490) 2020-07-27 13:29:07 -04:00
opt Add DebugValue for DebugDecl invisible to value assignment (#3973) 2020-10-27 15:10:08 -04:00
reduce spirv-reduce: Support reducing a specific function (#3774) 2020-09-11 06:29:43 +01:00
util Support constant-folding UConvert and SConvert (#2960) 2019-10-16 16:29:55 -04:00
val Add SPV_EXT_shader_image_int64 (#3852) 2020-10-20 11:55:26 -04:00
assembly_grammar.cpp
assembly_grammar.h
binary.cpp Validate SPIRV Version number when parsing binary header (#3834) 2020-09-23 11:59:41 -04:00
binary.h
cfa.h Fix compiler error on macOS with XCode12 (#3836) 2020-09-22 19:12:23 -04:00
CMakeLists.txt Avoid using /MP4 for clang on windows. (#3662) 2020-08-10 10:59:24 -04:00
diagnostic.cpp
diagnostic.h
disassemble.cpp [spirv-dis] Add some context comments to disassembly. (#3847) 2020-09-28 10:59:50 -04:00
disassemble.h
enum_set.h Instrument: Debug Printf support (#3215) 2020-03-12 09:19:52 -04:00
enum_string_mapping.cpp
enum_string_mapping.h
ext_inst.cpp Validator support for non-semantic clspv reflection (#3618) 2020-07-30 12:08:53 -04:00
ext_inst.h Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
extensions.cpp
extensions.h
instruction.h
latest_version_glsl_std_450_header.h
latest_version_opencl_std_header.h
latest_version_spirv_header.h
libspirv.cpp
macro.h
name_mapper.cpp Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
name_mapper.h
opcode.cpp spirv-fuzz: Add bit instruction synonym transformation (#3775) 2020-09-15 23:36:23 +01:00
opcode.h spirv-fuzz: Add bit instruction synonym transformation (#3775) 2020-09-15 23:36:23 +01:00
operand.cpp Support SPV_KHR_fragment_shading_rate (#3943) 2020-10-20 08:00:13 -04:00
operand.h Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
parsed_operand.cpp
parsed_operand.h
pch_source.cpp
pch_source.h
print.cpp build: cmake: Add support for Fuchsia. (#3062) 2019-11-26 16:22:59 -05:00
print.h
software_version.cpp
spirv_constant.h
spirv_definition.h
spirv_endian.cpp
spirv_endian.h
spirv_fuzzer_options.cpp spirv-fuzz: Add pass recommendations (#3757) 2020-09-18 15:51:35 +01:00
spirv_fuzzer_options.h spirv-fuzz: Add pass recommendations (#3757) 2020-09-18 15:51:35 +01:00
spirv_optimizer_options.cpp
spirv_optimizer_options.h
spirv_reducer_options.cpp spirv-reduce: Support reducing a specific function (#3774) 2020-09-11 06:29:43 +01:00
spirv_reducer_options.h spirv-reduce: Support reducing a specific function (#3774) 2020-09-11 06:29:43 +01:00
spirv_target_env.cpp Add spvParseVulkanEnv (#3142) 2020-01-23 17:20:32 -05:00
spirv_target_env.h
spirv_validator_options.cpp
spirv_validator_options.h
table.cpp Add basic support for Vulkan 1.2: SPV_ENV_VULKAN_1_2 2020-01-14 20:06:19 -05:00
table.h
text_handler.cpp
text_handler.h
text.cpp Support OpenCL.DebugInfo.100 extended instruction set (#3080) 2019-12-19 17:16:26 -05:00
text.h