search for: valueref

Displaying 16 results from an estimated 16 matches for "valueref".

2010 Oct 23
2
[LLVMdev] Cast failure in SelectionDAGBuilder
...ding to I.Parent.Parent->dump()): define internal %tart.core.Object* @"tart.core.Object.coerce[int32](int32)->tart.core.Object"(i32 %value) gc "tart-gc" { prologue: call void @llvm.dbg.declare(metadata !{i32 %value}, metadata !48487) %gc_root = alloca %"tart.core.ValueRef[char]"*, !dbg !48488 store %"tart.core.ValueRef[char]"* null, %"tart.core.ValueRef[char]"** %gc_root %0 = bitcast %"tart.core.ValueRef[char]"** %gc_root to i8**, !dbg !48488 call void @llvm.gcroot(i8** %0, i8* null), !dbg !48488 br label %entry, !dbg !4848...
2014 Jul 08
1
[PATCH] nv50/ir: use unordered_set instead of list to keep our instructions in uses
...insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp index 13f8cf2..ca3c806 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp @@ -141,9 +141,9 @@ ValueRef::set(Value *refVal) if (value == refVal) return; if (value) - value->uses.remove(this); + value->uses.erase(this); if (refVal) - refVal->uses.push_back(this); + refVal->uses.insert(this); value = refVal; } @@ -206,7 +206,7 @@ ValueDef::repla...
2019 Jul 18
3
[Bug 111167] New: Dividing zero by a uniform in loop header causes segfault in nv50_ir::NVC0LegalizeSSA::handleDIV
...ldn’t crash). Actual results: ------------------------------------------------------------------------------- The shader causes nouveau to segfault. Here is a backtrace obtained from using GDB on the core dump (exact command: $ gdb shader_runner_gles3 core): #0 std::_Deque_iterator<nv50_ir::ValueRef, nv50_ir::ValueRef&, nv50_ir::ValueRef*>::_Deque_iterator ( __x=<error reading variable: Cannot access memory at address 0xb0>, this=<synthetic pointer>) at /usr/include/c++/8/bits/stl_deque.h:1401 #1 std::_Deque_iterator<nv50_ir::ValueRef, nv50_ir::ValueRef&, nv...
2014 Sep 01
0
[PATCH] nv50/ir: use unordered_set instead of list to keep track of var defs
...{ return join; } + inline Instruction *findOwnDefInsn() const; inline Instruction *getUniqueInsn() const; inline Instruction *getInsn() const; // use when uniqueness is certain @@ -583,11 +584,11 @@ public: static inline Value *get(Iterator&); std::tr1::unordered_set<ValueRef *> uses; - std::list<ValueDef *> defs; + std::tr1::unordered_set<ValueDef *> defs; typedef std::tr1::unordered_set<ValueRef *>::iterator UseIterator; typedef std::tr1::unordered_set<ValueRef *>::const_iterator UseCIterator; - typedef std::list<ValueDef *&...
2014 Dec 02
0
[PATCH RESEND] nv50/ir: use unordered_set instead of list to keep track of var defs
...turn join; } + inline Instruction *getUniqueInsnMerged() const; inline Instruction *getUniqueInsn() const; inline Instruction *getInsn() const; // use when uniqueness is certain @@ -583,11 +584,11 @@ public: static inline Value *get(Iterator&); std::tr1::unordered_set<ValueRef *> uses; - std::list<ValueDef *> defs; + std::tr1::unordered_set<ValueDef *> defs; typedef std::tr1::unordered_set<ValueRef *>::iterator UseIterator; typedef std::tr1::unordered_set<ValueRef *>::const_iterator UseCIterator; - typedef std::list<ValueDef *&...
2017 Apr 03
5
[PATCH v2 0/3] nv50/ir: Preapre for running Opts inside a loop
Slowly we are getting to the point, that we miss enough optimization opportunities as the result of our own passes. For this we need to fix AlgebraicOpt to be able to handle mods on sources without creating new issues. The last patch enables looping opts. v2: update commit author Karol Herbst (3): nv50/ir: fix AlgebraicOpt for slcts with mods nv50/ir: handle logops with NOT in AlgebraicOpt
2013 Sep 10
3
[Bug 69155] New: codegen/nv50_ir_emit_nv50.cpp:169:srcAddr8: Assertion `(offset <= 0x1fc || offset == 0x3fc) && !(offset & 0x3)' failed.
...x00007f54bac25e1e in _debug_assert_fail (expr=0x7f54baf08560 "(offset <= 0x1fc || offset == 0x3fc) && !(offset & 0x3)", file=0x7f54baf084c1 "codegen/nv50_ir_emit_nv50.cpp", line=169, function=0x7f54baf09151 <nv50_ir::CodeEmitterNV50::srcAddr8(nv50_ir::ValueRef const&, int)::__FUNCTION__> "srcAddr8") at util/u_debug.c:278 #1 0x00007f54bad5e420 in nv50_ir::CodeEmitterNV50::srcAddr8 (this=0x1f94360, src=..., pos=16) at codegen/nv50_ir_emit_nv50.cpp:169 #2 0x00007f54bad5995e in nv50_ir::CodeEmitterNV50::emitINTERP (this=0x1f94360, i=0x1ece...
2016 Mar 16
2
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
...p b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp > index 6236659..ca475ce 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp > @@ -281,6 +281,7 @@ CodeEmitterNVC0::setAddressByFile(const ValueRef& src) > { > switch (src.getFile()) { > case FILE_MEMORY_BUFFER: > + case FILE_MEMORY_GLOBAL: > srcAddr32(src, 26, 0); > break; > case FILE_MEMORY_LOCAL: > @@ -1768,7 +1769,8 @@ CodeEmitterNVC0::emitCachingMode(CacheMode c) > static...
2015 Nov 05
7
[PATCH mesa 0/5] nouveau: codegen: Make use of double immediates
Hi All, This series implements using double immediates in the nouveau codegen code. This turns the following (nvc0) code: 1: mov u32 $r2 0x00000000 (8) 2: mov u32 $r3 0x3fe00000 (8) 3: add f64 $r0d $r0d $r2d (8) Into: 1: add f64 $r0d $r0d 0.500000 (8) This has been tested with the 2 double shader tests which I just send to the piglet list. On a gk208 (gk110 / SM35)
2016 Mar 16
0
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
...nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp index 6236659..ca475ce 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp @@ -281,6 +281,7 @@ CodeEmitterNVC0::setAddressByFile(const ValueRef& src) { switch (src.getFile()) { case FILE_MEMORY_BUFFER: + case FILE_MEMORY_GLOBAL: srcAddr32(src, 26, 0); break; case FILE_MEMORY_LOCAL: @@ -1768,7 +1769,8 @@ CodeEmitterNVC0::emitCachingMode(CacheMode c) static inline bool uses64bitAddress(const Instruction *ld...
2016 Mar 16
13
[PATCH mesa 1/6] tgsi_build: Fix return of uninitialized memory in tgsi_*_instruction_memory
tgsi_default_instruction_memory / tgsi_build_instruction_memory were returning uninitialized memory for tgsi_instruction_memory.Texture and tgsi_instruction_memory.Format. Note 0 means not set, and thus is a correct default initializer for these. Fixes: 3243b6fc97 ("tgsi: add Texture and Format to tgsi_instruction_memory") Cc: Nicolai Hähnle <nicolai.haehnle at amd.com>
2016 Mar 16
2
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...lium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp > index 8b9328b..6236659 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp > @@ -280,7 +280,7 @@ void > CodeEmitterNVC0::setAddressByFile(const ValueRef& src) > { > switch (src.getFile()) { > - case FILE_MEMORY_GLOBAL: > + case FILE_MEMORY_BUFFER: > srcAddr32(src, 26, 0); > break; > case FILE_MEMORY_LOCAL: > @@ -1768,7 +1768,7 @@ CodeEmitterNVC0::emitCachingMode(CacheMode c) > static inline...
2016 Mar 16
0
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
...drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp >> index 6236659..ca475ce 100644 >> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp >> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp >> @@ -281,6 +281,7 @@ CodeEmitterNVC0::setAddressByFile(const ValueRef& src) >> { >> switch (src.getFile()) { >> case FILE_MEMORY_BUFFER: >> + case FILE_MEMORY_GLOBAL: >> srcAddr32(src, 26, 0); >> break; >> case FILE_MEMORY_LOCAL: >> @@ -1768,7 +1769,8 @@ CodeEmitterNVC0::emitCachin...
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...r_emit_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp index 8b9328b..6236659 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp @@ -280,7 +280,7 @@ void CodeEmitterNVC0::setAddressByFile(const ValueRef& src) { switch (src.getFile()) { - case FILE_MEMORY_GLOBAL: + case FILE_MEMORY_BUFFER: srcAddr32(src, 26, 0); break; case FILE_MEMORY_LOCAL: @@ -1768,7 +1768,7 @@ CodeEmitterNVC0::emitCachingMode(CacheMode c) static inline bool uses64bitAddress(const Instruction *ld...
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...codegen/nv50_ir_emit_nvc0.cpp >> index 8b9328b..6236659 100644 >> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp >> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp >> @@ -280,7 +280,7 @@ void >> CodeEmitterNVC0::setAddressByFile(const ValueRef& src) >> { >> switch (src.getFile()) { >> - case FILE_MEMORY_GLOBAL: >> + case FILE_MEMORY_BUFFER: >> srcAddr32(src, 26, 0); >> break; >> case FILE_MEMORY_LOCAL: >> @@ -1768,7 +1768,7 @@ CodeEmitterNVC0::emitCaching...
2014 Jan 13
20
[PATCH 00/19] nv50: add sampler2DMS/GP support to get OpenGL 3.2
OK, so there's a bunch of stuff in here. The geometry stuff is based on the work started by Bryan Cain and Christoph Bumiller. Patches 01-12: Add support for geometry shaders and fix related issues Patches 13-14: Make it possible for fb clears to operate on texture attachments with an explicit layer set (as is allowed in gl 3.2). Patches 15-17: Make ARB_texture_multisample work