Displaying 20 results from an estimated 22 matches for "getref".
Did you mean:
getreg
2014 Jul 21
2
[LLVMdev] LTO type uniquing: ODR assertion failure
...> >>
>> >> We still have access to types via MDNodes directly and the assertion
>> >> that
>> >> assumes all accesses to DITypes are accessing the resolved DIType will
>> >> fire
>> >>
>> >> i.e assert(Ty == resolve(Ty.getRef()))
>> >>
>> >> One example is the access to DIType via DIArray in SubroutineType. If
>> >> all
>> >> elements in the type array are DITypes we can create a DITypeArray and
>> >> use
>> >> that for SubroutineType's type arr...
2014 Jul 21
2
[LLVMdev] LTO type uniquing: ODR assertion failure
...2014 at 11:32 AM, Manman Ren <manman.ren at gmail.com> wrote:
>>
>>
>> We still have access to types via MDNodes directly and the assertion that
>> assumes all accesses to DITypes are accessing the resolved DIType will fire
>>
>> i.e assert(Ty == resolve(Ty.getRef()))
>>
>> One example is the access to DIType via DIArray in SubroutineType. If all
>> elements in the type array are DITypes we can create a DITypeArray and use
>> that for SubroutineType's type array instead. But we currently have
>> unspecified parameter in the...
2015 Jul 27
2
[LLVMdev] [un]wrapping llvm:DITypeRef
...a DITypeRef is actually declared in DIType:
class DIType : public DIScope {
...
public:
...
operator DITypeRef () const {
^^^^^^^^^^^^^^^^^^
assert(isType() &&
"constructing DITypeRef from an MDNode that is not a type");
return DITypeRef(&*getRef());
}
This, through a series of specializations, befriendings, etc., is able to
get to the private constructor of DITypeRef.
This should help solve my problem, once I figure out how to construct a
properly equivalent DIType.
Thanks.
> HTH,
> Andrew
--
Rodney Bates
rodney.m.bates at a...
2014 Jul 21
4
[LLVMdev] LTO type uniquing: ODR assertion failure
...s directly and the assertion
>> >> >> that
>> >> >> assumes all accesses to DITypes are accessing the resolved DIType
>> >> >> will
>> >> >> fire
>> >> >>
>> >> >> i.e assert(Ty == resolve(Ty.getRef()))
>> >> >>
>> >> >> One example is the access to DIType via DIArray in SubroutineType.
>> >> >> If
>> >> >> all
>> >> >> elements in the type array are DITypes we can create a DITypeArray
>> >> &...
2014 Jul 14
3
[LLVMdev] LTO type uniquing: ODR assertion failure
We still have access to types via MDNodes directly and the assertion that
assumes all accesses to DITypes are accessing the resolved DIType will fire
i.e assert(Ty == resolve(Ty.getRef()))
One example is the access to DIType via DIArray in SubroutineType. If all
elements in the type array are DITypes we can create a DITypeArray and use
that for SubroutineType's type array instead. But we currently have
unspecified parameter in the type array and it is not a DIType.
What are...
2015 Jul 27
0
[LLVMdev] [un]wrapping llvm:DITypeRef
...;
> class DIType : public DIScope {
> ...
> public:
> ...
> operator DITypeRef () const {
> ^^^^^^^^^^^^^^^^^^
> assert(isType() &&
> "constructing DITypeRef from an MDNode that is not a type");
> return DITypeRef(&*getRef());
> }
>
> This, through a series of specializations, befriendings, etc., is able to
> get to the private constructor of DITypeRef.
>
> This should help solve my problem, once I figure out how to construct a
> properly equivalent DIType.
>
I was mistaken. This does not...
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
...@@ -771,7 +771,7 @@ llvm::DIType CGDebugInfo::CreateType(const FunctionType *Ty,
SmallVector<llvm::Value *, 16> EltTys;
// Add the result type at least.
- EltTys.push_back(getOrCreateType(Ty->getReturnType(), Unit));
+ EltTys.push_back(getOrCreateType(Ty->getReturnType(), Unit).getRef());
// Set up remainder of arguments if there is a prototype.
// otherwise emit it as a variadic function.
@@ -779,7 +779,7 @@ llvm::DIType CGDebugInfo::CreateType(const FunctionType *Ty,
EltTys.push_back(DBuilder.createUnspecifiedParameter());
else if (const FunctionProtoType *FPT =...
2018 Apr 04
2
nouveau TRAP_M2MF still there on G98
...wap out round for ALIGN). Could you test if going back to
> rounddown fixes problem on your side?
>
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
> @@ -1354,7 +1354,7 @@ nvkm_vmm_get_locked(struct nvkm_vmm *vmm, bool
> getref, bool mapref, bool sparse,
>
> tail = this->addr + this->size;
> if (vmm->func->page_block && next && next->page != p)
> - tail = ALIGN_DOWN(tail, vmm->func->page_block);
> +...
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
...t;> $ llc linked.ll
>>
>> The last step raises an assertion error, assuming you have assertions
>> enabled:
>> llc: lib/CodeGen/AsmPrinter/DwarfUnit.cpp:953: llvm::DIE*
>> llvm::DwarfUnit::getOrCreateTypeDIE(const llvm::MDNode*): Assertion `Ty ==
>> resolve(Ty.getRef()) && "type was not uniqued, possible ODR violation."'
>> failed
>>
>> The initial introduction of the "test" namespace in test2.cpp seems to
>> confuse clang -- test1.cpp and test2.cpp have non-compatible debug
>> information for the te...
2014 Jun 27
2
[LLVMdev] Issues with clang-llvm debug info validity
I looked into this a little. My proposal is this:
- extend DINamespace with an extra UniqueID filed (analogous to DICompositeType)
- add an extra case to DIScope::getRef()
- Let CGDebugInfo create a mangled name for each namespace to use as UID
-> the UID of the anonymous namespace is null.
For example:
namespace a { namespace b {} } -> “_ZN1a", “_ZN1a1b"
!0 = [compile unit]
!1 = metadata !{i32 786489, metadata !0, metadata !”_ZN1a", metad...
2014 Jun 14
2
[LLVMdev] Issues with clang-llvm debug info validity
...S -o test2.ll
$ llvm-link test1.ll test2.ll -S -o linked.ll
$ llc linked.ll
The last step raises an assertion error, assuming you have assertions
enabled:
llc: lib/CodeGen/AsmPrinter/DwarfUnit.cpp:953: llvm::DIE*
llvm::DwarfUnit::getOrCreateTypeDIE(const llvm::MDNode*): Assertion `Ty ==
resolve(Ty.getRef()) && "type was not uniqued, possible ODR violation."'
failed
The initial introduction of the "test" namespace in test2.cpp seems to
confuse clang -- test1.cpp and test2.cpp have non-compatible debug
information for the test::Test type. test1.cpp says that test::Te...
2014 Jul 09
4
[LLVMdev] Issues with clang-llvm debug info validity
...gt; I looked into this a little.
>>>
>>> Thanks for taking a look!
>>>
>>>> My proposal is this:
>>>>
>>>> - extend DINamespace with an extra UniqueID filed (analogous to DICompositeType)
>>>> - add an extra case to DIScope::getRef()
>>>> - Let CGDebugInfo create a mangled name for each namespace to use as UID
>>>> -> the UID of the anonymous namespace is null.
>>>>
>>>> For example:
>>>>
>>>> namespace a { namespace b {} } -> “_ZN1a", “_ZN1a1...
2014 Jun 27
2
[LLVMdev] Issues with clang-llvm debug info validity
...rian Prantl <aprantl at apple.com> wrote:
>> I looked into this a little.
>
> Thanks for taking a look!
>
>> My proposal is this:
>>
>> - extend DINamespace with an extra UniqueID filed (analogous to DICompositeType)
>> - add an extra case to DIScope::getRef()
>> - Let CGDebugInfo create a mangled name for each namespace to use as UID
>> -> the UID of the anonymous namespace is null.
>>
>> For example:
>>
>> namespace a { namespace b {} } -> “_ZN1a", “_ZN1a1b"
>>
>> !0 = [compile unit]...
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
...assertion error, assuming you have assertions
>>>>>> enabled:
>>>>>> llc: lib/CodeGen/AsmPrinter/DwarfUnit.cpp:953: llvm::DIE*
>>>>>> llvm::DwarfUnit::getOrCreateTypeDIE(const llvm::MDNode*): Assertion `Ty ==
>>>>>> resolve(Ty.getRef()) && "type was not uniqued, possible ODR violation."'
>>>>>> failed
>>>>>>
>>>>>> The initial introduction of the "test" namespace in test2.cpp seems to
>>>>>> confuse clang -- test1.cpp and tes...
2018 Mar 03
0
[PATCH] mmu: ALIGN_DOWN correct variable
.../gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
index 93946dcee319..1c12e58f44c2 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
@@ -1354,7 +1354,7 @@ nvkm_vmm_get_locked(struct nvkm_vmm *vmm, bool getref,
bool mapref, bool sparse,
tail = this->addr + this->size;
if (vmm->func->page_block && next && next->page != p)
- tail = ALIGN_DOWN(addr, vmm->func->page_block);
+ tail = ALIGN_DOWN(tail, vmm->func->page_block);
if (addr <= tail &&am...
2018 Apr 04
0
nouveau TRAP_M2MF still there on G98
...al commit I was fixing
(mmu: swap out round for ALIGN). Could you test if going back to
rounddown fixes problem on your side?
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
@@ -1354,7 +1354,7 @@ nvkm_vmm_get_locked(struct nvkm_vmm *vmm, bool
getref, bool mapref, bool sparse,
tail = this->addr + this->size;
if (vmm->func->page_block && next && next->page != p)
- tail = ALIGN_DOWN(tail, vmm->func->page_block);
+ tail = rounddown(tai...
2018 Apr 04
0
nouveau TRAP_M2MF still there on G98
...). Could you test if going back to
>> rounddown fixes problem on your side?
>>
>> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
>> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
>> @@ -1354,7 +1354,7 @@ nvkm_vmm_get_locked(struct nvkm_vmm *vmm, bool
>> getref, bool mapref, bool sparse,
>>
>> tail = this->addr + this->size;
>> if (vmm->func->page_block && next && next->page != p)
>> - tail = ALIGN_DOWN(tail, vmm->func->page_block);
>>...
2015 Jul 26
0
[LLVMdev] [un]wrapping llvm:DITypeRef
On Sun, 26 Jul 2015 at 06:48 Rodney M. Bates <rodney_bates at lcwb.coop> wrote:
> In trying to write a C binding for DIBuilder of llvm 3.6.1, I can't see a
> way to unwrap
> llvm::DITypeRef, declared in include/llvm/IR/DebugInfo.h. This is a class
> with one
> data member, a pointer to Metadata.
>
> If I try to make my C type a struct with one pointer, I can't
2018 Apr 03
2
nouveau TRAP_M2MF still there on G98
Hi!
In commit da5e45e619b3f101420c38b3006a9ae4f3ad19b0:
> drm/nouveau/mmu: ALIGN_DOWN correct variable
>
> Commit 7110c89bb8852ff8b0f88ce05b332b3fe22bd11e ("mmu: swap out round
> for ALIGN") replaced two calls to round/rounddown with ALIGN/ALIGN_DOWN,
> but erroneously applied ALIGN_DOWN to a different variable (addr) and left
> intended variable (tail) not
2015 Jul 25
4
[LLVMdev] [un]wrapping llvm:DITypeRef
In trying to write a C binding for DIBuilder of llvm 3.6.1, I can't see a way to unwrap
llvm::DITypeRef, declared in include/llvm/IR/DebugInfo.h. This is a class with one
data member, a pointer to Metadata.
If I try to make my C type a struct with one pointer, I can't cast it to DITypeRef.
If I try to go inside the classes and use the pointer, I can cast, but can't construct
a