Home | History | Annotate | Download | only in Scalar

Lines Matching refs:Opcode

202 /// opcode and if it only has one use.
203 static BinaryOperator *isReassociableOp(Value *V, unsigned Opcode) {
205 cast<Instruction>(V)->getOpcode() == Opcode)
275 unsigned Opcode = I->getOpcode();
278 BinaryOperator *LHSBO = isReassociableOp(LHS, Opcode);
279 BinaryOperator *RHSBO = isReassociableOp(RHS, Opcode);
286 LHSBO = isReassociableOp(LHS, Opcode);
290 RHSBO = isReassociableOp(RHS, Opcode);
325 assert(!isReassociableOp(RHS, Opcode) && "LinearizeExpr failed!");
662 static Value *OptimizeAndOrXor(unsigned Opcode,
673 if (Opcode == Instruction::And) // ...&X&~X = 0
676 if (Opcode == Instruction::Or) // ...|X|~X = -1
685 if (Opcode == Instruction::And || Opcode == Instruction::Or) {
694 assert(Opcode == Instruction::Xor);
898 unsigned Opcode = I->getOpcode();
903 Ops.back().Op = ConstantExpr::get(Opcode, V1, V2);
909 switch (Opcode) {
940 switch (Opcode) {
946 if (Value *Result = OptimizeAndOrXor(Opcode, Ops))