Un-gvn IsTypeStruct with resources since GVN doesn't work for things that can change without generating a new SSATmp
Summary:
GVN doesn't work on elements that are passed by reference since it assumes ssa form guarantees that if we are using the same ssa tmp, then nothing could have happened to the element but that's obviously not true for things passed by ref.
```
function main(): void {
$res = fopen(__FILE__, 'r');
if ($res is resource) {
echo "resource\n";
} else {
echo "not resource\n";
}
fclose($res);
if ($res is resource) {
echo "resource\n";
} else {
echo "not resource\n";
}
}
```
breaks since after the `fclose` `$res` is no longer a resource but GVN doesn't track this.
Reviewed By: ricklavoie
Differential Revision:
D21288560
fbshipit-source-id:
c85a6330edf11d4a3181ef6e864fedf9a9ec3a50