| /external/swiftshader/third_party/llvm-16.0/llvm/lib/CodeGen/ |
| D | IntrinsicLowering.cpp | 1 //===-- IntrinsicLowering.cpp - Intrinsic Lowering default implementation -===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 11 //===----------------------------------------------------------------------===// 25 /// This function is used when we want to lower an intrinsic call to a call of 35 Module *M = CI->getModule(); in ReplaceCallWith() 36 // Get or insert the definition now. in ReplaceCallWith() 39 ParamTys.push_back((*I)->getType()); in ReplaceCallWith() 41 M->getOrInsertFunction(NewFn, FunctionType::get(RetTy, ParamTys, false)); in ReplaceCallWith() 43 IRBuilder<> Builder(CI->getParent(), CI->getIterator()); in ReplaceCallWith() [all …]
|
| D | WasmEHPrepare.cpp | 1 //===-- WasmEHPrepare - Prepare excepton handling for WebAssembly --------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 16 // (In C-style pseudocode) 18 // - Before: 20 // exn = wasm.get.exception(); 21 // selector = wasm.get.selector(); 24 // - After: 50 // function is called from the compiler-generated user code here. 53 // between the compiler-generated user code and the personality function in [all …]
|
| /external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
| D | IntrinsicLowering.cpp | 1 //===-- IntrinsicLowering.cpp - Intrinsic Lowering default implementation -===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 11 //===----------------------------------------------------------------------===// 26 /// This function is used when we want to lower an intrinsic call to a call of 36 Module *M = CI->getModule(); in ReplaceCallWith() 37 // Get or insert the definition now. in ReplaceCallWith() 40 ParamTys.push_back((*I)->getType()); in ReplaceCallWith() 42 M->getOrInsertFunction(NewFn, FunctionType::get(RetTy, ParamTys, false)); in ReplaceCallWith() 44 IRBuilder<> Builder(CI->getParent(), CI->getIterator()); in ReplaceCallWith() [all …]
|
| /external/llvm/lib/CodeGen/ |
| D | IntrinsicLowering.cpp | 1 //===-- IntrinsicLowering.cpp - Intrinsic Lowering default implementation -===// 8 //===----------------------------------------------------------------------===// 12 //===----------------------------------------------------------------------===// 31 // Insert a correctly-typed definition now. in EnsureFunctionExists() 34 ParamTys.push_back(I->getType()); in EnsureFunctionExists() 35 M.getOrInsertFunction(Name, FunctionType::get(RetTy, ParamTys, false)); in EnsureFunctionExists() 42 switch((int)Fn.arg_begin()->getType()->getTypeID()) { in EnsureFPIntrinsicsExist() 55 Fn.arg_begin()->getType()); in EnsureFPIntrinsicsExist() 60 /// ReplaceCallWith - This function is used when we want to lower an intrinsic 70 Module *M = CI->getModule(); in ReplaceCallWith() [all …]
|
| /external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/InstCombine/ |
| D | InstCombineCalls.cpp | 1 //===- InstCombineCalls.cpp -----------------------------------------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 11 //===----------------------------------------------------------------------===// 84 "instcombine-guard-widening-window", 93 if (ITy->getBitWidth() < 32) in getPromotedType() 94 return Type::getInt32Ty(Ty->getContext()); in getPromotedType() 103 IntegerType *BoolTy = Type::getInt1Ty(V->getContext()); in getNegativeIsTrueBoolVec() 104 for (unsigned I = 0, E = V->getNumElements(); I != E; ++I) { in getNegativeIsTrueBoolVec() 105 Constant *Elt = V->getElementAsConstant(I); in getNegativeIsTrueBoolVec() [all …]
|
| /external/swiftshader/third_party/llvm-16.0/llvm/lib/Analysis/ |
| D | ConstantFolding.cpp | 1 //===-- ConstantFolding.cpp - Fold instructions into constants ------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 16 //===----------------------------------------------------------------------===// 67 //===----------------------------------------------------------------------===// 69 //===----------------------------------------------------------------------===// 81 Element = C->getAggregateElement(NumSrcElts - i - 1); in foldConstVectorToAPInt() 83 Element = C->getAggregateElement(i); in foldConstVectorToAPInt() 95 Result |= ElementCI->getValue().zext(Result.getBitWidth()); in foldConstVectorToAPInt() 102 /// This always returns a non-null constant, but it may be a [all …]
|
| /external/swiftshader/third_party/llvm-16.0/llvm/lib/IR/ |
| D | IntrinsicInst.cpp | 1 //===-- IntrinsicInst.cpp - Intrinsic Instruction Wrappers ---------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 9 // This file implements methods that make it really easy to deal with intrinsic 12 // All intrinsic function calls are instances of the call instruction, so these 21 //===----------------------------------------------------------------------===// 36 bool IntrinsicInst::mayLowerToFunctionCall(Intrinsic::ID IID) { in mayLowerToFunctionCall() 38 case Intrinsic::objc_autorelease: in mayLowerToFunctionCall() 39 case Intrinsic::objc_autoreleasePoolPop: in mayLowerToFunctionCall() 40 case Intrinsic::objc_autoreleasePoolPush: in mayLowerToFunctionCall() [all …]
|
| D | AutoUpgrade.cpp | 1 //===-- AutoUpgrade.cpp - Implement auto-upgrade helper functions ---------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 9 // This file implements the auto-upgrade helper functions. 13 //===----------------------------------------------------------------------===// 38 static void rename(GlobalValue *GV) { GV->setName(GV->getName() + ".old"); } in rename() 42 static bool UpgradePTESTIntrinsic(Function* F, Intrinsic::ID IID, in UpgradePTESTIntrinsic() 46 Type *Arg0Type = F->getFunctionType()->getParamType(0); in UpgradePTESTIntrinsic() 47 if (Arg0Type != FixedVectorType::get(Type::getFloatTy(F->getContext()), 4)) in UpgradePTESTIntrinsic() 52 NewFn = Intrinsic::getDeclaration(F->getParent(), IID); in UpgradePTESTIntrinsic() [all …]
|
| /external/swiftshader/third_party/llvm-16.0/llvm/lib/Target/X86/ |
| D | X86InstCombineIntrinsic.cpp | 1 //===-- X86InstCombineIntrinsic.cpp - X86 specific InstCombine pass -------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 14 //===----------------------------------------------------------------------===// 30 VectorType *IntTy = VectorType::getInteger(cast<VectorType>(V->getType())); in getNegativeIsTrueBoolVec() 48 ExtMask->getType()->isIntOrIntVectorTy(1)) in getBoolVecFromMask() 56 // to LLVM masked intrinsics and remove the x86 masked intrinsic defs. 62 // Zero Mask - masked load instruction creates a zero vector. in simplifyX86MaskedLoad() 67 // intrinsic to the LLVM intrinsic to allow target-independent optimizations. in simplifyX86MaskedLoad() 69 // First, cast the x86 intrinsic scalar pointer to a vector pointer to match in simplifyX86MaskedLoad() [all …]
|
| /external/llvm/lib/Transforms/InstCombine/ |
| D | InstCombineCalls.cpp | 1 //===- InstCombineCalls.cpp -----------------------------------------------===// 8 //===----------------------------------------------------------------------===// 12 //===----------------------------------------------------------------------===// 37 if (ITy->getBitWidth() < 32) in getPromotedType() 38 return Type::getInt32Ty(Ty->getContext()); in getPromotedType() 46 while (!T->isSingleValueType()) { in reduceToSingleValueType() 48 if (STy->getNumElements() == 1) in reduceToSingleValueType() 49 T = STy->getElementType(0); in reduceToSingleValueType() 53 if (ATy->getNumElements() == 1) in reduceToSingleValueType() 54 T = ATy->getElementType(); in reduceToSingleValueType() [all …]
|
| /external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/ |
| D | ConstantFolding.cpp | 1 //===-- ConstantFolding.cpp - Fold instructions into constants ------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 16 //===----------------------------------------------------------------------===// 60 //===----------------------------------------------------------------------===// 62 //===----------------------------------------------------------------------===// 74 Element = C->getAggregateElement(NumSrcElts - i - 1); in foldConstVectorToAPInt() 76 Element = C->getAggregateElement(i); in foldConstVectorToAPInt() 88 Result |= ElementCI->getValue().zextOrSelf(Result.getBitWidth()); in foldConstVectorToAPInt() 95 /// This always returns a non-null constant, but it may be a [all …]
|
| /external/clang/lib/CodeGen/ |
| D | CGBuiltin.cpp | 1 //===---- CGBuiltin.cpp - Emit LLVM Code for builtins ---------------------===// 8 //===----------------------------------------------------------------------===// 12 //===----------------------------------------------------------------------===// 36 /// getBuiltinLibFunction - Given a builtin id for a function like 42 // Get the name, skip over the __builtin_ prefix (if necessary). in getBuiltinLibFunction() 49 if (FD->hasAttr<AsmLabelAttr>()) in getBuiltinLibFunction() 55 cast<llvm::FunctionType>(getTypes().ConvertType(FD->getType())); in getBuiltinLibFunction() 66 if (V->getType()->isPointerTy()) in EmitToInt() 69 assert(V->getType() == IntType); in EmitToInt() 77 if (ResultType->isPointerTy()) in EmitFromInt() [all …]
|
| /external/swiftshader/third_party/llvm-16.0/llvm/lib/Target/AMDGPU/ |
| D | AMDGPUInstCombineIntrinsic.cpp | 1 //===- AMDGPInstCombineIntrinsic.cpp - AMDGPU specific InstCombine pass ---===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 15 //===----------------------------------------------------------------------===// 61 // Check if a value can be converted to a 16-bit value without losing 67 if (VTy->isHalfTy() || VTy->isIntegerTy(16)) { in canSafelyConvertTo16Bit() 68 // The value is already 16-bit, so we don't want to convert to 16-bit again! in canSafelyConvertTo16Bit() 75 APFloat FloatValue(ConstFloat->getValueAPF()); in canSafelyConvertTo16Bit() 85 APInt IntValue(ConstInt->getValue()); in canSafelyConvertTo16Bit() 94 Type *CastSrcTy = CastSrc->getType(); in canSafelyConvertTo16Bit() [all …]
|
| D | AMDGPUAtomicOptimizer.cpp | 1 //===-- AMDGPUAtomicOptimizer.cpp -----------------------------------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 14 //===----------------------------------------------------------------------===// 27 #define DEBUG_TYPE "amdgpu-atomic-optimizer" 88 DL = &F.getParent()->getDataLayout(); in runOnFunction() 91 DT = DTW ? &DTW->getDomTree() : nullptr; in runOnFunction() 142 if (DA->isDivergentUse(&I.getOperandUse(PtrIdx))) { in visitAtomicRMWInst() 146 const bool ValDivergent = DA->isDivergentUse(&I.getOperandUse(ValIdx)); in visitAtomicRMWInst() 153 (!ST->hasDPP() || DL->getTypeSizeInBits(I.getType()) != 32)) { in visitAtomicRMWInst() [all …]
|
| /external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Mips/ |
| D | MipsSEISelLowering.cpp | 1 //===- MipsSEISelLowering.cpp - MipsSE DAG Lowering Interface -------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 11 //===----------------------------------------------------------------------===// 53 #define DEBUG_TYPE "mips-isel" 56 UseMipsTailCalls("mips-tail-calls", cl::Hidden, 59 static cl::opt<bool> NoDPLoadStore("mno-ldc1-sdc1", cl::init(false), 126 // f16 is a storage-only type, always promote it to f32. in MipsSETargetLowering() 228 // MIPS32r6 replaces the accumulator-based multiplies with a three register in MipsSETargetLowering() 236 // MIPS32r6 replaces the accumulator-based division/remainder with separate in MipsSETargetLowering() [all …]
|
| /external/swiftshader/third_party/llvm-16.0/llvm/lib/Target/Mips/ |
| D | MipsSEISelLowering.cpp | 1 //===- MipsSEISelLowering.cpp - MipsSE DAG Lowering Interface -------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 11 //===----------------------------------------------------------------------===// 53 #define DEBUG_TYPE "mips-isel" 56 UseMipsTailCalls("mips-tail-calls", cl::Hidden, 59 static cl::opt<bool> NoDPLoadStore("mno-ldc1-sdc1", cl::init(false), 123 // f16 is a storage-only type, always promote it to f32. in MipsSETargetLowering() 221 // MIPS32r6 replaces the accumulator-based multiplies with a three register in MipsSETargetLowering() 229 // MIPS32r6 replaces the accumulator-based division/remainder with separate in MipsSETargetLowering() [all …]
|
| /external/swiftshader/third_party/llvm-16.0/llvm/include/llvm/IR/ |
| D | IntrinsicInst.h | 1 //===-- llvm/IntrinsicInst.h - Intrinsic Instruction Wrappers ---*- C++ -*-===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 9 // This file defines classes that make it really easy to deal with intrinsic 14 // ... MCI->getDest() ... MCI->getSource() ... 16 // All intrinsic function calls are instances of the call instruction, so these 21 //===----------------------------------------------------------------------===// 44 /// A wrapper class for inspecting calls to intrinsic functions. 46 /// to intrinsic functions. 53 /// Return the intrinsic ID of this intrinsic. [all …]
|
| /external/llvm/lib/IR/ |
| D | AutoUpgrade.cpp | 1 //===-- AutoUpgrade.cpp - Implement auto-upgrade helper functions ---------===// 8 //===----------------------------------------------------------------------===// 10 // This file implements the auto-upgrade helper functions. 14 //===----------------------------------------------------------------------===// 36 static bool UpgradeSSE41Function(Function* F, Intrinsic::ID IID, in UpgradeSSE41Function() 40 Type *Arg0Type = F->getFunctionType()->getParamType(0); in UpgradeSSE41Function() 41 if (Arg0Type != VectorType::get(Type::getFloatTy(F->getContext()), 4)) in UpgradeSSE41Function() 45 F->setName(F->getName() + ".old"); in UpgradeSSE41Function() 46 NewFn = Intrinsic::getDeclaration(F->getParent(), IID); in UpgradeSSE41Function() 50 // Upgrade the declarations of intrinsic functions whose 8-bit immediate mask [all …]
|
| /external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/ |
| D | AMDGPUAtomicOptimizer.cpp | 1 //===-- AMDGPUAtomicOptimizer.cpp -----------------------------------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 14 //===----------------------------------------------------------------------===// 26 #define DEBUG_TYPE "amdgpu-atomic-optimizer" 85 DL = &F.getParent()->getDataLayout(); in runOnFunction() 88 DT = DTW ? &DTW->getDomTree() : nullptr; in runOnFunction() 139 if (DA->isDivergentUse(&I.getOperandUse(PtrIdx))) { in visitAtomicRMWInst() 143 const bool ValDivergent = DA->isDivergentUse(&I.getOperandUse(ValIdx)); in visitAtomicRMWInst() 150 (!ST->hasDPP() || DL->getTypeSizeInBits(I.getType()) != 32)) { in visitAtomicRMWInst() [all …]
|
| /external/llvm/lib/Analysis/ |
| D | ConstantFolding.cpp | 1 //===-- ConstantFolding.cpp - Fold instructions into constants ------------===// 8 //===----------------------------------------------------------------------===// 17 //===----------------------------------------------------------------------===// 48 //===----------------------------------------------------------------------===// 50 //===----------------------------------------------------------------------===// 53 /// This always returns a non-null constant, but it may be a 57 if (C->isNullValue() && !DestTy->isX86_MMXTy()) in FoldBitCast() 59 if (C->isAllOnesValue() && !DestTy->isX86_MMXTy() && in FoldBitCast() 60 !DestTy->isPtrOrPtrVectorTy()) // Don't get ones for ptr types! in FoldBitCast() 63 // Handle a vector->integer cast. in FoldBitCast() [all …]
|
| /external/swiftshader/third_party/llvm-10.0/llvm/lib/IR/ |
| D | AutoUpgrade.cpp | 1 //===-- AutoUpgrade.cpp - Implement auto-upgrade helper functions ---------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 9 // This file implements the auto-upgrade helper functions. 13 //===----------------------------------------------------------------------===// 36 static void rename(GlobalValue *GV) { GV->setName(GV->getName() + ".old"); } in rename() 40 static bool UpgradePTESTIntrinsic(Function* F, Intrinsic::ID IID, in UpgradePTESTIntrinsic() 44 Type *Arg0Type = F->getFunctionType()->getParamType(0); in UpgradePTESTIntrinsic() 45 if (Arg0Type != VectorType::get(Type::getFloatTy(F->getContext()), 4)) in UpgradePTESTIntrinsic() 50 NewFn = Intrinsic::getDeclaration(F->getParent(), IID); in UpgradePTESTIntrinsic() [all …]
|
| /external/swiftshader/third_party/llvm-16.0/llvm/lib/Target/SPIRV/ |
| D | SPIRVPrepareFunctions.cpp | 1 //===-- SPIRVPrepareFunctions.cpp - modify function signatures --*- C++ -*-===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 10 // and/or return value. Also it substitutes some llvm intrinsic calls by 13 // NOTE: this pass is a module-level one due to the necessity to modify 16 //===----------------------------------------------------------------------===// 57 INITIALIZE_PASS(SPIRVPrepareFunctions, "prepare-functions", 61 IRBuilder<> B(F->getContext()); in processFunctionSignature() 63 bool IsRetAggr = F->getReturnType()->isAggregateType(); in processFunctionSignature() 65 std::any_of(F->arg_begin(), F->arg_end(), [](Argument &Arg) { in processFunctionSignature() [all …]
|
| /external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Instrumentation/ |
| D | MemorySanitizer.cpp | 1 //===- MemorySanitizer.cpp - detector of uninitialized reads --------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 15 /// byte of the application memory, poison the shadow of the malloc-ed 16 /// or alloca-ed memory, load the shadow bits on every memory read, 25 /// optimizations and a fast start-up. But this brings the major issue 29 /// component (e.g. DynamoRIO) to instrument pre-built libraries. 33 /// shadow updates (Memcheck is single-threaded so races are not a 42 /// specialized thread-local shadow for return values 48 /// values. This behavior is controlled with a flag (msan-track-origins) and is [all …]
|
| /external/llvm/lib/Target/NVPTX/ |
| D | NVVMIntrRange.cpp | 1 //===- NVVMIntrRange.cpp - Set !range metadata for NVVM intrinsics --------===// 8 //===----------------------------------------------------------------------===// 13 //===----------------------------------------------------------------------===// 23 #define DEBUG_TYPE "nvvm-intr-range" 28 static cl::opt<unsigned> NVVMIntrRangeSM("nvvm-intr-range-sm", cl::init(20), 62 INITIALIZE_PASS(NVVMIntrRange, "nvvm-intr-range", 65 // Adds the passed-in [Low,High) range information as metadata to the 66 // passed-in call instruction. 68 LLVMContext &Context = C->getParent()->getContext(); in addRangeMetadata() 71 ConstantAsMetadata::get(ConstantInt::get(Int32Ty, Low)), in addRangeMetadata() [all …]
|
| /external/llvm/lib/Target/Mips/ |
| D | MipsSEISelLowering.cpp | 1 //===-- MipsSEISelLowering.cpp - MipsSE DAG Lowering Interface --*- C++ -*-===// 8 //===----------------------------------------------------------------------===// 12 //===----------------------------------------------------------------------===// 27 #define DEBUG_TYPE "mips-isel" 30 EnableMipsTailCalls("enable-mips-tail-calls", cl::Hidden, 33 static cl::opt<bool> NoDPLoadStore("mno-ldc1-sdc1", cl::init(false), 156 // MIPS32r6 replaces the accumulator-based multiplies with a three register in MipsSETargetLowering() 164 // MIPS32r6 replaces the accumulator-based division/remainder with separate in MipsSETargetLowering() 203 // MIPS64r6 replaces the accumulator-based multiplies with a three register in MipsSETargetLowering() 211 // MIPS32r6 replaces the accumulator-based division/remainder with separate in MipsSETargetLowering() [all …]
|