HomeSort by: relevance | last modified time | path
    Searched defs:Extract (Results 1 - 25 of 25) sorted by relevancy

  /src/external/apache2/llvm/dist/llvm/tools/llvm-extract/
llvm-extract.cpp 1 //===- llvm-extract.cpp - LLVM function extraction utility ----------------===//
37 cl::OptionCategory ExtractCat("llvm-extract Options");
62 Recursive("recursive", cl::desc("Recursively extract all called functions"),
65 // ExtractFuncs - The functions to extract from the module.
67 ExtractFuncs("func", cl::desc("Specify function to extract"),
72 // extract from the module.
75 cl::desc("Specify function(s) to extract using a "
80 // ExtractBlocks - The blocks to extract from the module.
84 "Specify <function, basic block1[;basic block2...]> pairs to extract.\n"
89 " --bb=f:bb1;bb2 will extract one function with both bb1 and bb2;\n
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/Support/
BinaryStreamArray.h 14 /// an Extractor type that can extract a record from a given offset and
163 : IterRef(Array.Stream.drop_front(Offset)), Extract(E),
168 auto EC = Extract(IterRef, ThisLen, ThisValue);
177 explicit VarStreamArrayIterator(const Extractor &E) : Extract(E) {}
217 auto EC = Extract(IterRef, ThisLen, ThisValue);
247 Extractor Extract;
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
InterleavedAccessPass.cpp 174 /// <0, 2, 4, 6> (mask of index 0 to extract even elements)
175 /// <1, 3, 5, 7> (mask of index 1 to extract odd elements)
298 // them to later check if they can be modified to extract from one of the
308 auto *Extract = dyn_cast<ExtractElementInst>(User);
309 if (Extract && isa<ConstantInt>(Extract->getIndexOperand())) {
310 Extracts.push_back(Extract);
439 for (auto *Extract : Extracts) {
441 auto *IndexOperand = cast<ConstantInt>(Extract->getIndexOperand());
448 // If the shufflevector instruction doesn't dominate the extract, w
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/
SVEIntrinsicOpts.cpp 411 auto *Extract = Builder.CreateExtractElement(OpVal, SplatValue);
413 Builder.CreateVectorSplat(VTy->getElementCount(), Extract);
AArch64TargetTransformInfo.cpp 248 // This is a base cost of 1 for the vadd, plus 3 extract shifts if we
401 // The intrinsic is extracting lane 0 so use an extract instead.
403 auto *Extract = ExtractElementInst::Create(Vec, ConstantInt::get(IdxTy, 0));
404 Extract->insertBefore(&II);
405 Extract->takeName(&II);
406 return IC.replaceInstUsesWith(II, Extract);
465 // The intrinsic is extracting a fixed lane so use an extract instead.
467 auto *Extract = ExtractElementInst::Create(Vec, ConstantInt::get(IdxTy, Idx));
468 Extract->insertBefore(&II);
469 Extract->takeName(&II)
    [all...]
AArch64ISelDAGToDAG.cpp 624 // high lane extract.
732 /// GPR64 (either via SEXT_INREG or AND). Extract the appropriate low bits if
1917 // Check whether we really have several bits extract here.
1947 // Check for AND + SRL doing several bits extract.
2025 /// extract of a subvector.
2030 SDValue Extract = N->getOperand(0);
2032 EVT NarrowVT = Extract.getValueType();
2038 Extract = peekThroughBitcasts(Extract);
2039 if (Extract.getOpcode() != ISD::EXTRACT_SUBVECTOR
    [all...]
AArch64ISelLowering.cpp 3605 // so that the shift + and get folded into a bitfield extract.
4343 // It first extend the promoted v4i16 to v8i16, truncate to v8i8, and extract
8165 /// generating an "extract from vector registers" instruction.
8296 dbgs() << "Reshuffle failed: result vector too small to extract\n");
8950 // Try to eliminate a bitcasted extract subvector before a DUPLANE.
8957 // The extract index must align in the destination type. That may not
8959 SDValue Extract = BitCast.getOperand(0);
8960 unsigned ExtIdx = Extract.getConstantOperandVal(1);
8961 unsigned SrcEltBitWidth = Extract.getScalarValueSizeInBits();
8967 // Update the lane value by offsetting with the scaled extract index
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/GISel/
AArch64PostLegalizerLowering.cpp 426 /// %extract = G_EXTRACT_VECTOR_ELT %left, 0
427 /// %ins = G_INSERT_VECTOR_ELT %left, %extract, 1
466 auto Extract = Builder.buildExtractVectorElement(ScalarTy, SrcVec, SrcCst);
468 Builder.buildInsertVectorElement(Dst, DstVec, Extract, DstCst);
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
SeparateConstOffsetFromGEP.cpp 85 // (1) It can always extract constants in the indices of structure type.
234 /// the constant offset), or nullptr if we cannot extract a constant offset.
239 static Value *Extract(Value *Idx, GetElementPtrInst *GEP,
244 /// failed). The meaning of the arguments are the same as Extract.
282 /// For example, to extract the 5 from sext(a + (b + 5)), we first distribute
747 // we can extract 5 as the constant offset.
768 Value *ConstantOffsetExtractor::Extract(Value *Idx, GetElementPtrInst *GEP,
821 // Tries to extract a constant offset from this GEP index.
1015 ConstantOffsetExtractor::Extract(OldIdx, GEP, UserChainTail, DT);
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/GlobalISel/
MachineIRBuilder.cpp 536 auto Extract = buildInstr(TargetOpcode::G_EXTRACT);
537 Dst.addDefToMIB(*getMRI(), Extract);
538 Src.addSrcToMIB(Extract);
539 Extract.addImm(Index);
540 return Extract;
  /src/external/apache2/llvm/dist/llvm/lib/Target/RISCV/
RISCVISelDAGToDAG.cpp 1117 // extract which doesn't naturally align to a vector register. These must
1136 SDValue Extract = CurDAG->getTargetExtractSubreg(SubRegIdx, DL, VT, V);
1137 ReplaceNode(Node, Extract.getNode());
RISCVISelLowering.cpp 493 // Custom-lower insert/extract operations to simplify patterns.
560 // Custom-lower insert/extract operations to simplify patterns.
1111 // Attempt to decompose a subvector insert/extract between VecVT and
1113 // can perform the subvector insert/extract with the given element index, as
1417 // type, bitcast to the equivalent (known-legal) mask type, and extract
1966 // is the same as the result type, and extract the first element.
3195 // extract the first element: (extractelt (slidedown vec, idx), 0). For integer
3208 // FIXME: For now we just promote to an i8 vector and extract from that,
3779 // Extract a subvector equal to the nearest full vector register type. This
3830 // elements to safely divide by 8: v8i1 = extract nxv1i1 is valid
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
LoadStoreVectorizer.cpp 18 // that immediately following our new vector load we'll need to extract out the
1106 Value *Extract = Builder.CreateExtractElement(Store->getValueOperand(),
1108 if (Extract->getType() != StoreTy->getScalarType())
1109 Extract = Builder.CreateBitCast(Extract, StoreTy->getScalarType());
1112 Builder.CreateInsertElement(Vec, Extract, Builder.getInt32(NewIdx));
1119 Value *Extract = Store->getValueOperand();
1120 if (Extract->getType() != StoreTy->getScalarType())
1121 Extract =
1122 Builder.CreateBitOrPointerCast(Extract, StoreTy->getScalarType())
    [all...]
VPlan.cpp 244 auto *Extract = Builder.CreateExtractElement(VecPart, Lane);
245 // set(Def, Extract, Instance);
246 return Extract;
  /src/external/apache2/llvm/dist/llvm/tools/llvm-ar/
llvm-ar.cpp 104 x - extract [files] from the archive
199 Extract, ///< Extract files back to file system
224 // match for extract/delete operations when there are multiple matches. This is
242 // Extract the member filename from the command line for the [relpos] argument
251 // Extract the parameter from the command line for the [count] argument
338 Operation = Extract;
437 if (Operation != Extract && Operation != Delete)
440 if (OriginalDates && Operation != Extract)
588 case Extract
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/
WebAssemblyISelLowering.cpp 234 // Sign extends are legal only when extending a vector extract
1636 // is a vector extract of an i8 or i16 lane. SIMD does not depend on sign
1646 const SDValue &Extract = Op.getOperand(0);
1647 MVT VecT = Extract.getOperand(0).getSimpleValueType();
1658 const SDNode *Index = Extract.getOperand(1).getNode();
1668 ISD::EXTRACT_VECTOR_ELT, DL, Extract.getValueType(),
1669 DAG.getBitcast(ExtractedVecT, Extract.getOperand(0)), NewIndex);
2087 auto Extract = N->getOperand(0);
2088 if (Extract.getOpcode() != ISD::EXTRACT_SUBVECTOR)
2090 auto Source = Extract.getOperand(0)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/
InstCombineAddSub.cpp 1160 Instruction *LowBitsToSkip, *Extract;
1163 m_Instruction(Extract))),
1179 // Extraction should extract high NBits bits, with shift amount calculated as:
1180 // low bits to skip = shift bitwidth - high bits to extract
1241 Extract->getName() + ".sext");
1242 NewAShr->copyIRFlags(Extract); // Preserve `exact`-ness.
InstCombineCompares.cpp 2889 Value *Extract = Builder.CreateExtractElement(Vec, Elem);
2891 return new ICmpInst(Pred, Extract, NewC);
5540 // extract(uadd.with.overflow(A, B), 0) ult A
5541 // -> extract(uadd.with.overflow(A, B), 1)
5556 // extract(uadd.with.overflow(A, B), 0) < A
5557 // extract(uadd.with.overflow(A, 1), 0) == 0
5558 // extract(uadd.with.overflow(A, -1), 0) != -1
5562 // A > extract(uadd.with.overflow(A, B), 0)
  /src/external/bsd/openldap/dist/contrib/slapd-modules/comp_match/
componentlib.h 401 ExtractFcn Extract;
431 void InstallAnyByComponentInt (int anyId, ComponentInt intId, unsigned int size, EncodeFcn encode, gser_decoder_func* G_decode, ber_tag_decoder_func B_decode, ExtractFcn extract, MatchFcn match, FreeFcn free, PrintFcn print);
433 void InstallAnyByComponentOid (int anyId, AsnOid *oid, unsigned int size, EncodeFcn encode, gser_decoder_func* G_decode, ber_tag_decoder_func* B_decode, ExtractFcn extract, MatchFcn match, FreeFcn free, PrintFcn print);
  /src/external/apache2/llvm/dist/llvm/lib/IR/
AutoUpgrade.cpp 1114 // i8 and we need to extract down to the right number of elements.
1120 Mask, Mask, makeArrayRef(Indices, NumElts), "extract");
1839 Value *Extract =
1842 StoreInst *SI = Builder.CreateAlignedStore(Extract, Addr, Align(1));
2005 // First extract half of each vector. This gives better codegen than
2428 // Extract a subvector of the first NumDstElts lanes and sign/zero extend.
3583 // Extract the second result and store it.
3833 // Extract the second result and store it.
  /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
AMDGPUISelDAGToDAG.cpp 316 // Figure out if this is really an extract of the high 16-bits of a dword.
2017 // Extract the base and offset if possible.
2410 SDValue Extract
2413 ReplaceUses(SDValue(N, 0), Extract);
SIISelLowering.cpp 1694 SDValue Extract = DAG.getNode(ISD::SRL, SL, MVT::i32, Load, ShiftAmt);
1696 SDValue ArgVal = DAG.getNode(ISD::TRUNCATE, SL, IntVT, Extract);
7450 auto Extract = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, NewOp,
7452 NewOp = DAG.getMergeValues({ Extract, SDValue(NewOp.getNode(), 1) }, DL);
10211 // multiple small extract_vector_elements with a single 32-bit extract.
  /src/external/apache2/llvm/dist/llvm/lib/Target/X86/
X86ISelDAGToDAG.cpp 1834 // extract and a scaled index. Returns false if the simplification is
2383 // Try to fold the mask and shift into an extract and scale.
3565 SDValue Extract = CurDAG->getNode(X86ISD::BZHI, DL, NVT, X, NBits);
3566 ReplaceNode(Node, Extract.getNode());
3567 SelectCode(Extract.getNode());
3624 SDValue Extract = CurDAG->getNode(X86ISD::BEXTR, DL, XVT, X, Control);
3628 insertDAGNode(*CurDAG, SDValue(Node, 0), Extract);
3629 Extract = CurDAG->getNode(ISD::TRUNCATE, DL, NVT, Extract);
3632 ReplaceNode(Node, Extract.getNode())
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/
DAGCombiner.cpp 648 enum class StoreSource { Unknown, Constant, Extract, Load };
656 return StoreSource::Extract;
5139 // Reduce bit extract of low half of an integer to the narrower type.
5166 // AArch64 which match a few 64-bit bit insert / bit extract patterns
6544 /// Helper function for visitOR to extract the needed side of a rotate idiom
6601 // Set Opcode and IsMulOrDiv if the extract opcode matches the needed shift
6635 // Compute the shift amount we need to extract to complete the rotate.
6645 // Now try extract the needed shift from the ExtractFrom op and see if the
6648 // Op to extract from is a mul or udiv by a constant.
6660 // Op to extract from is a shift by a constant
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
ARMISelLowering.cpp 3047 // Extract the first half and return it in two registers.
3066 // Extract the 2nd half and fall through to handle it as an f64 value.
6100 // so that the shift + and get folded into a bitfield extract.
6370 // Extract the lower 32 bits of the shift amount if it's not an i32
6840 // possible. Lower it to a splat followed by an extract.
6873 // It's a float: cast and extract a vector element.
6890 // It's a float: cast and extract a vector element.
7281 // items are valid enough and extract some info from them (they are checked
7334 // or <1,3,5,7>. Check the first two items are valid enough and extract some
8097 // extract the first 8 bytes into the top double word and the last 8 byte
    [all...]

Completed in 134 milliseconds