Lines Matching refs:Arith
175 if (auto *Arith = llvm::dyn_cast<InstArithmetic>(Instr)) {
176 if (Traits::Is64Bit || Arith->getSrc(0)->getType() != IceType_i64) {
177 switch (Arith->getOp()) {
649 inline bool canRMW(const InstArithmetic *Arith) {
650 Type Ty = Arith->getDest()->getType();
656 switch (Arith->getOp()) {
721 auto *Arith = llvm::dyn_cast<InstArithmetic>(I2);
723 if (!Load || !Arith || !Store)
756 Operand *ArithSrcFromLoad = Arith->getSrc(0);
757 Operand *ArithSrcOther = Arith->getSrc(1);
759 if (!Arith->isCommutative() || ArithSrcOther != Load->getDest())
763 if (Arith->getDest() != Store->getData())
765 if (!canRMW(Arith))
772 Arith->dump(Func);
783 Beacon, Arith->getOp());
854 if (auto *Arith = llvm::dyn_cast<InstArithmetic>(Next)) {
855 Operand *Src0 = Arith->getSrc(0);
856 Operand *Src1 = Arith->getSrc(1);
858 NewInst = InstArithmetic::create(Func, Arith->getOp(),
859 Arith->getDest(), Src0, Src1);
3866 const InstArithmetic *Arith, const Inst *Consumer) {
3868 Operand *Src0 = legalize(Arith->getSrc(0));
3869 Operand *Src1 = legalize(Arith->getSrc(1));
3870 Variable *Dest = Arith->getDest();
3871 switch (Arith->getOp()) {
5393 if (auto *Arith = llvm::dyn_cast_or_null<const InstArithmetic>(Instr)) {
5394 return (Arith->getOp() == InstArithmetic::Add);
7353 if (auto *Arith = llvm::dyn_cast<InstArithmetic>(Instr)) {
7355 Variable *Dest = Arith->getDest();
7358 switch (Arith->getOp()) {
7375 Variable *Dest = Arith->getDest();
7376 Operand *Src0 = Arith->getSrc(0);
7377 Operand *Src1 = Arith->getSrc(1);
7378 switch (Arith->getOp()) {
7383 scalarizeArithmetic(Arith->getOp(), Dest, Src0, Src1);
7384 Arith->setDeleted();
7398 scalarizeArithmetic(Arith->getOp(), Dest, Src0, Src1);
7399 Arith->setDeleted();
7403 switch (Arith->getOp()) {
7415 Call->addArg(Arith->getSrc(0));
7416 Call->addArg(Arith->getSrc(1));
7419 Arith->setDeleted();