Displaying 20 results from an estimated 700 matches similar to: "[LLVMdev] debug stoppoints and control flow"
2009 Nov 17
2
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hi Devang,
>> I use llvm and llvm-gcc as a C-to-C transformation tool using a
>> modified version of the c backend, and rely on llvm debug instructions
>> to link back to the original source code.
>>
>> Does anyone know how to get detailed line number and variable debug
>> information at optimization levels beyond O0?
>>
>> Currently, I extract this
2009 Nov 17
0
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hi Martijn,
On Tue, Nov 17, 2009 at 3:25 AM, Martijn <martijn at martijnrutten.com> wrote:
>>
>> Without mem2reg pass, you're unlikely to get much optimization done on your IR.
>
> Clear, thanks! I presume the mem2reg pass is also essential in the
> CLang frontend, so CLang is not an alternative to llvm-gcc to keep
> more debug information?
Yes.
> For the
2009 Nov 16
0
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hi Martijn
On Fri, Nov 13, 2009 at 4:52 AM, Martijn <martijn at martijnrutten.com> wrote:
> Hello,
>
> I use llvm and llvm-gcc as a C-to-C transformation tool using a
> modified version of the c backend, and rely on llvm debug instructions
> to link back to the original source code.
>
> Does anyone know how to get detailed line number and variable debug
> information
2009 Nov 13
2
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hello,
I use llvm and llvm-gcc as a C-to-C transformation tool using a
modified version of the c backend, and rely on llvm debug instructions
to link back to the original source code.
Does anyone know how to get detailed line number and variable debug
information at optimization levels beyond O0?
Currently, I extract this debug information by compiling with -g.
This works fine with
2009 Apr 06
2
[LLVMdev] debug stoppoint nodes with -fast option
I need to generate line number debug information for PIC16 target.
PIC16 does not support dwarf format. It supports coff format. So I need
to custom handle the STOPPOINT nodes. Without -fast option the STOPPOINT
nodes are not created in dag because of the below check in
SelectionDAGBuild.cpp
if (Fast)
DAG.setRoot(DAG.getDbgStopPoint(getRoot(),
If I give -fast option then the Fast
2009 Apr 06
0
[LLVMdev] debug stoppoint nodes with -fast option
On Apr 5, 2009, at 11:54 PMPDT, vasudev wrote:
> I need to generate line number debug information for PIC16 target.
> PIC16 does not support dwarf format. It supports coff format. So I
> need
> to custom handle the STOPPOINT nodes. Without -fast option the
> STOPPOINT
> nodes are not created in dag because of the below check in
> SelectionDAGBuild.cpp
> if (Fast)
2009 Apr 08
2
[LLVMdev] debug stoppoint nodes with -fast option
Thanks for the info regarding DebugLoc field. Another related question
that I have is regarding debug info for local variables. With -fast
option, ISD::DECLARE nodes are created in DAG for debug info of local
variables. I am planning to custom handle these nodes, get the required
info from llvm.dbg.variable global address and emit it in ISel. But
without -fast option ISD::DECLARE nodes
2009 Apr 08
0
[LLVMdev] debug stoppoint nodes with -fast option
On Apr 7, 2009, at 9:52 PMPDT, vasudev wrote:
> Thanks for the info regarding DebugLoc field. Another related
> question
> that I have is regarding debug info for local variables. With -fast
> option, ISD::DECLARE nodes are created in DAG for debug info of local
> variables. I am planning to custom handle these nodes, get the
> required
> info from llvm.dbg.variable
2008 Oct 31
2
[LLVMdev] Optimizations and debug info
[Moving discussion to LLVMdev]
On 2008-10-31 21:55, Dan Gohman wrote:
> Hi Török,
>
> @llvm.dbg.stoppoint actually does read and write memory, in a
> sense. It's a point where a user could stop in a debugger, and
> use the debugger to both read and write memory. If the optimizers
> are allowed to reorder or delete memory operations, these
> intrinsics will become
2008 Nov 03
0
[LLVMdev] Optimizations and debug info
On Oct 31, 2008, at 1:29 PM, Török Edwin wrote:
> Hi Dan,
> I am actually more interested in Analysis working in presence of debug
> info, but in order to get any meaningful results, you need to run some
> transformations, at least GVN, otherwise loops aren't transformed to
> canonical form either.
Right.
> So we could:
> - teach GVN that a dependency on a debug
2008 Nov 03
2
[LLVMdev] Optimizations and debug info
On 2008-11-03 12:33, Chris Lattner wrote:
> On Oct 31, 2008, at 1:29 PM, Török Edwin wrote:
>
>> Hi Dan,
>> I am actually more interested in Analysis working in presence of debug
>> info, but in order to get any meaningful results, you need to run some
>> transformations, at least GVN, otherwise loops aren't transformed to
>> canonical form either.
2009 Sep 10
10
[LLVMdev] [PROPOSAL] Attach debugging information with LLVM instruction
Hi All,
Today, debugging information is encoded in LLVM IR using various
llvm.dbg intrinsics, such as llvm.dbg.stoppoint. For exmaple,
!1 = metadata !{i32 458769, i32 0, i32 12, metadata !"foo.c", metadata
!"/tmp", metadata !"clang 1.0", i1 true, i1 false, metadata !"", i32
0}
...
call void @llvm.dbg.stoppoint(i32 5, i32 5, metadata !1)
store i32
2005 Jan 03
0
[LLVMdev] [patch] native AMD64 support
Markus F.X.J. Oberhumer wrote:
> Hello folks,
>
> with the small patch attached below the whole llvm toolchain (llvm & llvm-gcc)
> will compile and run under AMD64 Linux in native 64-bit LP64 mode.
>
> This means that compilation, bytecode management and CWriter output all work
> as expected. Of course there is no JIT, and the bytecode interpreter is still
> very
2009 May 08
2
[LLVMdev] Some questions on the output formats of AliasSetTracker
Dear Staff,
Here are some questions on the output formats of AliasSetTracker.
The code is as below:
int G1 = 9;
int G2 = 5;
int main() {
int * XX;
int * YY;
XX = &G1;
YY = XX;
YY = &G2;
XX = &G2;
}
The output for -anders-aa is:
Alias Set Tracker: 5 alias sets for 4 pointer values.
AliasSet[0xea6fb0,0] may alias, Mod/Ref
10 Call Sites: void ({ }*)*
2004 Oct 05
1
[LLVMdev] debugging info questions
Hi, It's taking me a while to get familiar with the cfe in order to
add emitting stop points for debugging. It's a lot to work through, so
in order to speed things up, I've got a few questions. Any help would
be appreciated.
I understand the design of the intrinsics once they're in the code,
but how to generate them is still a little fuzzy, mainly because
llvm_expand is a little
2009 May 08
1
[LLVMdev] Some questions on the output formats of AliasSetTracker
Quoting Eli Friedman <eli.friedman at gmail.com>:
Dear Eli,
Thanks very much for your reply. I have modified the XX and YY to
be global variables, but the output of AliasSetTracker are still MUST
alias:
Alias Set Tracker: 5 alias sets for 4 pointer values.
AliasSet[0xea55d0,0] may alias, Mod/Ref
8 Call Sites: void ({ }*)* @llvm.dbg.func.start, void (i32, i32,
{ }*)*
2009 Sep 30
2
[LLVMdev] Internalize pass
I'm playing around with different combinations of LTO passes, and I've run
into a strange problem:
I have a 'main' function that looks like this:
define i32
@"main(tart.core.Array[tart.core.String])->int"(%"tart.core.Array[tart.core.String]"*
%args) {
entry:
call void @llvm.dbg.func.start(metadata !0)
call void @llvm.dbg.stoppoint(i32 2, i32 19, metadata
2008 Nov 03
0
[LLVMdev] Optimizations and debug info
On Nov 3, 2008, at 5:22 AM, Török Edwin wrote:
>> OTOH, I'm not sure how to best handle global memory updates w.r.t.
>> stoppoints. Dan is absolutely right that stoppoints represent a
>> point
>> where we'd like to preserve observable memory state, and so it makes
>> sense to treat them as memory read points at the least. However, if
>> we want to
2009 Oct 03
2
[LLVMdev] Internalize pass
Well, after some investigation I have a few more clues as to what is
going on.
I have a module which contains a call to an external native function.
This native function lives in a static library, and there is an external
declaration for it in the module.
I find that I can run "llvm-ld -disable-opts -native -l mylibrary
test.bc" and it works fine. That is, llvm-ld is able to
2009 Sep 30
0
[LLVMdev] Internalize pass
On Sep 30, 2009, at 12:06 AM, Talin wrote:
> I'm playing around with different combinations of LTO passes, and
> I've run into a strange problem:
>
> I have a 'main' function that looks like this:
>
> define i32 @"main(tart.core.Array[tart.core.String])-
> >int"(%"tart.core.Array[tart.core.String]"* %args) {
> entry:
> call