Previously, hasSideEffects was ? for TargetOpcode::PHI and would be inferred as 1. D37065 sets the current inferred properties explicitly. This patch sets hasSideEffects=0 for PHI, as it is for G_PHI. MachineInstr::isSafeToMove has been updated so it still returns false for PHI.
Additionally, HexagonBitSimplify relied on a PHI node having the hasUnmodeledSideEffects property. @kparzysz, does the fix look correct here? Looking at the Hexagon passes, it's probably worth someone familiar with that code auditing code paths that use hasUnmodeledSideEffects or isSafeToMove. e.g. in RDFDeadCode, isLiveInstr will now return false for a PHI instruction rather than true (it would previously have only returned false for a G_PHI).
All unit tests pass with this change.