Refactor operation equivalence checking in BBVectorize by extending Instruction:...
authorHal Finkel <hfinkel@anl.gov>
Thu, 28 Jun 2012 05:42:26 +0000 (05:42 +0000)
committerHal Finkel <hfinkel@anl.gov>
Thu, 28 Jun 2012 05:42:26 +0000 (05:42 +0000)
commitec4e85e3364f50802f2007e4b1e23661d4610366
tree630824715448e25e4159add533273cf8e125c884
parent97a759249d6be2ad4f64b40f6bc14b0c3e77ef32
Refactor operation equivalence checking in BBVectorize by extending Instruction::isSameOperationAs.

Maintaining this kind of checking in different places is dangerous, extending
Instruction::isSameOperationAs consolidates this logic into one place. Here
I've added an optional flags parameter and two flags that are important for
vectorization: CompareIgnoringAlignment and CompareUsingScalarTypes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159329 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Instruction.h
lib/Transforms/Vectorize/BBVectorize.cpp
lib/VMCore/Instruction.cpp