search for: srcty

Displaying 20 results from an estimated 22 matches for "srcty".

Did you mean: src_y
2012 Jun 28
1
[LLVMdev] buildbot with -vectorize
...th one iteration and the timings are consequently not > really reliable. FWIW, it looks like almost all (if not all) of the vectorize compile failures are due to other passes not handling pointer vectors appropriately. For example, lib/Analysis/ValueTracking.cpp contains this code: 427 if (SrcTy->isPointerTy()) 428 SrcBitWidth = TD->getTypeSizeInBits(SrcTy); 429 else 430 SrcBitWidth = SrcTy->getScalarSizeInBits(); and this does not work for pointer vectors. In this case, the solution (for the crash, which happens because getScalarSizeInBits returns 0 for pointer v...
2010 Jul 13
1
[LLVMdev] The question of sext instruction implementation
...TYPE) Sign extend a constant to another type. The bit size of CST must be smaller or equal to the bit size of TYPE. Both types must be integers. But in the code of llvm-2.6, the judge condition just allow smaller to the bit size of TYPE as the following : case Instruction::SExt: return SrcTy->isIntOrIntVector() && DstTy->isIntOrIntVector()&& SrcBitSize < DstBitSize; So I feel confused the difference about the documentation and implementation. Thanks MK ---------------------------------------- www.skyeye.org
2008 Jul 21
2
[LLVMdev] Casting between address spaces and address space semantics
...new type. This is the old dest type with the address space + // changed. We can't simply use the source type, since the element type can be + // changed in the cast in addition to the address space. + const PointerType *DestTy = cast<PointerType>(CI.getDestTy()); + const PointerType *SrcTy = cast<PointerType>(CI.getSrcTy()); + const PointerType *NTy = PointerType::get(DestTy->getElementType(), SrcTy->getAddressSpace()); + + // Only propagate the address space when the source and dest address spaces + // are equivalent, or the source address space is a subset of th...
2012 Jun 24
0
[LLVMdev] buildbot with -vectorize
On 06/24/2012 02:42 PM, Hal Finkel wrote: > On Sun, 24 Jun 2012 08:17:32 +0200 > Tobias Grosser<tobias at grosser.es> wrote: > >> On 06/24/2012 05:42 AM, Hal Finkel wrote: >>> On Thu, 21 Jun 2012 16:25:13 +0200 >>> Tobias Grosser<tobias at grosser.es> wrote: >>> >>>> On 06/21/2012 04:23 PM, Hal Finkel wrote: >>>>>
2012 Jun 24
3
[LLVMdev] buildbot with -vectorize
On Sun, 24 Jun 2012 08:17:32 +0200 Tobias Grosser <tobias at grosser.es> wrote: > On 06/24/2012 05:42 AM, Hal Finkel wrote: > > On Thu, 21 Jun 2012 16:25:13 +0200 > > Tobias Grosser<tobias at grosser.es> wrote: > > > >> On 06/21/2012 04:23 PM, Hal Finkel wrote: > >>> On Thu, 21 Jun 2012 01:03:46 +0200 > >>> Tobias
2014 Jun 23
1
[PATCH] nv50/ir: make ARB_viewport_array behave like it does with other drivers
...se + mkStore(OP_EXPORT, TYPE_U32, dstToSym(dst, c), ptr, val); + } } else if (f == TGSI_FILE_TEMPORARY || f == TGSI_FILE_PREDICATE || @@ -2523,6 +2535,14 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn) mkCvt(OP_CVT, dstTy, dst0[c], srcTy, fetchSrc(0, c)); break; case TGSI_OPCODE_EMIT: + /* export the saved viewport index */ + if (viewport != NULL) { + Symbol *VPSym = mkSymbol(FILE_SHADER_OUTPUT, info->io.viewportID, + TYPE_U32, + info-...
2008 Jul 21
0
[LLVMdev] Casting between address spaces and address space semantics
...pe with the > address space > + // changed. We can't simply use the source type, since the > element type can be > + // changed in the cast in addition to the address space. > + const PointerType *DestTy = cast<PointerType>(CI.getDestTy()); > + const PointerType *SrcTy = cast<PointerType>(CI.getSrcTy()); > + const PointerType *NTy = PointerType::get(DestTy- > >getElementType(), SrcTy->getAddressSpace()); > + > + // Only propagate the address space when the source and dest > address spaces > + // are equivalent, or the source a...
2008 Jul 18
0
[LLVMdev] Casting between address spaces and address space semantics
Hi Eli, Mon Ping, > In ISO/IEC WG14 n1169 on the C extensions to support embedded > processors, any two address spaces must be disjoint, must be > equivalent, or must be nested. Ah, that standard is a lot clearer on this subject than the DSP-C one I read was. > As Eli indicated, the actual relationship is platform specific depending on > what makes the most sense for
2014 Jun 23
1
[PATCH v3] nv50/ir: make ARB_viewport_array behave like it does with other drivers
...se + mkStore(OP_EXPORT, TYPE_U32, dstToSym(dst, c), ptr, val); + } } else if (f == TGSI_FILE_TEMPORARY || f == TGSI_FILE_PREDICATE || @@ -2523,6 +2538,13 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn) mkCvt(OP_CVT, dstTy, dst0[c], srcTy, fetchSrc(0, c)); break; case TGSI_OPCODE_EMIT: + /* export the saved viewport index */ + if (viewport != NULL) { + Symbol *vpSym = mkSymbol(FILE_SHADER_OUTPUT, 0, TYPE_U32, + info->out[info->io.viewportId].slot[0] * 4); +...
2014 Jun 23
1
[PATCH v2] nv50/ir: make ARB_viewport_array behave like it does with other drivers
...se + mkStore(OP_EXPORT, TYPE_U32, dstToSym(dst, c), ptr, val); + } } else if (f == TGSI_FILE_TEMPORARY || f == TGSI_FILE_PREDICATE || @@ -2523,6 +2537,14 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn) mkCvt(OP_CVT, dstTy, dst0[c], srcTy, fetchSrc(0, c)); break; case TGSI_OPCODE_EMIT: + /* export the saved viewport index */ + if (viewport != NULL) { + Symbol *vpSym = mkSymbol(FILE_SHADER_OUTPUT, info->io.viewportId, + TYPE_U32, + info-...
2011 Jul 29
1
[LLVMdev] alignment checking in isSafeToEliminateVarargsCast
...in InstCombiner::visitCallSite in InstCombineCalls.cpp, which calls function isSafeToEliminateVarargsCast to decide whether it is safe to eliminate a cast instruction and replace the argument that is passed. Would it be possible to add code in isSafeToEliminateVarargsCast that checks alignments of SrcTy and DstTy and returns false if they are not the same? Or are there better ways to circumvent this problem? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110729/825cf9bb/attachment.html>
2008 Jul 17
4
[LLVMdev] Casting between address spaces and address space semantics
In ISO/IEC WG14 n1169 on the C extensions to support embedded processors, any two address spaces must be disjoint, must be equivalent, or must be nested. As Eli indicated, the actual relationship is platform specific depending on what makes the most sense for your hardware and how the program will behave will depend on that relationship. -- Mon Ping On Jul 17, 2008, at 7:25 AM, Eli
2012 Dec 10
3
[LLVMdev] [PATCH] Teaching ScalarEvolution to handle IV=add(zext(trunc(IV)), Step)
...ion.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -2770,6 +2770,17 @@ const SCEV *ScalarEvolution::getMinusSCEV(const SCEV *LHS, const SCEV *RHS, return getAddExpr(LHS, getNegativeSCEV(RHS), Flags); } +const SCEV * +ScalarEvolution::getTruncateAndZeroExtend(const SCEV *V, Type *Ty) { + Type *SrcTy = V->getType(); + assert((SrcTy->isIntegerTy() || SrcTy->isPointerTy()) && + (Ty->isIntegerTy() || Ty->isPointerTy()) && + "Cannot truncate and zero extend with non-integer arguments!"); + const SCEV *trunc = getTruncateExpr(V, Ty); + cons...
2015 Feb 20
10
[PATCH 01/11] nvc0/ir: add emission of dadd/dmul/dmad opcodes, fix minmax
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- .../drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 66 +++++++++++++++++++++- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp index dfb093c..e38a3b8 100644 ---
2016 Jan 14
0
[PATCH] nv50/ir: only use FILE_LOCAL_MEMORY for temp arrays that use indirection
...(src.isIndirect(0)) - mainTempsInLMem = true; + indirectTempArrays.insert(src.getArrayId()); } else if (src.getFile() == TGSI_FILE_BUFFER) { info->io.globalAccess |= (insn.getOpcode() == TGSI_OPCODE_LOAD) ? @@ -1434,6 +1453,7 @@ private: DataType srcTy; DataArray tData; // TGSI_FILE_TEMPORARY + DataArray lData; // TGSI_FILE_TEMPORARY, for indirect arrays DataArray aData; // TGSI_FILE_ADDRESS DataArray pData; // TGSI_FILE_PREDICATE DataArray oData; // TGSI_FILE_OUTPUT (if outputs in registers) @@ -1637,7 +1657,7 @@ Converter::g...
2013 Feb 04
2
[LLVMdev] Vectorizer using Instruction, not opcodes
Hi Hal, On Feb 4, 2013, at 2:09 PM, Hal Finkel <hfinkel at anl.gov> wrote: > ----- Original Message ----- >> From: "Renato Golin" <renato.golin at linaro.org> >> To: "Arnold Schwaighofer" <aschwaighofer at apple.com> >> Cc: "LLVM Dev" <llvmdev at cs.uiuc.edu>, "Nadav Rotem" <nrotem at apple.com>, "Hal
2016 Apr 07
7
Implementing a proposed InstCombine optimization
I am not entirely sure this is safe. Transforming this to an fsub could change the value stored on platforms that implement negates using arithmetic instead of with bitmath (such as ours) and either canonicalize NaNs or don’t support denormals. This is actually important because this kind of bitmath on floats is very commonly used as part of algorithms for complex math functions that need to get
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...gt;isSimple() || NoMemOps) { IsSimpleLoadStore = false; return false; } } > + // We can vectorize casts, but not casts of pointer types, etc. > + bool IsCast = false; > + if (I->isCast()) { > + IsCast = true; > + if (!cast<CastInst>(I)->getSrcTy()->isSingleValueType()) { > + IsCast = false; > + } else if (!cast<CastInst>(I)->getDestTy()->isSingleValueType()) { > + IsCast = false; > + } else if (cast<CastInst>(I)->getSrcTy()->isPointerTy()) { > + IsCast = false; > +...
2011 Dec 14
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...dStore = false; > return false; > } > } > > > + // We can vectorize casts, but not casts of pointer types, etc. > > + bool IsCast = false; > > + if (I->isCast()) { > > + IsCast = true; > > + if (!cast<CastInst>(I)->getSrcTy()->isSingleValueType()) { > > + IsCast = false; > > + } else if (!cast<CastInst>(I)->getDestTy()->isSingleValueType()) { > > + IsCast = false; > > + } else if (cast<CastInst>(I)->getSrcTy()->isPointerTy()) { > > +...
2011 Nov 23
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 21:22 -0600, Hal Finkel wrote: > On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote: > > Tobias, > > > > I've attached an updated patch. It contains a few bug fixes and many > > (refactoring and coding-convention) changes inspired by your comments. > > > > I'm currently trying to fix the bug responsible for causing a compile