OSDN Git Service

Set hasSideEffects=0 for PHI and fix affected passes
authorAlex Bradbury <asb@lowrisc.org>
Wed, 8 Nov 2017 20:19:16 +0000 (20:19 +0000)
committerAlex Bradbury <asb@lowrisc.org>
Wed, 8 Nov 2017 20:19:16 +0000 (20:19 +0000)
commit81fd138d3580f42166c012d697124d274dd99d17
treeba92fbe3b589b2d4a66cbe101108f0ff6f3501d1
parentfb2f51970977a0693cba8cf68a1c1a55e7faa7ea
Set hasSideEffects=0 for PHI and fix affected passes

Previously, hasSideEffects was ? for TargetOpcode::PHI and would be inferred
as 1. D37065 sets the previously 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. This patch fixes that assumption.

Differential Revision: https://reviews.llvm.org/D37097

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317721 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/Target.td
lib/CodeGen/MachineInstr.cpp
lib/Target/Hexagon/HexagonBitSimplify.cpp