Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Debug Info Slowing Things Down?!"
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
2011 Jan 06
0
[LLVMdev] Questions about debug info in LLVM 2.8
On Jan 4, 2011, at 7:32 PM, Jacob Zimmermann wrote:
> Hi,
>
> I'm currently porting some code from LLVM 2.6 to 2.8 and need to be able
> to extract the debug info produced by LLVM-GCC and stored in the
> compiled .bc file. However I admit I'm slightly confused about how
> exactly to do that, the documentation doesn't seem to be very clear
> about this, it mainly
2011 Jan 07
1
[LLVMdev] Questions about debug info in LLVM 2.8
On Thu, 2011-01-06 at 11:13 -0800, Devang Patel wrote:
> On Jan 4, 2011, at 7:32 PM, Jacob Zimmermann wrote:
>
> > Hi,
> >
> > I'm currently porting some code from LLVM 2.6 to 2.8 and need to be able
> > to extract the debug info produced by LLVM-GCC and stored in the
> > compiled .bc file. However I admit I'm slightly confused about how
> >
2011 Jan 05
2
[LLVMdev] Questions about debug info in LLVM 2.8
Hi,
I'm currently porting some code from LLVM 2.6 to 2.8 and need to be able
to extract the debug info produced by LLVM-GCC and stored in the
compiled .bc file. However I admit I'm slightly confused about how
exactly to do that, the documentation doesn't seem to be very clear
about this, it mainly describes how to *generate* debug info.
Specifically I'm wondering about the
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
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
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
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:
2013 Dec 19
1
[LLVMdev] Debug Info Verifier: should we create a module pass for it?
On Mon, Dec 16, 2013 at 4:05 PM, Eric Christopher <echristo at gmail.com>wrote:
> My off the cuff idea here is to make it a module pass, but we'll split the
> verification a bit:
>
> a) IR verification time -
>
> Verify debug metadata attached to instructions (i.e. line information).
> Only check it for structure (i.e. do the various metadata nodes have the
>
2009 Sep 22
1
[LLVMdev] getting debug info
I am using the trunk version of llvm-gcc to generate the debug info, and I have
checked out the DebugInfoFinder class. Basically, I am interested in looking up
debug info for structures, and I am wondering if there is a way for me to look
up the debug info associated with a Type * directly instead of building a custom
map from Type * to DICompositeType by iterating through the type iterator
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
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
2012 Aug 09
0
[LLVMdev] Type inconsistency in LLVM 3.1: CGDebugInfo.cpp
On 09.08.2012, at 19:43, "Gaster, Benedict" <Benedict.Gaster at amd.com> wrote:
> 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 =
2012 Aug 09
1
[LLVMdev] Type inconsistency in LLVM 3.1: CGDebugInfo.cpp
Hi Ben,
Thanks that helped a lot.
The problem seems to be that with the move to C++11 we now have:
void std::vector<_Ty>::push_back(std::pair<_Ty1,_Ty2> &&)'
and there no conversion operator that can be applied to convert:
'std::pair<_Ty1,_Ty2>' to 'std::pair<_Ty3,_Ty4> &&
Where:
[
_Ty1=void *,
2018 Jul 24
2
StructType --> DICompositeType?
Is there a more convenient way to obtain a DIType given a Type than matching up the strings for the names?
For example, given:
struct S {
int x, y;
} s;
void foo(S *a) {
a->x = 0;
a->y = 1;
}
There are DIType nodes for the struct Type:
!6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !3, line: 1, size: 64, flags: DIFlagTypePassByValue,