Lines Matching refs:Arith
188 if (auto *Arith = llvm::dyn_cast<InstArithmetic>(Instr)) {
189 if (Traits::Is64Bit || Arith->getSrc(0)->getType() != IceType_i64) {
190 switch (Arith->getOp()) {
646 inline bool canRMW(const InstArithmetic *Arith) {
647 Type Ty = Arith->getDest()->getType();
653 switch (Arith->getOp()) {
718 auto *Arith = llvm::dyn_cast<InstArithmetic>(I2);
720 if (!Load || !Arith || !Store)
753 Operand *ArithSrcFromLoad = Arith->getSrc(0);
754 Operand *ArithSrcOther = Arith->getSrc(1);
756 if (!Arith->isCommutative() || ArithSrcOther != Load->getDest())
760 if (Arith->getDest() != Store->getData())
762 if (!canRMW(Arith))
769 Arith->dump(Func);
781 Beacon, Arith->getOp());
856 if (auto *Arith = llvm::dyn_cast<InstArithmetic>(Next)) {
857 Operand *Src0 = Arith->getSrc(0);
858 Operand *Src1 = Arith->getSrc(1);
860 NewInst = InstArithmetic::create(Func, Arith->getOp(),
861 Arith->getDest(), Src0, Src1);
3942 const InstArithmetic *Arith, const Inst *Consumer) {
3944 Operand *Src0 = legalize(Arith->getSrc(0));
3945 Operand *Src1 = legalize(Arith->getSrc(1));
3946 Variable *Dest = Arith->getDest();
3947 switch (Arith->getOp()) {
5472 if (auto *Arith = llvm::dyn_cast_or_null<const InstArithmetic>(Instr)) {
5473 return (Arith->getOp() == InstArithmetic::Add);
7401 if (auto *Arith = llvm::dyn_cast<InstArithmetic>(Instr)) {
7403 Variable *Dest = Arith->getDest();
7406 switch (Arith->getOp()) {
7423 Variable *Dest = Arith->getDest();
7424 Operand *Src0 = Arith->getSrc(0);
7425 Operand *Src1 = Arith->getSrc(1);
7426 switch (Arith->getOp()) {
7431 scalarizeArithmetic(Arith->getOp(), Dest, Src0, Src1);
7432 Arith->setDeleted();
7446 scalarizeArithmetic(Arith->getOp(), Dest, Src0, Src1);
7447 Arith->setDeleted();
7451 switch (Arith->getOp()) {
7463 Call->addArg(Arith->getSrc(0));
7464 Call->addArg(Arith->getSrc(1));
7467 Arith->setDeleted();