reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
665 if (!parseFunctionName(Callee->getName(), &FInfo)) 669 if (CI->getNumArgOperands() != FInfo.getNumArgs()) 672 if (TDOFold(CI, FInfo)) 678 if (isUnsafeMath(CI) && evaluateCall(CI, FInfo)) 682 switch (FInfo.getId()) { 685 assert ((FInfo.getPrefix() == AMDGPULibFunc::NATIVE || 686 FInfo.getPrefix() == AMDGPULibFunc::HALF) && 688 return (getVecSize(FInfo) != 1) ? false : fold_recip(CI, B, FInfo); 688 return (getVecSize(FInfo) != 1) ? false : fold_recip(CI, B, FInfo); 692 assert ((FInfo.getPrefix() == AMDGPULibFunc::NATIVE || 693 FInfo.getPrefix() == AMDGPULibFunc::HALF) && 695 return (getVecSize(FInfo) != 1) ? false : fold_divide(CI, B, FInfo); 695 return (getVecSize(FInfo) != 1) ? false : fold_divide(CI, B, FInfo); 700 return fold_pow(CI, B, FInfo); 704 return (getVecSize(FInfo) != 1) ? false : fold_rootn(CI, B, FInfo); 704 return (getVecSize(FInfo) != 1) ? false : fold_rootn(CI, B, FInfo); 710 return (getVecSize(FInfo) != 1) ? false : fold_fma_mad(CI, B, FInfo); 710 return (getVecSize(FInfo) != 1) ? false : fold_fma_mad(CI, B, FInfo); 713 return isUnsafeMath(CI) && fold_sqrt(CI, B, FInfo); 716 if ((getArgType(FInfo) == AMDGPULibFunc::F32 || 717 getArgType(FInfo) == AMDGPULibFunc::F64) 718 && (FInfo.getPrefix() == AMDGPULibFunc::NOPFX)) 726 return fold_read_write_pipe(CI, B, FInfo);