search for: ditypes

Displaying 20 results from an estimated 142 matches for "ditypes".

Did you mean: ditype
2013 Nov 18
2
[LLVMdev] Debug Info Slowing Things Down?!
I think that debug info is slowing a self-hosting build down. This build has been going for ages now and shows no sign of quitting. To reproduce, build a Release+Asserts build of clang. Then use that to build a Debug+Asserts version. Include all of the bells and whistles, like the clang-extras and compiler-rt libraries. The reason I suspect debug info is because of this stack trace: [morbo:llvm]
2013 Nov 18
0
[LLVMdev] Debug Info Slowing Things Down?!
Hi Bill Is this a recent regression? I recently changed the debug info verifier to fix a bug. Thanks, Manman > On Nov 17, 2013, at 5:52 PM, Bill Wendling <isanbard at gmail.com> wrote: > > I think that debug info is slowing a self-hosting build down. This build has been going for ages now and shows no sign of quitting. To reproduce, build a Release+Asserts build of clang. Then
2013 Nov 18
3
[LLVMdev] Debug Info Slowing Things Down?!
I think it might be. I’m attaching a preprocessed file that can show the problem. Compile it with ToT. $ clang++ -g -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -m64 -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcovered-switch-default -Wno-uninitialized -Wno-missing-field-initializers -c
2013 Nov 18
0
[LLVMdev] Debug Info Slowing Things Down?!
Hi Bill, Thanks for the testing case. Most of the time is spent on debug info verifier. I fixed a bug in r194974, now it takes too long to run debug info verification. Debug info verifier is part of the verifier which is a Function Pass. Tot currently tries to pull all reachable debug info MDNodes in each function, which is too time-consuming. The correct fix seems to be separating debug info
2013 Nov 18
2
[LLVMdev] Debug Info Slowing Things Down?!
On Sun, Nov 17, 2013 at 6:35 PM, Manman Ren <manman.ren at gmail.com> wrote: > Hi Bill, > > Thanks for the testing case. Most of the time is spent on debug info > verifier. > I fixed a bug in r194974, now it takes too long to run debug info > verification. > > Debug info verifier is part of the verifier which is a Function Pass. Tot > currently tries to pull all
2013 Nov 18
0
[LLVMdev] Debug Info Slowing Things Down?!
On Mon, Nov 18, 2013 at 10:55 AM, Eric Christopher <echristo at gmail.com>wrote: > On Sun, Nov 17, 2013 at 6:35 PM, Manman Ren <manman.ren at gmail.com> wrote: > > Hi Bill, > > > > Thanks for the testing case. Most of the time is spent on debug info > > verifier. > > I fixed a bug in r194974, now it takes too long to run debug info > >
2013 Nov 18
1
[LLVMdev] Debug Info Slowing Things Down?!
On Mon, Nov 18, 2013 at 11:06 AM, Manman Ren <manman.ren at gmail.com> wrote: > > > > On Mon, Nov 18, 2013 at 10:55 AM, Eric Christopher <echristo at gmail.com> > wrote: >> >> On Sun, Nov 17, 2013 at 6:35 PM, Manman Ren <manman.ren at gmail.com> wrote: >> > Hi Bill, >> > >> > Thanks for the testing case. Most of the time is
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 currentl...
2015 Jul 27
2
[LLVMdev] [un]wrapping llvm:DITypeRef
On 07/25/2015 08:57 PM, Andrew Wilkins wrote: > On Sun, 26 Jul 2015 at 06:48 Rodney M. Bates <rodney_bates at lcwb.coop <mailto: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
2020 Mar 25
2
Find uses of Metadata / DITypes
I'm looking for a way to efficiently traverse the Metadata structure in reverse, or otherwise find DITypes that refer to another DIType. As an example, say I have a DICompositeType describing a struct. Now I want to find other DITypes containing this type, e.g. a DIDerivedType describing its pointer type, or another struct containing this struct as one of its fields. Is this possible in LLVM today? Woul...
2015 Jul 27
0
[LLVMdev] [un]wrapping llvm:DITypeRef
On 07/27/2015 10:59 AM, Rodney M. Bates wrote: > > > On 07/25/2015 08:57 PM, Andrew Wilkins wrote: >> On Sun, 26 Jul 2015 at 06:48 Rodney M. Bates <rodney_bates at lcwb.coop <mailto: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
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
2014 Jul 21
4
[LLVMdev] LTO type uniquing: ODR assertion failure
...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 Sub...
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 Jul 24
2
StructType --> DICompositeType?
..., encoding: DW_ATE_signed) !10 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !6, file: !3, line: 2, baseType: !9, size: 32, offset: 32) but given just the StructType for S there is no direct way to get to the DICompositeType. I've made something work by prescanning all the DITypes in my Module and creating a map that uses type names as the key, being careful to strip "struct." prefixes and maintain scoping for nested structs (e.g., S1::S2), which works, but seems awfully complicated to need to do. Seems like StructType should have a getMetaData() function, but I...
2014 Jul 21
2
[LLVMdev] LTO type uniquing: ODR assertion failure
...t 10:39 AM, Manman Ren <manman.ren at gmail.com> wrote: > > > > On Mon, Jul 14, 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 Subr...
2009 Oct 07
2
[LLVMdev] DebugFactory
On Thu, Oct 1, 2009 at 8:34 PM, Talin <viridia at gmail.com> wrote: > Here is a patch that does just that. This does not work. I'm getting llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp: In member function ‘llvm::DIType clang::CodeGen::CGDebugInfo::CreateQualifiedType(clang::QualType, llvm::DICompileUnit)’: /Users/yash/clean/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp:225: error:
2012 Aug 09
3
[LLVMdev] Type inconsistency in LLVM 3.1: CGDebugInfo.cpp
I'm probably missing something simple here but in: CGDebugInfo.h: std::vector<std::pair<void *, llvm::WeakVH> >ReplaceMap; but then in CGDebugInfo.cpp: llvm::DIType TC = getTypeOrNull(Ty); void * v = Ty.getAsOpaquePtr(); std::pair<void *, llvm::WeakVH> tmp = std::make_pair(v, TC); if (TC.Verify() && TC.isForwardDecl())
2014 Jul 21
2
[LLVMdev] LTO type uniquing: ODR assertion failure
...>> > On Mon, Jul 14, 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...
2009 Oct 07
0
[LLVMdev] DebugFactory
OK so the problem is that the compiler sees '0' and can't decide whether its an integer or a null pointer of type Constant *. I guess the new functions will have to have slightly different names. On Wed, Oct 7, 2009 at 9:50 AM, Devang Patel <devang.patel at gmail.com> wrote: > On Thu, Oct 1, 2009 at 8:34 PM, Talin <viridia at gmail.com> wrote: > > Here is a patch