tree 1c3bf171101b320a57b5b75914cccab590b5786b
parent e6f372c5c2b0143b738818f3c74ba5a932dda978
author Jaebaek Seo <jaebaek@google.com> 1584975678 -0400
committer GitHub <noreply@github.com> 1584975678 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJeeM8+CRBK7hj4Ov3rIwAAdHIIAFybPGDJP8v7gd6vGlWN8UV5
 aYGtk4CRxTs/GyG/w1u+ZMALeb96N2W3N3uOcRFDqwIDRIXelD51mboFdDgrlj7J
 zC46KEFr5mRFOk3GHBHHlf1gREJjy3JcohrnWb6DmFJ1oDM4i33Zq+n2eEPyzPsH
 Mgt3OlWsxSN9CK0fAotafyI7at+gg21o+WxGsN+U5Qbl7cqpzd7TdMdjiZ0iF75s
 57QYYhd3fZZmfdHYi/GOfiwUJmsThj/8vVvWf6n+5jPAUAjOWnH8jTNHzdtnu/3+
 AY0yPJ6dBTPiVSSqY0VdL1b8QyRpDGVIFWpjaEHCZXKevJAiFYYNiOpzYnz6skQ=
 =SZn4
 -----END PGP SIGNATURE-----
 

Add data structure for DebugScope, DebugDeclare in spirv-opt (#3183)

When DebugScope is given in SPIR-V, each instruction following the
DebugScope is from the lexical scope pointed by the DebugScope in
the high level language. We add DebugScope struction to keep the
scope information in Instruction class. When ir_loader loads
DebugScope/DebugNoScope, it keeps the scope information in
|last_dbg_scope_| and lets following instructions have that scope
information.

In terms of DebugDeclare/DebugValue, if it is in a function body
but outside of a basic block, we keep it in |debug_insts_in_header_|
of Function class. If it is in a basic block, we keep it as a normal
instruction i.e., in a instruction list of BasicBlock.