Commit Graph

1 Commits

Author SHA1 Message Date
Erik Eckstein
351d9c5d57 SIL: support type dependent operands in all cast instructions.
We had this for some cast instructions, but not for cast instructions with address-types.
Type dependent operands - like for dynamic self - are important for establishing a def-use relationship between the instruction/argument which defines the type and the instruction which uses the type.
Missing those dependencies can cause instructions or the dynamic-self argument to be removed while the type is still used in a cast instruction.

This change involved some class hierarchy gymnastics in SILInstruction.h.

Fixes a compiler crash.
rdar://problem/61816506
2020-04-17 16:58:03 +02:00