tree 2d4c844b70473c2279649d26a2ad547c5df3face
parent 91c50e3fc9931a32f116ff5526a01eacbd2bde40
author Jaebaek Seo <jaebaek@google.com> 1593450528 -0400
committer GitHub <noreply@github.com> 1593450528 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJe+iAgCRBK7hj4Ov3rIwAAdHIIAHB6IfgF4JGpR3StXAiP9G5+
 OT6ZrXD7cEYluCrUlQQUnxfifZPjIFU8IqO25EtBOR4ICuKOs0m1gE0vXOzt5sAT
 5GZC6SN1tyXS4nkTWPFuYuUJtqWNzz3HetwV+K8gdMhwFqjUCmtS/pmCZgSraiY4
 ZGn6BFfYSAGkcsA11aJYgsYy299ej+8iXBvXib9UHJMYgUMqZhRqxYEWeOFdutJh
 uDzg1MUvsjC6kwAZtZji8l4i6gHkZTS4pukvgq6T6Eql+0lHe0CLW3Mz4zd1F0Ja
 iRfOOGMC7RyWgR4YAM3J8hVk8jHftqZRRbWWUpAWZP7nIPjsPYOqEfIe/krfiKQ=
 =6NdO
 -----END PGP SIGNATURE-----
 

Fix ADCE pass bug for mulitple entries (#3470)

When there are multiple entries and the shader has a variable with
WorkGroup storage class, those multiple entry functions store values to
the variable. Since ADCE pass uses def-use chains to propagate the work
list, some of instructions in the work list are not actually a part of
the currently processed function. As a result, it adds instructions in
other functions and put them in |live_insts_|. However, it does not
have the control flow information for those instructions in other
functions i.e., |block2headerBranch_| and |header2nextHeaderBranch_|.
When it processes those instructions (they are added when it processes a
different function), it skips handling them because they are already in
|live_insts_| and does not check |block2headerBranch_| and
|header2nextHeaderBranch_|, which results in skipping some branches.
Even though those branches are live branches, it considers they are dead
branches.