mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
[Reassociate] use dyn_cast instead of isa+cast; NFCI
llvm-svn: 318212
This commit is contained in:
parent
a0cefd153d
commit
5cbaa253c7
@ -143,20 +143,20 @@ XorOpnd::XorOpnd(Value *V) {
|
||||
/// Return true if V is an instruction of the specified opcode and if it
|
||||
/// only has one use.
|
||||
static BinaryOperator *isReassociableOp(Value *V, unsigned Opcode) {
|
||||
if (V->hasOneUse() && isa<Instruction>(V) &&
|
||||
cast<Instruction>(V)->getOpcode() == Opcode &&
|
||||
(!isa<FPMathOperator>(V) || cast<Instruction>(V)->isFast()))
|
||||
return cast<BinaryOperator>(V);
|
||||
auto *I = dyn_cast<Instruction>(V);
|
||||
if (I && I->hasOneUse() && I->getOpcode() == Opcode)
|
||||
if (!isa<FPMathOperator>(I) || I->isFast())
|
||||
return cast<BinaryOperator>(I);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
static BinaryOperator *isReassociableOp(Value *V, unsigned Opcode1,
|
||||
unsigned Opcode2) {
|
||||
if (V->hasOneUse() && isa<Instruction>(V) &&
|
||||
(cast<Instruction>(V)->getOpcode() == Opcode1 ||
|
||||
cast<Instruction>(V)->getOpcode() == Opcode2) &&
|
||||
(!isa<FPMathOperator>(V) || cast<Instruction>(V)->isFast()))
|
||||
return cast<BinaryOperator>(V);
|
||||
auto *I = dyn_cast<Instruction>(V);
|
||||
if (I && I->hasOneUse() &&
|
||||
(I->getOpcode() == Opcode1 || I->getOpcode() == Opcode2))
|
||||
if (!isa<FPMathOperator>(I) || I->isFast())
|
||||
return cast<BinaryOperator>(I);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user