|
LLVM 23.0.0git
|
#include "llvm/IR/AutoUpgrade.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/StringSwitch.h"#include "llvm/BinaryFormat/Dwarf.h"#include "llvm/IR/AttributeMask.h"#include "llvm/IR/Attributes.h"#include "llvm/IR/CallingConv.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DebugInfo.h"#include "llvm/IR/DebugInfoMetadata.h"#include "llvm/IR/DiagnosticInfo.h"#include "llvm/IR/Function.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/InstVisitor.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Intrinsics.h"#include "llvm/IR/IntrinsicsAArch64.h"#include "llvm/IR/IntrinsicsAMDGPU.h"#include "llvm/IR/IntrinsicsARM.h"#include "llvm/IR/IntrinsicsNVPTX.h"#include "llvm/IR/IntrinsicsRISCV.h"#include "llvm/IR/IntrinsicsWebAssembly.h"#include "llvm/IR/IntrinsicsX86.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/MDBuilder.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/Module.h"#include "llvm/IR/Value.h"#include "llvm/IR/Verifier.h"#include "llvm/Support/AMDGPUAddrSpace.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/NVPTXAddrSpace.h"#include "llvm/Support/NVVMAttributes.h"#include "llvm/Support/Regex.h"#include "llvm/Support/TimeProfiler.h"#include "llvm/TargetParser/Triple.h"#include <cstdint>#include <cstring>#include <numeric>Go to the source code of this file.
Variables | |
| static cl::opt< bool > | DisableAutoUpgradeDebugInfo ("disable-auto-upgrade-debug-info", cl::desc("Disable autoupgrade of debug info")) |
Definition at line 2358 of file AutoUpgrade.cpp.
References llvm::CallingConv::C, llvm::cast(), llvm::dyn_cast(), llvm::Constant::getNullValue(), llvm::Value::getType(), and getX86MaskVec().
Referenced by llvm::UpgradeIntrinsicCall(), upgradeMaskedCompare(), and upgradeX86IntrinsicCall().
Definition at line 1245 of file AutoUpgrade.cpp.
Referenced by upgradeIntrinsicFunction1(), and upgradeNVVMIntrinsicCall().
Definition at line 6486 of file AutoUpgrade.cpp.
Referenced by llvm::copyModuleAttrToFunctions().
|
static |
Definition at line 1251 of file AutoUpgrade.cpp.
References llvm::CastInst::castIsValid(), and llvm::Type::getHalfTy().
Referenced by upgradeIntrinsicFunction1().
|
static |
Definition at line 2044 of file AutoUpgrade.cpp.
References llvm::CallingConv::C, llvm::dyn_cast(), and llvm::FixedVectorType::get().
Referenced by upgradeX86IntrinsicCall().
Definition at line 2032 of file AutoUpgrade.cpp.
References llvm::CallingConv::C, llvm::cast(), llvm::dyn_cast(), llvm::Value::getType(), and getX86MaskVec().
Referenced by upgradeAbs(), upgradeAVX512MaskToSelect(), upgradePMULDQ(), upgradeX86ALIGNIntrinsics(), upgradeX86BinaryIntrinsics(), upgradeX86ConcatShift(), upgradeX86IntrinsicCall(), upgradeX86MaskedShift(), upgradeX86Rotate(), and upgradeX86VPERMT2Intrinsics().
|
static |
Definition at line 4884 of file AutoUpgrade.cpp.
References I.
Referenced by upgradeDbgIntrinsicToDbgRecord().
Definition at line 2012 of file AutoUpgrade.cpp.
References llvm::ArrayRef(), assert(), llvm::cast(), llvm::FixedVectorType::get(), and llvm::isPowerOf2_32().
Referenced by applyX86MaskOn1BitsVec(), emitX86Select(), llvm::UpgradeIntrinsicCall(), upgradeMaskedLoad(), upgradeMaskedStore(), upgradeMaskToInt(), and upgradeX86IntrinsicCall().
Definition at line 6590 of file AutoUpgrade.cpp.
References llvm::dyn_cast_or_null(), and T.
Referenced by llvm::upgradeInstructionLoopAttachment().
Definition at line 5907 of file AutoUpgrade.cpp.
Referenced by upgradeSingleNVVMAnnotation().
|
static |
Definition at line 65 of file AutoUpgrade.cpp.
References llvm::Value::getName(), and llvm::Value::setName().
Referenced by upgradeArmOrAarch64IntrinsicFunction(), upgradeIntrinsicFunction1(), upgradeNVVMIntrinsicCall(), upgradePTESTIntrinsic(), upgradeX86BF16DPIntrinsic(), upgradeX86BF16Intrinsic(), upgradeX86IntrinsicFunction(), upgradeX86IntrinsicsWith8BitMask(), upgradeX86MaskedFPCompare(), upgradeX86MultiplyAddBytes(), and upgradeX86MultiplyAddWords().
Definition at line 69 of file AutoUpgrade.cpp.
References llvm::errs(), llvm::Value::print(), and llvm::reportFatalUsageError().
Referenced by upgradeX86IntrinsicCall().
Definition at line 6477 of file AutoUpgrade.cpp.
References F.
Referenced by llvm::copyModuleAttrToFunctions().
|
static |
Definition at line 1179 of file AutoUpgrade.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), and llvm::Intrinsic::not_intrinsic.
Referenced by upgradeIntrinsicFunction1(), and upgradeNVVMIntrinsicCall().
|
static |
Definition at line 1154 of file AutoUpgrade.cpp.
References llvm::NVPTXAS::ADDRESS_SPACE_SHARED, llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), F, and llvm::Intrinsic::not_intrinsic.
Referenced by upgradeIntrinsicFunction1().
|
static |
Definition at line 1107 of file AutoUpgrade.cpp.
References llvm::NVPTXAS::ADDRESS_SPACE_SHARED, llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), F, llvm::Type::isIntegerTy(), and llvm::Intrinsic::not_intrinsic.
Referenced by upgradeIntrinsicFunction1().
Definition at line 177 of file AutoUpgrade.cpp.
References F.
Referenced by upgradeX86IntrinsicFunction().
Helper to unwrap Metadata MetadataAsValue operands, such as the Value field.
Definition at line 4877 of file AutoUpgrade.cpp.
References llvm::dyn_cast(), and llvm::CallBase::getArgOperand().
Referenced by upgradeDbgIntrinsicToDbgRecord().
Helper to unwrap intrinsic call MetadataAsValue operands.
Return as a plain MDNode, as it's the verifier's job to check these are the correct types later.
Definition at line 4865 of file AutoUpgrade.cpp.
References llvm::dyn_cast(), llvm::dyn_cast_if_present(), and llvm::CallBase::getArgOperand().
Referenced by upgradeDbgIntrinsicToDbgRecord().
|
static |
Definition at line 4537 of file AutoUpgrade.cpp.
References llvm::CallBase::args(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::StringSwitch< T, R >::Case(), llvm::dbgs(), llvm::StringSwitch< T, R >::Default(), llvm::SmallVectorTemplateCommon< T, typename >::end(), F, llvm::ConstantAggregateZero::get(), llvm::FixedVectorType::get(), llvm::ScalableVectorType::get(), llvm::Type::getBFloatTy(), llvm::Value::getName(), llvm::User::getOperand(), getType(), llvm::Value::getType(), llvm_unreachable, and llvm::Intrinsic::not_intrinsic.
Referenced by llvm::UpgradeIntrinsicCall().
Definition at line 2318 of file AutoUpgrade.cpp.
References llvm::CallBase::arg_size(), emitX86Select(), llvm::CallBase::getArgOperand(), and llvm::Value::getType().
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 4684 of file AutoUpgrade.cpp.
References llvm::CallBase::arg_size(), llvm::CallBase::args(), assert(), llvm::cast(), llvm::MDBuilder::createRange(), llvm::dyn_cast(), E(), F, llvm::AtomicRMWInst::FAdd, llvm::AMDGPUAS::FLAT_ADDRESS, llvm::AtomicRMWInst::FMax, llvm::AtomicRMWInst::FMin, llvm::MDNode::get(), llvm::VectorType::get(), llvm::CallBase::getArgOperand(), llvm::CallBase::getAttributes(), llvm::Type::getBFloatTy(), llvm::CallBase::getCallingConv(), llvm::Instruction::getDebugLoc(), llvm::User::getNumOperands(), llvm::CallBase::getOperandBundlesAsDefs(), llvm::Intrinsic::getOrInsertDeclaration(), getType(), llvm::Value::getType(), llvm::ConstantInt::getZExtValue(), I, llvm::Type::isFloatTy(), llvm::Type::isIntegerTy(), llvm::isValidAtomicOrdering(), llvm::ConstantInt::isZero(), llvm::AMDGPUAS::LOCAL_ADDRESS, llvm::NotAtomic, llvm::AMDGPUAS::PRIVATE_ADDRESS, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::reportFatalUsageError(), llvm::SequentiallyConsistent, llvm::Instruction::setMetadata(), llvm::AtomicRMWInst::setVolatile(), llvm::StringSwitch< T, R >::StartsWith(), T1, llvm::AtomicRMWInst::UDecWrap, llvm::AtomicRMWInst::UIncWrap, llvm::Unordered, llvm::AtomicRMWInst::USubCond, and llvm::AtomicRMWInst::USubSat.
Referenced by llvm::UpgradeIntrinsicCall().
|
static |
Definition at line 4594 of file AutoUpgrade.cpp.
References AbstractManglingParser< Derived, Alloc >::Ops, llvm::CallBase::args(), F, llvm::FixedVectorType::get(), llvm::VectorType::get(), llvm::CallBase::getArgOperand(), llvm::CallBase::getIntrinsicID(), llvm::Value::getName(), llvm::User::getOperand(), llvm::Value::getType(), and llvm_unreachable.
Referenced by llvm::UpgradeIntrinsicCall().
|
static |
Definition at line 782 of file AutoUpgrade.cpp.
References assert(), llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Cases(), llvm::cast(), llvm::Default, llvm::StringSwitch< T, R >::Default(), llvm::dyn_cast(), F, llvm::FixedVectorType::get(), llvm::VectorType::get(), llvm::Type::getBFloatTy(), llvm::Intrinsic::getOrInsertDeclaration(), Groups, llvm::Regex::match(), llvm::Intrinsic::not_intrinsic, rename(), llvm::size(), and llvm::StringSwitch< T, R >::StartsWith().
Referenced by upgradeIntrinsicFunction1().
|
static |
Definition at line 2442 of file AutoUpgrade.cpp.
References llvm::CallBase::arg_size(), llvm::CallBase::args(), emitX86Select(), llvm::CallBase::getArgOperand(), llvm::Type::getPrimitiveSizeInBits(), llvm::Type::getScalarSizeInBits(), llvm::Value::getType(), llvm::Type::isFPOrFPVectorTy(), and llvm_unreachable.
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 4956 of file AutoUpgrade.cpp.
References F, llvm::CallBase::getArgOperand(), and llvm::Value::getType().
Referenced by llvm::UpgradeIntrinsicCall().
Convert debug intrinsic calls to non-instruction debug records.
Name - Final part of the intrinsic name, e.g. 'value' in llvm.dbg.value. CI - The debug intrinsic call.
Definition at line 4893 of file AutoUpgrade.cpp.
References llvm::DIExpression::append(), llvm::CallBase::arg_size(), assert(), llvm::DbgVariableRecord::Assign, llvm::DbgLabelRecord::createUnresolvedDbgLabelRecord(), llvm::DbgVariableRecord::createUnresolvedDbgVariableRecord(), llvm::DbgVariableRecord::Declare, llvm::dyn_cast(), llvm::dyn_cast_or_null(), llvm::CallBase::getArgOperand(), llvm::Instruction::getDebugLoc(), getDebugLocSafe(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::Offset, unwrapMAVMetadataOp(), unwrapMAVOp(), and llvm::DbgVariableRecord::Value.
Referenced by llvm::UpgradeIntrinsicCall().
|
static |
Definition at line 1271 of file AutoUpgrade.cpp.
References assert(), llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Cases(), consumeNVVMPtrAddrSpace(), convertIntrinsicValidType(), llvm::Default, llvm::StringSwitch< T, R >::Default(), F, llvm::Intrinsic::getOrInsertDeclaration(), Groups, llvm::Intrinsic::not_intrinsic, llvm::SmallVectorTemplateBase< T, bool >::push_back(), R2, rename(), shouldUpgradeNVPTXBF16Intrinsic(), shouldUpgradeNVPTXSharedClusterIntrinsic(), shouldUpgradeNVPTXTMAG2SIntrinsics(), llvm::StringSwitch< T, R >::StartsWith(), upgradeArmOrAarch64IntrinsicFunction(), and upgradeX86IntrinsicFunction().
Referenced by llvm::UpgradeIntrinsicFunction().
Definition at line 6614 of file AutoUpgrade.cpp.
References AbstractManglingParser< Derived, Alloc >::Ops, llvm::dyn_cast_or_null(), E(), llvm::MDTuple::get(), I, T, and upgradeLoopTag().
Referenced by llvm::upgradeInstructionLoopAttachment().
|
static |
Definition at line 6602 of file AutoUpgrade.cpp.
References assert(), llvm::CallingConv::C, llvm::StringRef::drop_front(), llvm::MDString::get(), llvm::StringRef::size(), and llvm::StringRef::starts_with().
Referenced by upgradeLoopArgument().
|
static |
Definition at line 2380 of file AutoUpgrade.cpp.
References applyX86MaskOn1BitsVec(), llvm::CallBase::arg_size(), llvm::cast(), llvm::FixedVectorType::get(), llvm::Constant::getAllOnesValue(), llvm::CallBase::getArgOperand(), llvm::Constant::getNullValue(), llvm::Value::getType(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, llvm_unreachable, and Signed.
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 2297 of file AutoUpgrade.cpp.
References llvm::Aligned, llvm::CallingConv::C, llvm::cast(), llvm::dyn_cast(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), and getX86MaskVec().
Referenced by upgradeX86IntrinsicCall().
Definition at line 2419 of file AutoUpgrade.cpp.
References A(), B(), llvm::CallBase::getArgOperand(), and Select.
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 2279 of file AutoUpgrade.cpp.
References llvm::Aligned, llvm::CallingConv::C, llvm::cast(), llvm::Data, llvm::dyn_cast(), and getX86MaskVec().
Referenced by upgradeX86IntrinsicCall().
Definition at line 2433 of file AutoUpgrade.cpp.
References llvm::cast(), llvm::CallBase::getArgOperand(), llvm::Value::getType(), and getX86MaskVec().
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 5874 of file AutoUpgrade.cpp.
References llvm::ArrayRef(), assert(), llvm::cast(), llvm::StringRef::empty(), llvm::mdconst::extract(), F, llvm::join(), llvm::Length, llvm::StringRef::split(), llvm::StringRef::trim(), and llvm::utostr().
Referenced by upgradeSingleNVVMAnnotation().
|
static |
Definition at line 2690 of file AutoUpgrade.cpp.
References llvm::Function::arg_size(), llvm::CallingConv::C, llvm::StringSwitch< T, R >::Case(), llvm::cast(), consumeNVVMPtrAddrSpace(), F, llvm::AtomicRMWInst::FAdd, llvm::FixedVectorType::get(), llvm::MDNode::get(), llvm::Function::getArg(), llvm::CallBase::getArgOperand(), llvm::Type::getBFloatTy(), llvm::Type::getInt64Ty(), llvm::Constant::getNullValue(), llvm::User::getOperand(), llvm::Intrinsic::getOrInsertDeclaration(), llvm::Type::getScalarType(), llvm::Value::getType(), I, llvm::Type::isBFloatTy(), llvm::Type::isIntegerTy(), llvm::Monotonic, llvm::Intrinsic::not_intrinsic, rename(), llvm::FastMathFlags::setApproxFunc(), shouldUpgradeNVPTXBF16Intrinsic(), llvm::AtomicRMWInst::UDecWrap, and llvm::AtomicRMWInst::UIncWrap.
Referenced by llvm::UpgradeIntrinsicCall().
Definition at line 2328 of file AutoUpgrade.cpp.
References llvm::CallBase::arg_size(), emitX86Select(), llvm::CallBase::getArgOperand(), llvm::Value::getType(), LHS, and RHS.
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 78 of file AutoUpgrade.cpp.
References F, llvm::FixedVectorType::get(), llvm::Type::getFloatTy(), llvm::Intrinsic::getOrInsertDeclaration(), and rename().
Referenced by upgradeX86IntrinsicFunction().
This checks for objc retain release marker which should be upgraded.
It returns true if module is modified.
Definition at line 6013 of file AutoUpgrade.cpp.
References Changed, llvm::dyn_cast_or_null(), llvm::Module::Error, llvm::MDString::get(), llvm::NamedMDNode::getOperand(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by llvm::UpgradeARCRuntime().
|
static |
Definition at line 5911 of file AutoUpgrade.cpp.
References llvm::cast(), llvm::NVVMAttr::ClusterDim(), llvm::mdconst::extract(), llvm::Attribute::get(), llvm::Value::getContext(), llvm::Attribute::getWithStackAlignment(), llvm::NVVMAttr::GridConstant(), isXYZ(), isZero(), llvm::NVVMAttr::MaxClusterRank(), llvm::NVVMAttr::MaxNReg(), llvm::NVVMAttr::MaxNTID(), llvm::NVVMAttr::MinCTASm(), llvm::CallingConv::PTX_Kernel, llvm::NVVMAttr::ReqNTID(), upgradeNVVMFnVectorAttr(), and llvm::utostr().
Referenced by llvm::UpgradeNVVMAnnotations().
Definition at line 4943 of file AutoUpgrade.cpp.
References llvm::dyn_cast(), llvm::CallBase::getArgOperand(), llvm::Value::getType(), llvm::Offset, and llvm::reportFatalUsageError().
Referenced by llvm::UpgradeIntrinsicCall().
|
static |
Definition at line 2061 of file AutoUpgrade.cpp.
References llvm::ArrayRef(), assert(), llvm::cast(), emitX86Select(), llvm::Constant::getNullValue(), llvm::Value::getType(), and llvm::isPowerOf2_32().
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 167 of file AutoUpgrade.cpp.
References F, llvm::Intrinsic::getOrInsertDeclaration(), and rename().
Referenced by upgradeX86IntrinsicFunction().
|
static |
Definition at line 157 of file AutoUpgrade.cpp.
References F, llvm::Intrinsic::getOrInsertDeclaration(), and rename().
Referenced by upgradeX86IntrinsicFunction().
|
static |
Definition at line 2166 of file AutoUpgrade.cpp.
References llvm::CallBase::arg_size(), emitX86Select(), llvm::User::getOperand(), and llvm::Value::getType().
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 2246 of file AutoUpgrade.cpp.
References llvm::CallBase::arg_size(), llvm::cast(), emitX86Select(), llvm::ConstantAggregateZero::get(), llvm::CallBase::getArgOperand(), llvm::User::getOperand(), llvm::Value::getType(), and std::swap().
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 2849 of file AutoUpgrade.cpp.
References A(), AbstractManglingParser< Derived, Alloc >::Ops, llvm::Aligned, applyX86MaskOn1BitsVec(), llvm::CallBase::arg_size(), llvm::CallBase::args(), llvm::ArrayRef(), assert(), B(), llvm::CallingConv::C, llvm::cast(), llvm::Data, emitX86ScalarSelect(), emitX86Select(), F, llvm::ConstantAggregateZero::get(), llvm::ConstantAsMetadata::get(), llvm::FixedVectorType::get(), llvm::MDNode::get(), llvm::PoisonValue::get(), llvm::VectorType::get(), llvm::Constant::getAllOnesValue(), llvm::CallBase::getArgOperand(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(), llvm::Type::getHalfTy(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::VectorType::getInteger(), llvm::Instruction::getModule(), llvm::Constant::getNullValue(), getNumElements(), llvm::User::getOperand(), llvm::Intrinsic::getOrInsertDeclaration(), llvm::Type::getPrimitiveSizeInBits(), llvm::Type::getScalarSizeInBits(), llvm::ShuffleVectorInst::getShuffleMask(), getType(), llvm::Value::getType(), getX86MaskVec(), High, I, llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLT, llvm::isa(), llvm::Type::isIntegerTy(), LHS, llvm_unreachable, llvm::Offset, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::Value::replaceAllUsesWith(), reportFatalUsageErrorWithCI(), RHS, llvm::Instruction::setMetadata(), Size, std::swap(), upgradeAbs(), upgradeAVX512MaskToSelect(), upgradeMaskedCompare(), upgradeMaskedLoad(), upgradeMaskedMove(), upgradeMaskedStore(), upgradeMaskToInt(), upgradePMULDQ(), upgradeX86ALIGNIntrinsics(), upgradeX86BinaryIntrinsics(), upgradeX86ConcatShift(), upgradeX86MaskedShift(), upgradeX86PSLLDQIntrinsics(), upgradeX86PSRLDQIntrinsics(), upgradeX86Rotate(), upgradeX86vpcom(), and upgradeX86VPERMT2Intrinsics().
Referenced by llvm::UpgradeIntrinsicCall().
Definition at line 544 of file AutoUpgrade.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), F, llvm::Intrinsic::getOrInsertDeclaration(), llvm::Intrinsic::not_intrinsic, rename(), shouldUpgradeX86Intrinsic(), upgradePTESTIntrinsic(), upgradeX86BF16DPIntrinsic(), upgradeX86BF16Intrinsic(), upgradeX86IntrinsicsWith8BitMask(), upgradeX86MaskedFPCompare(), upgradeX86MultiplyAddBytes(), and upgradeX86MultiplyAddWords().
Referenced by upgradeIntrinsicFunction1().
|
static |
Definition at line 94 of file AutoUpgrade.cpp.
References F, llvm::Intrinsic::getOrInsertDeclaration(), llvm::Type::isIntegerTy(), and rename().
Referenced by upgradeX86IntrinsicFunction().
|
static |
Definition at line 110 of file AutoUpgrade.cpp.
References F, llvm::Intrinsic::getOrInsertDeclaration(), and rename().
Referenced by upgradeX86IntrinsicFunction().
|
static |
Definition at line 2412 of file AutoUpgrade.cpp.
References emitX86Select(), and llvm::CallBase::getArgOperand().
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 123 of file AutoUpgrade.cpp.
References llvm::cast(), F, llvm::Intrinsic::getOrInsertDeclaration(), llvm::Type::isVectorTy(), and rename().
Referenced by upgradeX86IntrinsicFunction().
|
static |
Definition at line 141 of file AutoUpgrade.cpp.
References llvm::cast(), F, llvm::Intrinsic::getOrInsertDeclaration(), llvm::Type::isVectorTy(), and rename().
Referenced by upgradeX86IntrinsicFunction().
Definition at line 1946 of file AutoUpgrade.cpp.
References llvm::ArrayRef(), llvm::cast(), llvm::FixedVectorType::get(), and llvm::Constant::getNullValue().
Referenced by upgradeX86IntrinsicCall().
Definition at line 1980 of file AutoUpgrade.cpp.
References llvm::ArrayRef(), llvm::cast(), llvm::FixedVectorType::get(), and llvm::Constant::getNullValue().
Referenced by upgradeX86IntrinsicCall().
Definition at line 2181 of file AutoUpgrade.cpp.
References llvm::CallBase::arg_size(), llvm::cast(), emitX86Select(), llvm::CallBase::getArgOperand(), llvm::User::getOperand(), and llvm::Value::getType().
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 2207 of file AutoUpgrade.cpp.
References llvm::Constant::getAllOnesValue(), llvm::CallBase::getArgOperand(), llvm::Constant::getNullValue(), llvm::Value::getType(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, LHS, llvm_unreachable, and RHS.
Referenced by upgradeX86IntrinsicCall().
|
static |
Definition at line 2106 of file AutoUpgrade.cpp.
References emitX86Select(), llvm::ConstantAggregateZero::get(), llvm::CallBase::getArgOperand(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), llvm_unreachable, and std::swap().
Referenced by upgradeX86IntrinsicCall().