[IR] Value: Fix OpCode checks
authorSami Tolvanen <samitolvanen@google.com>
Thu, 10 Jun 2021 23:18:57 +0000 (16:18 -0700)
committerNick Desaulniers <ndesaulniers@google.com>
Thu, 10 Jun 2021 23:46:33 +0000 (16:46 -0700)
commitffaca140d01b0b93723c3322b08351b03b95831f
tree879b006447f068ab6d712390d97e0d020969a69b
parent5a1589fc6d1131e6d73c498cc5987433d1c5e098
[IR] Value: Fix OpCode checks

Value::SubclassID cannot be directly compared to Instruction enums, such as
Instruction::{Call,Invoke,CallBr}. We have to first subtract InstructionVal
from the SubclassID to get the OpCode, similar to Instruction::getOpCode().

Reviewed By: nickdesaulniers

Differential Revision: https://reviews.llvm.org/D104043
llvm/lib/IR/Value.cpp