Code Release: Gallium.jl - The julia debugger

classic Classic list List threaded Threaded
43 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Code Release: Gallium.jl - The julia debugger

Keno Fischer
Hello everyone,

it is my great pleasure to announce the release of the first alpha version of
Gallium.jl, the julia debugger. This is still an early work-in-progress and meant as a developer release for those interested, but I think I've gotten it to a point that other people can meaningfully start playing with it and trying it out. That said, do expect rough edges and perhaps occasional crashes (though I'll do my best to fix them).

As usual, the Gallium.jl source code is available at https://github.com/Keno/Gallium.jl and the README has some instructions on how to get everything set up. I've also recorded a short video to walk you through the major features and show off what's available right now: https://youtu.be/Kv6TO_gm2yw.

I've been working on this for some time now as many of you probably know,
and I'm really happy to be able to release this version to you today. However,
getting this done wouldn't have been possible without the help of everybody at Julia Computing, who has helped get my open source project into releasable shape. My very special thanks also goes to BlackRock and in particular Michael Turok and Michael Francis, who had generously agreed to sponsor development
of the debugger to make this happen sooner than it otherwise could have.

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno

Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Stefan Karpinski


On Fri, Sep 11, 2015 at 7:49 PM, Keno Fischer <[hidden email]> wrote:
Hello everyone,

it is my great pleasure to announce the release of the first alpha version of
Gallium.jl, the julia debugger. This is still an early work-in-progress and meant as a developer release for those interested, but I think I've gotten it to a point that other people can meaningfully start playing with it and trying it out. That said, do expect rough edges and perhaps occasional crashes (though I'll do my best to fix them).

As usual, the Gallium.jl source code is available at https://github.com/Keno/Gallium.jl and the README has some instructions on how to get everything set up. I've also recorded a short video to walk you through the major features and show off what's available right now: https://youtu.be/Kv6TO_gm2yw.

I've been working on this for some time now as many of you probably know,
and I'm really happy to be able to release this version to you today. However,
getting this done wouldn't have been possible without the help of everybody at Julia Computing, who has helped get my open source project into releasable shape. My very special thanks also goes to BlackRock and in particular Michael Turok and Michael Francis, who had generously agreed to sponsor development
of the debugger to make this happen sooner than it otherwise could have.

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno


Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Tim Holy
In reply to this post by Keno Fischer
Woot! Definitely feels like Christmas! Thanks to Keno and also to the sponsors.
Many of us will benefit from your contributions of time and money to this
project. It's a huge step forward in the maturation of julia.

Can I be greedy and ask for a couple of things?
- It would be nice to know whether this is tracking julia 0.5-dev, or if this
will be runnable on the 0.4 series.
- I would characterize the README as developer-oriented. It might benefit by
starting with a tutorial:
   + create a function with a bug
   + fire up julia, run the function, get the error
   + use the debugger to break-on-error and examine what caused the bug. Also
demonstrate setting a manual breakpoint, stepping, etc.

--Tim

On Friday, September 11, 2015 07:49:48 PM Keno Fischer wrote:

> Hello everyone,
>
> it is my great pleasure to announce the release of the first alpha version
> of
> Gallium.jl, the julia debugger. This is still an early work-in-progress and
> meant as a developer release for those interested, but I think I've gotten
> it to a point that other people can meaningfully start playing with it and
> trying it out. That said, do expect rough edges and perhaps occasional
> crashes (though I'll do my best to fix them).
>
> As usual, the Gallium.jl source code is available at
> https://github.com/Keno/Gallium.jl and the README has some instructions on
> how to get everything set up. I've also recorded a short video to walk you
> through the major features and show off what's available right now:
> https://youtu.be/Kv6TO_gm2yw.
>
> I've been working on this for some time now as many of you probably know,
> and I'm really happy to be able to release this version to you today.
> However,
> getting this done wouldn't have been possible without the help of everybody
> at Julia Computing, who has helped get my open source project into
> releasable shape. My very special thanks also goes to BlackRock and in
> particular Michael Turok and Michael Francis, who had generously agreed to
> sponsor development
> of the debugger to make this happen sooner than it otherwise could have.
>
> Now, it's up to you. Try it out, let me know what you like, what you don't,
> file issues, and perhaps also send me pull requests :). I hope you enjoy!
>
> Keno

Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Tony Kelman
Not the most unambiguous choice of names, there's a 3d graphics library called gallium.


On Saturday, September 12, 2015 at 3:02:28 AM UTC-7, Tim Holy wrote:
Woot! Definitely feels like Christmas! Thanks to Keno and also to the sponsors.
Many of us will benefit from your contributions of time and money to this
project. It's a huge step forward in the maturation of julia.

Can I be greedy and ask for a couple of things?
- It would be nice to know whether this is tracking julia 0.5-dev, or if this
will be runnable on the 0.4 series.
- I would characterize the README as developer-oriented. It might benefit by
starting with a tutorial:
   + create a function with a bug
   + fire up julia, run the function, get the error
   + use the debugger to break-on-error and examine what caused the bug. Also
demonstrate setting a manual breakpoint, stepping, etc.

--Tim

On Friday, September 11, 2015 07:49:48 PM Keno Fischer wrote:

> Hello everyone,
>
> it is my great pleasure to announce the release of the first alpha version
> of
> Gallium.jl, the julia debugger. This is still an early work-in-progress and
> meant as a developer release for those interested, but I think I've gotten
> it to a point that other people can meaningfully start playing with it and
> trying it out. That said, do expect rough edges and perhaps occasional
> crashes (though I'll do my best to fix them).
>
> As usual, the Gallium.jl source code is available at
> <a href="https://github.com/Keno/Gallium.jl" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2FKeno%2FGallium.jl\46sa\75D\46sntz\0751\46usg\75AFQjCNFygrOY9ag_wNJAbSzfUjA3gy71TQ&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2FKeno%2FGallium.jl\46sa\75D\46sntz\0751\46usg\75AFQjCNFygrOY9ag_wNJAbSzfUjA3gy71TQ&#39;;return true;">https://github.com/Keno/Gallium.jl and the README has some instructions on
> how to get everything set up. I've also recorded a short video to walk you
> through the major features and show off what's available right now:
> <a href="https://youtu.be/Kv6TO_gm2yw" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://youtu.be/Kv6TO_gm2yw&#39;;return true;" onclick="this.href=&#39;https://youtu.be/Kv6TO_gm2yw&#39;;return true;">https://youtu.be/Kv6TO_gm2yw.
>
> I've been working on this for some time now as many of you probably know,
> and I'm really happy to be able to release this version to you today.
> However,
> getting this done wouldn't have been possible without the help of everybody
> at Julia Computing, who has helped get my open source project into
> releasable shape. My very special thanks also goes to BlackRock and in
> particular Michael Turok and Michael Francis, who had generously agreed to
> sponsor development
> of the debugger to make this happen sooner than it otherwise could have.
>
> Now, it's up to you. Try it out, let me know what you like, what you don't,
> file issues, and perhaps also send me pull requests :). I hope you enjoy!
>
> Keno

Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Tim Holy
That was my first thought, too.

--Tim

On Saturday, September 12, 2015 04:03:20 AM Tony Kelman wrote:

> Not the most unambiguous choice of names, there's a 3d graphics library
> called gallium.
>
> On Saturday, September 12, 2015 at 3:02:28 AM UTC-7, Tim Holy wrote:
> > Woot! Definitely feels like Christmas! Thanks to Keno and also to the
> > sponsors.
> > Many of us will benefit from your contributions of time and money to this
> > project. It's a huge step forward in the maturation of julia.
> >
> > Can I be greedy and ask for a couple of things?
> > - It would be nice to know whether this is tracking julia 0.5-dev, or if
> > this
> > will be runnable on the 0.4 series.
> > - I would characterize the README as developer-oriented. It might benefit
> > by
> >
> > starting with a tutorial:
> >    + create a function with a bug
> >    + fire up julia, run the function, get the error
> >    + use the debugger to break-on-error and examine what caused the bug.
> >
> > Also
> > demonstrate setting a manual breakpoint, stepping, etc.
> >
> > --Tim
> >
> > On Friday, September 11, 2015 07:49:48 PM Keno Fischer wrote:
> > > Hello everyone,
> > >
> > > it is my great pleasure to announce the release of the first alpha
> >
> > version
> >
> > > of
> > > Gallium.jl, the julia debugger. This is still an early work-in-progress
> >
> > and
> >
> > > meant as a developer release for those interested, but I think I've
> >
> > gotten
> >
> > > it to a point that other people can meaningfully start playing with it
> >
> > and
> >
> > > trying it out. That said, do expect rough edges and perhaps occasional
> > > crashes (though I'll do my best to fix them).
> > >
> > > As usual, the Gallium.jl source code is available at
> > > https://github.com/Keno/Gallium.jl and the README has some instructions
> >
> > on
> >
> > > how to get everything set up. I've also recorded a short video to walk
> >
> > you
> >
> > > through the major features and show off what's available right now:
> > > https://youtu.be/Kv6TO_gm2yw.
> > >
> > > I've been working on this for some time now as many of you probably
> >
> > know,
> >
> > > and I'm really happy to be able to release this version to you today.
> > > However,
> > > getting this done wouldn't have been possible without the help of
> >
> > everybody
> >
> > > at Julia Computing, who has helped get my open source project into
> > > releasable shape. My very special thanks also goes to BlackRock and in
> > > particular Michael Turok and Michael Francis, who had generously agreed
> >
> > to
> >
> > > sponsor development
> > > of the debugger to make this happen sooner than it otherwise could have.
> > >
> > > Now, it's up to you. Try it out, let me know what you like, what you
> >
> > don't,
> >
> > > file issues, and perhaps also send me pull requests :). I hope you
> >
> > enjoy!
> >
> > > Keno

Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Jacob Quinn
Offhand, I wonder if this will work with 0.4 as long as you have > LLVM 3.3 (or possibly 3.7 required). Just a guess.

On Sat, Sep 12, 2015 at 8:18 AM, Tim Holy <[hidden email]> wrote:
That was my first thought, too.

--Tim

On Saturday, September 12, 2015 04:03:20 AM Tony Kelman wrote:
> Not the most unambiguous choice of names, there's a 3d graphics library
> called gallium.
>
> On Saturday, September 12, 2015 at 3:02:28 AM UTC-7, Tim Holy wrote:
> > Woot! Definitely feels like Christmas! Thanks to Keno and also to the
> > sponsors.
> > Many of us will benefit from your contributions of time and money to this
> > project. It's a huge step forward in the maturation of julia.
> >
> > Can I be greedy and ask for a couple of things?
> > - It would be nice to know whether this is tracking julia 0.5-dev, or if
> > this
> > will be runnable on the 0.4 series.
> > - I would characterize the README as developer-oriented. It might benefit
> > by
> >
> > starting with a tutorial:
> >    + create a function with a bug
> >    + fire up julia, run the function, get the error
> >    + use the debugger to break-on-error and examine what caused the bug.
> >
> > Also
> > demonstrate setting a manual breakpoint, stepping, etc.
> >
> > --Tim
> >
> > On Friday, September 11, 2015 07:49:48 PM Keno Fischer wrote:
> > > Hello everyone,
> > >
> > > it is my great pleasure to announce the release of the first alpha
> >
> > version
> >
> > > of
> > > Gallium.jl, the julia debugger. This is still an early work-in-progress
> >
> > and
> >
> > > meant as a developer release for those interested, but I think I've
> >
> > gotten
> >
> > > it to a point that other people can meaningfully start playing with it
> >
> > and
> >
> > > trying it out. That said, do expect rough edges and perhaps occasional
> > > crashes (though I'll do my best to fix them).
> > >
> > > As usual, the Gallium.jl source code is available at
> > > https://github.com/Keno/Gallium.jl and the README has some instructions
> >
> > on
> >
> > > how to get everything set up. I've also recorded a short video to walk
> >
> > you
> >
> > > through the major features and show off what's available right now:
> > > https://youtu.be/Kv6TO_gm2yw.
> > >
> > > I've been working on this for some time now as many of you probably
> >
> > know,
> >
> > > and I'm really happy to be able to release this version to you today.
> > > However,
> > > getting this done wouldn't have been possible without the help of
> >
> > everybody
> >
> > > at Julia Computing, who has helped get my open source project into
> > > releasable shape. My very special thanks also goes to BlackRock and in
> > > particular Michael Turok and Michael Francis, who had generously agreed
> >
> > to
> >
> > > sponsor development
> > > of the debugger to make this happen sooner than it otherwise could have.
> > >
> > > Now, it's up to you. Try it out, let me know what you like, what you
> >
> > don't,
> >
> > > file issues, and perhaps also send me pull requests :). I hope you
> >
> > enjoy!
> >
> > > Keno


Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Stefan Karpinski-2
To be honest, at this point I think it would be pretty hard for a non-developer to use this. The main point of getting it out there and announcing it on julia-dev is to get people to try it out on different systems and report and fix issues.

In the near future, it would be good to get to a point where you can use Gallium with Julia master; then we can consider backporting the necessary changes to 0.4 and evaluate whether it's practical – I hope the answer is yes.

On Sep 12, 2015, at 10:27 AM, Jacob Quinn <[hidden email]> wrote:

Offhand, I wonder if this will work with 0.4 as long as you have > LLVM 3.3 (or possibly 3.7 required). Just a guess.

On Sat, Sep 12, 2015 at 8:18 AM, Tim Holy <[hidden email]> wrote:
That was my first thought, too.

--Tim

On Saturday, September 12, 2015 04:03:20 AM Tony Kelman wrote:
> Not the most unambiguous choice of names, there's a 3d graphics library
> called gallium.
>
> On Saturday, September 12, 2015 at 3:02:28 AM UTC-7, Tim Holy wrote:
> > Woot! Definitely feels like Christmas! Thanks to Keno and also to the
> > sponsors.
> > Many of us will benefit from your contributions of time and money to this
> > project. It's a huge step forward in the maturation of julia.
> >
> > Can I be greedy and ask for a couple of things?
> > - It would be nice to know whether this is tracking julia 0.5-dev, or if
> > this
> > will be runnable on the 0.4 series.
> > - I would characterize the README as developer-oriented. It might benefit
> > by
> >
> > starting with a tutorial:
> >    + create a function with a bug
> >    + fire up julia, run the function, get the error
> >    + use the debugger to break-on-error and examine what caused the bug.
> >
> > Also
> > demonstrate setting a manual breakpoint, stepping, etc.
> >
> > --Tim
> >
> > On Friday, September 11, 2015 07:49:48 PM Keno Fischer wrote:
> > > Hello everyone,
> > >
> > > it is my great pleasure to announce the release of the first alpha
> >
> > version
> >
> > > of
> > > Gallium.jl, the julia debugger. This is still an early work-in-progress
> >
> > and
> >
> > > meant as a developer release for those interested, but I think I've
> >
> > gotten
> >
> > > it to a point that other people can meaningfully start playing with it
> >
> > and
> >
> > > trying it out. That said, do expect rough edges and perhaps occasional
> > > crashes (though I'll do my best to fix them).
> > >
> > > As usual, the Gallium.jl source code is available at
> > > https://github.com/Keno/Gallium.jl and the README has some instructions
> >
> > on
> >
> > > how to get everything set up. I've also recorded a short video to walk
> >
> > you
> >
> > > through the major features and show off what's available right now:
> > > https://youtu.be/Kv6TO_gm2yw.
> > >
> > > I've been working on this for some time now as many of you probably
> >
> > know,
> >
> > > and I'm really happy to be able to release this version to you today.
> > > However,
> > > getting this done wouldn't have been possible without the help of
> >
> > everybody
> >
> > > at Julia Computing, who has helped get my open source project into
> > > releasable shape. My very special thanks also goes to BlackRock and in
> > > particular Michael Turok and Michael Francis, who had generously agreed
> >
> > to
> >
> > > sponsor development
> > > of the debugger to make this happen sooner than it otherwise could have.
> > >
> > > Now, it's up to you. Try it out, let me know what you like, what you
> >
> > don't,
> >
> > > file issues, and perhaps also send me pull requests :). I hope you
> >
> > enjoy!
> >
> > > Keno


Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Isaiah Norton
In reply to this post by Keno Fischer
+Inf

@Keno: I read through the design document, and I am wondering if you have any thoughts on the feasibility of supporting some of the extended Gallium functionality via (LLDB's support of) GDB-MI. The advantage being that many IDEs already support GDB-MI out of the box. Some customization would still be required to teach an IDE to support the extended commands, but that is a vastly smaller task than interfacing via the Julia embedding API.

- It would be nice to know whether this is tracking julia 0.5-dev, or if this
will be runnable on the 0.4 series.

kf/gallium appears to be based against Jameson's codegen rewrite branch.

A couples other notes for folks who are trying this:
- the launcher script in the demo video is OS X-only at the moment as it relies on AppleScript
- I believe the README example of setting ARGS["1234"] refers to the PID of an already-running Julia process (https://github.com/Keno/Gallium.jl/pull/26)
- on Ubuntu, the `ptrace_scope` setting at end of Gallium README seems to be undone if the directory is changed by the julia process
- LLDB does not build on Windows with our current toolchain

On Fri, Sep 11, 2015 at 7:49 PM, Keno Fischer <[hidden email]> wrote:
Hello everyone,

it is my great pleasure to announce the release of the first alpha version of
Gallium.jl, the julia debugger. This is still an early work-in-progress and meant as a developer release for those interested, but I think I've gotten it to a point that other people can meaningfully start playing with it and trying it out. That said, do expect rough edges and perhaps occasional crashes (though I'll do my best to fix them).

As usual, the Gallium.jl source code is available at https://github.com/Keno/Gallium.jl and the README has some instructions on how to get everything set up. I've also recorded a short video to walk you through the major features and show off what's available right now: https://youtu.be/Kv6TO_gm2yw.

I've been working on this for some time now as many of you probably know,
and I'm really happy to be able to release this version to you today. However,
getting this done wouldn't have been possible without the help of everybody at Julia Computing, who has helped get my open source project into releasable shape. My very special thanks also goes to BlackRock and in particular Michael Turok and Michael Francis, who had generously agreed to sponsor development
of the debugger to make this happen sooner than it otherwise could have.

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno


Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Scott Jones
In reply to this post by Keno Fischer

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno

Hat's off again to you, Keno, for making this (and all the other stuff you've done), and to BlackRock for sponsoring this!

I would like to be able to send pull requests, but you've currently got me blocked on GitHub 😞
Could you please undo that so I'll be able to fork / test & perhaps submit PRs on Cxx.jl and Gallium.jl?

Thanks, Scott (@ScottPJones on GitHub)
Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Keno Fischer
In reply to this post by Tony Kelman
Fair enough, but the name just fit too well. I'm  hoping the `.jl` will disambiguate.

On Sat, Sep 12, 2015 at 7:03 AM, Tony Kelman <[hidden email]> wrote:
Not the most unambiguous choice of names, there's a 3d graphics library called gallium.


On Saturday, September 12, 2015 at 3:02:28 AM UTC-7, Tim Holy wrote:
Woot! Definitely feels like Christmas! Thanks to Keno and also to the sponsors.
Many of us will benefit from your contributions of time and money to this
project. It's a huge step forward in the maturation of julia.

Can I be greedy and ask for a couple of things?
- It would be nice to know whether this is tracking julia 0.5-dev, or if this
will be runnable on the 0.4 series.
- I would characterize the README as developer-oriented. It might benefit by
starting with a tutorial:
   + create a function with a bug
   + fire up julia, run the function, get the error
   + use the debugger to break-on-error and examine what caused the bug. Also
demonstrate setting a manual breakpoint, stepping, etc.

--Tim

On Friday, September 11, 2015 07:49:48 PM Keno Fischer wrote:

> Hello everyone,
>
> it is my great pleasure to announce the release of the first alpha version
> of
> Gallium.jl, the julia debugger. This is still an early work-in-progress and
> meant as a developer release for those interested, but I think I've gotten
> it to a point that other people can meaningfully start playing with it and
> trying it out. That said, do expect rough edges and perhaps occasional
> crashes (though I'll do my best to fix them).
>
> As usual, the Gallium.jl source code is available at
> https://github.com/Keno/Gallium.jl and the README has some instructions on
> how to get everything set up. I've also recorded a short video to walk you
> through the major features and show off what's available right now:
> https://youtu.be/Kv6TO_gm2yw.
>
> I've been working on this for some time now as many of you probably know,
> and I'm really happy to be able to release this version to you today.
> However,
> getting this done wouldn't have been possible without the help of everybody
> at Julia Computing, who has helped get my open source project into
> releasable shape. My very special thanks also goes to BlackRock and in
> particular Michael Turok and Michael Francis, who had generously agreed to
> sponsor development
> of the debugger to make this happen sooner than it otherwise could have.
>
> Now, it's up to you. Try it out, let me know what you like, what you don't,
> file issues, and perhaps also send me pull requests :). I hope you enjoy!
>
> Keno


Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Keno Fischer
In reply to this post by Jacob Quinn
We might be able to use an 0.5 runtime with an 0.4 standard library, which should work fine.

On Sat, Sep 12, 2015 at 10:27 AM, Jacob Quinn <[hidden email]> wrote:
Offhand, I wonder if this will work with 0.4 as long as you have > LLVM 3.3 (or possibly 3.7 required). Just a guess.

On Sat, Sep 12, 2015 at 8:18 AM, Tim Holy <[hidden email]> wrote:
That was my first thought, too.

--Tim

On Saturday, September 12, 2015 04:03:20 AM Tony Kelman wrote:
> Not the most unambiguous choice of names, there's a 3d graphics library
> called gallium.
>
> On Saturday, September 12, 2015 at 3:02:28 AM UTC-7, Tim Holy wrote:
> > Woot! Definitely feels like Christmas! Thanks to Keno and also to the
> > sponsors.
> > Many of us will benefit from your contributions of time and money to this
> > project. It's a huge step forward in the maturation of julia.
> >
> > Can I be greedy and ask for a couple of things?
> > - It would be nice to know whether this is tracking julia 0.5-dev, or if
> > this
> > will be runnable on the 0.4 series.
> > - I would characterize the README as developer-oriented. It might benefit
> > by
> >
> > starting with a tutorial:
> >    + create a function with a bug
> >    + fire up julia, run the function, get the error
> >    + use the debugger to break-on-error and examine what caused the bug.
> >
> > Also
> > demonstrate setting a manual breakpoint, stepping, etc.
> >
> > --Tim
> >
> > On Friday, September 11, 2015 07:49:48 PM Keno Fischer wrote:
> > > Hello everyone,
> > >
> > > it is my great pleasure to announce the release of the first alpha
> >
> > version
> >
> > > of
> > > Gallium.jl, the julia debugger. This is still an early work-in-progress
> >
> > and
> >
> > > meant as a developer release for those interested, but I think I've
> >
> > gotten
> >
> > > it to a point that other people can meaningfully start playing with it
> >
> > and
> >
> > > trying it out. That said, do expect rough edges and perhaps occasional
> > > crashes (though I'll do my best to fix them).
> > >
> > > As usual, the Gallium.jl source code is available at
> > > https://github.com/Keno/Gallium.jl and the README has some instructions
> >
> > on
> >
> > > how to get everything set up. I've also recorded a short video to walk
> >
> > you
> >
> > > through the major features and show off what's available right now:
> > > https://youtu.be/Kv6TO_gm2yw.
> > >
> > > I've been working on this for some time now as many of you probably
> >
> > know,
> >
> > > and I'm really happy to be able to release this version to you today.
> > > However,
> > > getting this done wouldn't have been possible without the help of
> >
> > everybody
> >
> > > at Julia Computing, who has helped get my open source project into
> > > releasable shape. My very special thanks also goes to BlackRock and in
> > > particular Michael Turok and Michael Francis, who had generously agreed
> >
> > to
> >
> > > sponsor development
> > > of the debugger to make this happen sooner than it otherwise could have.
> > >
> > > Now, it's up to you. Try it out, let me know what you like, what you
> >
> > don't,
> >
> > > file issues, and perhaps also send me pull requests :). I hope you
> >
> > enjoy!
> >
> > > Keno



Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Keno Fischer
In reply to this post by Isaiah Norton


On Sat, Sep 12, 2015 at 10:56 AM, Isaiah Norton <[hidden email]> wrote:
+Inf

@Keno: I read through the design document, and I am wondering if you have any thoughts on the feasibility of supporting some of the extended Gallium functionality via (LLDB's support of) GDB-MI. The advantage being that many IDEs already support GDB-MI out of the box. Some customization would still be required to teach an IDE to support the extended commands, but that is a vastly smaller task than interfacing via the Julia embedding API.

I'd have to look into LLDB's implementation of the MI API. I think it's probably possible, but will require a decent amount of code (i.e. I don't think it'll just work out of the box).
 
- It would be nice to know whether this is tracking julia 0.5-dev, or if this
will be runnable on the 0.4 series.

kf/gallium appears to be based against Jameson's codegen rewrite branch.

A couples other notes for folks who are trying this:
- the launcher script in the demo video is OS X-only at the moment as it relies on AppleScript
- I believe the README example of setting ARGS["1234"] refers to the PID of an already-running Julia process (https://github.com/Keno/Gallium.jl/pull/26)
- on Ubuntu, the `ptrace_scope` setting at end of Gallium README seems to be undone if the directory is changed by the julia process
- LLDB does not build on Windows with our current toolchain

On Fri, Sep 11, 2015 at 7:49 PM, Keno Fischer <[hidden email]> wrote:
Hello everyone,

it is my great pleasure to announce the release of the first alpha version of
Gallium.jl, the julia debugger. This is still an early work-in-progress and meant as a developer release for those interested, but I think I've gotten it to a point that other people can meaningfully start playing with it and trying it out. That said, do expect rough edges and perhaps occasional crashes (though I'll do my best to fix them).

As usual, the Gallium.jl source code is available at https://github.com/Keno/Gallium.jl and the README has some instructions on how to get everything set up. I've also recorded a short video to walk you through the major features and show off what's available right now: https://youtu.be/Kv6TO_gm2yw.

I've been working on this for some time now as many of you probably know,
and I'm really happy to be able to release this version to you today. However,
getting this done wouldn't have been possible without the help of everybody at Julia Computing, who has helped get my open source project into releasable shape. My very special thanks also goes to BlackRock and in particular Michael Turok and Michael Francis, who had generously agreed to sponsor development
of the debugger to make this happen sooner than it otherwise could have.

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno



Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Keno Fischer
In reply to this post by Scott Jones


On Sat, Sep 12, 2015 at 4:34 PM, Scott Jones <[hidden email]> wrote:

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno

Hat's off again to you, Keno, for making this (and all the other stuff you've done), and to BlackRock for sponsoring this!

I would like to be able to send pull requests, but you've currently got me blocked on GitHub 😞
Could you please undo that so I'll be able to fork / test & perhaps submit PRs on Cxx.jl and Gallium.jl?

I checked and I don't think this is true. Try again?
 
Thanks, Scott (@ScottPJones on GitHub)

Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Scott Jones
Unfortunately, still not able to get this to build, but may be just my system (I'm running El Capitan Beta 8, with XCode 7.1 beta).

I'm using the latest out of master, merged in kf/gallium (had 2 conflicts, one just an extra space in codegen.cpp, other in test/core.jl, that I had to fix)


codegen.cpp:177:8: error: reference to 'FunctionPassManager' is ambiguous
static FunctionPassManager *FPM;
       ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:472:5: error: reference to 'PassManager' is ambiguous
    PassManager PM;
    ^
/j/julia/usr/include/llvm/IR/PassManager.h:180:35: note: candidate found by name lookup is 'llvm::PassManager'
template <typename IRUnitT> class PassManager {
                                  ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:49:7: note: candidate found by name lookup is
      'llvm::legacy::PassManager'
class PassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:477:9: error: use of undeclared identifier 'PM'
        PM.add(new TargetLibraryInfoWrapperPass(Triple(TM->getTargetTriple())));
        ^
./cgutils.cpp:490:37: error: use of undeclared identifier 'PM'
        if (TM->addPassesToEmitFile(PM, FOS, TargetMachine::CGFT_ObjectFile, false)) {
                                    ^
./cgutils.cpp:513:9: error: use of undeclared identifier 'PM'
        PM.run(*clone);
        ^
codegen.cpp:4126:23: warning: unused variable 'SP' [-Wunused-variable]
        DISubprogram *SP = main_ctx->dbuilder->createFunction(CU,
                      ^
codegen.cpp:5802:15: error: reference to 'FunctionPassManager' is ambiguous
    FPM = new FunctionPassManager(m);
              ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
codegen.cpp:5829:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createTypeBasedAliasAnalysisPass());
    ~~~  ^
codegen.cpp:5829:14: error: use of undeclared identifier 'createTypeBasedAliasAnalysisPass'
    FPM->add(createTypeBasedAliasAnalysisPass());
             ^
codegen.cpp:5831:14: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
        FPM->add(createBasicAliasAnalysisPass());
        ~~~  ^
codegen.cpp:5831:18: error: use of undeclared identifier 'createBasicAliasAnalysisPass'; did you mean
      'createCostModelAnalysisPass'?
        FPM->add(createBasicAliasAnalysisPass());
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 createCostModelAnalysisPass
/j/julia/usr/include/llvm/Analysis/Passes.h:60:17: note: 'createCostModelAnalysisPass' declared here
  FunctionPass *createCostModelAnalysisPass();
                ^
codegen.cpp:5833:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createCFGSimplificationPass()); // Clean up disgusting code
    ~~~  ^
codegen.cpp:5834:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createPromoteMemoryToRegisterPass());// Kill useless allocas
    ~~~  ^
codegen.cpp:5837:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5839:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createScalarReplAggregatesPass()); // Break up aggregate allocas
    ~~~  ^
codegen.cpp:5841:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5843:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createJumpThreadingPass());        // Thread jumps.
    ~~~  ^
codegen.cpp:5848:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Combine silly seq's
    ~~~  ^
codegen.cpp:5852:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createReassociatePass());          // Reassociate expressions
    ~~~  ^
codegen.cpp:5857:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createEarlyCSEPass()); //// ****
    ~~~  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make[1]: *** [codegen.o] Error 1
make: *** [julia-src-release] Error 2

-----------------------

Also, still blocked from forking from any of your repositories - had the same problem with Jake,
he was able to unblock me.

Thanks, Scott

On Saturday, September 12, 2015 at 7:34:55 PM UTC-4, Keno Fischer wrote:


On Sat, Sep 12, 2015 at 4:34 PM, Scott Jones <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="MsaMygKKAgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">scott.pa...@...> wrote:

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno

Hat's off again to you, Keno, for making this (and all the other stuff you've done), and to BlackRock for sponsoring this!

I would like to be able to send pull requests, but you've currently got me blocked on GitHub 😞
Could you please undo that so I'll be able to fork / test & perhaps submit PRs on Cxx.jl and Gallium.jl?

I checked and I don't think this is true. Try again?
 
Thanks, Scott (@ScottPJones on GitHub)

Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Jameson Nash
Sometimes you need to manually cd to deps/llvm-svn, deps/llvm-svn/tools/clang and deps/llvm-svn/tools/lldb and do `git checkout kf/gallium`. The build rule for this is currently not robust.

On Sat, Sep 12, 2015 at 9:17 PM Scott Jones <[hidden email]> wrote:
Unfortunately, still not able to get this to build, but may be just my system (I'm running El Capitan Beta 8, with XCode 7.1 beta).

I'm using the latest out of master, merged in kf/gallium (had 2 conflicts, one just an extra space in codegen.cpp, other in test/core.jl, that I had to fix)


codegen.cpp:177:8: error: reference to 'FunctionPassManager' is ambiguous
static FunctionPassManager *FPM;
       ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:472:5: error: reference to 'PassManager' is ambiguous
    PassManager PM;
    ^
/j/julia/usr/include/llvm/IR/PassManager.h:180:35: note: candidate found by name lookup is 'llvm::PassManager'
template <typename IRUnitT> class PassManager {
                                  ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:49:7: note: candidate found by name lookup is
      'llvm::legacy::PassManager'
class PassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:477:9: error: use of undeclared identifier 'PM'
        PM.add(new TargetLibraryInfoWrapperPass(Triple(TM->getTargetTriple())));
        ^
./cgutils.cpp:490:37: error: use of undeclared identifier 'PM'
        if (TM->addPassesToEmitFile(PM, FOS, TargetMachine::CGFT_ObjectFile, false)) {
                                    ^
./cgutils.cpp:513:9: error: use of undeclared identifier 'PM'
        PM.run(*clone);
        ^
codegen.cpp:4126:23: warning: unused variable 'SP' [-Wunused-variable]
        DISubprogram *SP = main_ctx->dbuilder->createFunction(CU,
                      ^
codegen.cpp:5802:15: error: reference to 'FunctionPassManager' is ambiguous
    FPM = new FunctionPassManager(m);
              ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
codegen.cpp:5829:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createTypeBasedAliasAnalysisPass());
    ~~~  ^
codegen.cpp:5829:14: error: use of undeclared identifier 'createTypeBasedAliasAnalysisPass'
    FPM->add(createTypeBasedAliasAnalysisPass());
             ^
codegen.cpp:5831:14: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
        FPM->add(createBasicAliasAnalysisPass());
        ~~~  ^
codegen.cpp:5831:18: error: use of undeclared identifier 'createBasicAliasAnalysisPass'; did you mean
      'createCostModelAnalysisPass'?
        FPM->add(createBasicAliasAnalysisPass());
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 createCostModelAnalysisPass
/j/julia/usr/include/llvm/Analysis/Passes.h:60:17: note: 'createCostModelAnalysisPass' declared here
  FunctionPass *createCostModelAnalysisPass();
                ^
codegen.cpp:5833:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createCFGSimplificationPass()); // Clean up disgusting code
    ~~~  ^
codegen.cpp:5834:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createPromoteMemoryToRegisterPass());// Kill useless allocas
    ~~~  ^
codegen.cpp:5837:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5839:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createScalarReplAggregatesPass()); // Break up aggregate allocas
    ~~~  ^
codegen.cpp:5841:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5843:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createJumpThreadingPass());        // Thread jumps.
    ~~~  ^
codegen.cpp:5848:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Combine silly seq's
    ~~~  ^
codegen.cpp:5852:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createReassociatePass());          // Reassociate expressions
    ~~~  ^
codegen.cpp:5857:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createEarlyCSEPass()); //// ****
    ~~~  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make[1]: *** [codegen.o] Error 1
make: *** [julia-src-release] Error 2

-----------------------

Also, still blocked from forking from any of your repositories - had the same problem with Jake,
he was able to unblock me.

Thanks, Scott

On Saturday, September 12, 2015 at 7:34:55 PM UTC-4, Keno Fischer wrote:


On Sat, Sep 12, 2015 at 4:34 PM, Scott Jones <[hidden email]> wrote:

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno

Hat's off again to you, Keno, for making this (and all the other stuff you've done), and to BlackRock for sponsoring this!

I would like to be able to send pull requests, but you've currently got me blocked on GitHub 😞
Could you please undo that so I'll be able to fork / test & perhaps submit PRs on Cxx.jl and Gallium.jl?

I checked and I don't think this is true. Try again?
 
Thanks, Scott (@ScottPJones on GitHub)

Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Scott Jones


On Saturday, September 12, 2015 at 10:03:02 PM UTC-4, Jameson wrote:
Sometimes you need to manually cd to deps/llvm-svn, deps/llvm-svn/tools/clang and deps/llvm-svn/tools/lldb and do `git checkout kf/gallium`. The build rule for this is currently not robust.

Tried that, got this error:

Scotts-Retina-MBP:julia scott$ cd deps/llvm-svn
Scotts-Retina-MBP:llvm-svn scott$ ls
CMakeLists.txt README.txt lib
CODE_OWNERS.TXT autoconf llvm.spec.in
CREDITS.TXT bindings projects
LICENSE.TXT build_Release+Asserts python2_path
LLVMBuild.txt cmake resources
Makefile configure test
Makefile.common docs tools
Makefile.config.in examples unittests
Makefile.rules include utils
Scotts-Retina-MBP:llvm-svn scott$ git checkout kf/gallium
error: pathspec 'kf/gallium' did not match any file(s) known to git.

I must be misunderstanding something :-(  Feel like an idiot.
I *really* want to get Keno's stuff working on my machine, been wanting it since JuliaCon.

On Sat, Sep 12, 2015 at 9:17 PM Scott Jones <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="wgQnyxeSAgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">scott.pa...@...> wrote:
Unfortunately, still not able to get this to build, but may be just my system (I'm running El Capitan Beta 8, with XCode 7.1 beta).

I'm using the latest out of master, merged in kf/gallium (had 2 conflicts, one just an extra space in codegen.cpp, other in test/core.jl, that I had to fix)


codegen.cpp:177:8: error: reference to 'FunctionPassManager' is ambiguous
static FunctionPassManager *FPM;
       ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:472:5: error: reference to 'PassManager' is ambiguous
    PassManager PM;
    ^
/j/julia/usr/include/llvm/IR/PassManager.h:180:35: note: candidate found by name lookup is 'llvm::PassManager'
template <typename IRUnitT> class PassManager {
                                  ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:49:7: note: candidate found by name lookup is
      'llvm::legacy::PassManager'
class PassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:477:9: error: use of undeclared identifier 'PM'
        PM.add(new TargetLibraryInfoWrapperPass(Triple(TM->getTargetTriple())));
        ^
./cgutils.cpp:490:37: error: use of undeclared identifier 'PM'
        if (TM->addPassesToEmitFile(PM, FOS, TargetMachine::CGFT_ObjectFile, false)) {
                                    ^
./cgutils.cpp:513:9: error: use of undeclared identifier 'PM'
        PM.run(*clone);
        ^
codegen.cpp:4126:23: warning: unused variable 'SP' [-Wunused-variable]
        DISubprogram *SP = main_ctx->dbuilder->createFunction(CU,
                      ^
codegen.cpp:5802:15: error: reference to 'FunctionPassManager' is ambiguous
    FPM = new FunctionPassManager(m);
              ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
codegen.cpp:5829:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createTypeBasedAliasAnalysisPass());
    ~~~  ^
codegen.cpp:5829:14: error: use of undeclared identifier 'createTypeBasedAliasAnalysisPass'
    FPM->add(createTypeBasedAliasAnalysisPass());
             ^
codegen.cpp:5831:14: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
        FPM->add(createBasicAliasAnalysisPass());
        ~~~  ^
codegen.cpp:5831:18: error: use of undeclared identifier 'createBasicAliasAnalysisPass'; did you mean
      'createCostModelAnalysisPass'?
        FPM->add(createBasicAliasAnalysisPass());
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 createCostModelAnalysisPass
/j/julia/usr/include/llvm/Analysis/Passes.h:60:17: note: 'createCostModelAnalysisPass' declared here
  FunctionPass *createCostModelAnalysisPass();
                ^
codegen.cpp:5833:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createCFGSimplificationPass()); // Clean up disgusting code
    ~~~  ^
codegen.cpp:5834:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createPromoteMemoryToRegisterPass());// Kill useless allocas
    ~~~  ^
codegen.cpp:5837:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5839:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createScalarReplAggregatesPass()); // Break up aggregate allocas
    ~~~  ^
codegen.cpp:5841:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5843:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createJumpThreadingPass());        // Thread jumps.
    ~~~  ^
codegen.cpp:5848:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Combine silly seq's
    ~~~  ^
codegen.cpp:5852:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createReassociatePass());          // Reassociate expressions
    ~~~  ^
codegen.cpp:5857:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createEarlyCSEPass()); //// ****
    ~~~  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make[1]: *** [codegen.o] Error 1
make: *** [julia-src-release] Error 2

-----------------------

Also, still blocked from forking from any of your repositories - had the same problem with Jake,
he was able to unblock me.

Thanks, Scott

On Saturday, September 12, 2015 at 7:34:55 PM UTC-4, Keno Fischer wrote:


On Sat, Sep 12, 2015 at 4:34 PM, Scott Jones <[hidden email]> wrote:

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno

Hat's off again to you, Keno, for making this (and all the other stuff you've done), and to BlackRock for sponsoring this!

I would like to be able to send pull requests, but you've currently got me blocked on GitHub 😞
Could you please undo that so I'll be able to fork / test & perhaps submit PRs on Cxx.jl and Gallium.jl?

I checked and I don't think this is true. Try again?
 
Thanks, Scott (@ScottPJones on GitHub)

Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Elliot Saba
be sure to `git fetch` to update the branches and such available to your local copy of git.  Perhaps worthwhile to check that your `git remote show origin` is still pointed at the right remote URL.

On Sat, Sep 12, 2015 at 7:31 PM, Scott Jones <[hidden email]> wrote:


On Saturday, September 12, 2015 at 10:03:02 PM UTC-4, Jameson wrote:
Sometimes you need to manually cd to deps/llvm-svn, deps/llvm-svn/tools/clang and deps/llvm-svn/tools/lldb and do `git checkout kf/gallium`. The build rule for this is currently not robust.

Tried that, got this error:

Scotts-Retina-MBP:julia scott$ cd deps/llvm-svn
Scotts-Retina-MBP:llvm-svn scott$ ls
CMakeLists.txt README.txt lib
CODE_OWNERS.TXT autoconf llvm.spec.in
CREDITS.TXT bindings projects
LICENSE.TXT build_Release+Asserts python2_path
LLVMBuild.txt cmake resources
Makefile configure test
Makefile.common docs tools
Makefile.config.in examples unittests
Makefile.rules include utils
Scotts-Retina-MBP:llvm-svn scott$ git checkout kf/gallium
error: pathspec 'kf/gallium' did not match any file(s) known to git.

I must be misunderstanding something :-(  Feel like an idiot.
I *really* want to get Keno's stuff working on my machine, been wanting it since JuliaCon.

On Sat, Sep 12, 2015 at 9:17 PM Scott Jones <[hidden email]> wrote:
Unfortunately, still not able to get this to build, but may be just my system (I'm running El Capitan Beta 8, with XCode 7.1 beta).

I'm using the latest out of master, merged in kf/gallium (had 2 conflicts, one just an extra space in codegen.cpp, other in test/core.jl, that I had to fix)


codegen.cpp:177:8: error: reference to 'FunctionPassManager' is ambiguous
static FunctionPassManager *FPM;
       ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:472:5: error: reference to 'PassManager' is ambiguous
    PassManager PM;
    ^
/j/julia/usr/include/llvm/IR/PassManager.h:180:35: note: candidate found by name lookup is 'llvm::PassManager'
template <typename IRUnitT> class PassManager {
                                  ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:49:7: note: candidate found by name lookup is
      'llvm::legacy::PassManager'
class PassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:477:9: error: use of undeclared identifier 'PM'
        PM.add(new TargetLibraryInfoWrapperPass(Triple(TM->getTargetTriple())));
        ^
./cgutils.cpp:490:37: error: use of undeclared identifier 'PM'
        if (TM->addPassesToEmitFile(PM, FOS, TargetMachine::CGFT_ObjectFile, false)) {
                                    ^
./cgutils.cpp:513:9: error: use of undeclared identifier 'PM'
        PM.run(*clone);
        ^
codegen.cpp:4126:23: warning: unused variable 'SP' [-Wunused-variable]
        DISubprogram *SP = main_ctx->dbuilder->createFunction(CU,
                      ^
codegen.cpp:5802:15: error: reference to 'FunctionPassManager' is ambiguous
    FPM = new FunctionPassManager(m);
              ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
codegen.cpp:5829:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createTypeBasedAliasAnalysisPass());
    ~~~  ^
codegen.cpp:5829:14: error: use of undeclared identifier 'createTypeBasedAliasAnalysisPass'
    FPM->add(createTypeBasedAliasAnalysisPass());
             ^
codegen.cpp:5831:14: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
        FPM->add(createBasicAliasAnalysisPass());
        ~~~  ^
codegen.cpp:5831:18: error: use of undeclared identifier 'createBasicAliasAnalysisPass'; did you mean
      'createCostModelAnalysisPass'?
        FPM->add(createBasicAliasAnalysisPass());
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 createCostModelAnalysisPass
/j/julia/usr/include/llvm/Analysis/Passes.h:60:17: note: 'createCostModelAnalysisPass' declared here
  FunctionPass *createCostModelAnalysisPass();
                ^
codegen.cpp:5833:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createCFGSimplificationPass()); // Clean up disgusting code
    ~~~  ^
codegen.cpp:5834:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createPromoteMemoryToRegisterPass());// Kill useless allocas
    ~~~  ^
codegen.cpp:5837:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5839:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createScalarReplAggregatesPass()); // Break up aggregate allocas
    ~~~  ^
codegen.cpp:5841:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5843:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createJumpThreadingPass());        // Thread jumps.
    ~~~  ^
codegen.cpp:5848:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Combine silly seq's
    ~~~  ^
codegen.cpp:5852:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createReassociatePass());          // Reassociate expressions
    ~~~  ^
codegen.cpp:5857:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createEarlyCSEPass()); //// ****
    ~~~  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make[1]: *** [codegen.o] Error 1
make: *** [julia-src-release] Error 2

-----------------------

Also, still blocked from forking from any of your repositories - had the same problem with Jake,
he was able to unblock me.

Thanks, Scott

On Saturday, September 12, 2015 at 7:34:55 PM UTC-4, Keno Fischer wrote:


On Sat, Sep 12, 2015 at 4:34 PM, Scott Jones <[hidden email]> wrote:

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno

Hat's off again to you, Keno, for making this (and all the other stuff you've done), and to BlackRock for sponsoring this!

I would like to be able to send pull requests, but you've currently got me blocked on GitHub 😞
Could you please undo that so I'll be able to fork / test & perhaps submit PRs on Cxx.jl and Gallium.jl?

I checked and I don't think this is true. Try again?
 
Thanks, Scott (@ScottPJones on GitHub)


Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Viral Shah
In reply to this post by Jacob Quinn
Or we should try and make sure that 0.5 has a fast release cycle with only the array changes and whatever makes its way in simultaneously.

-viral
Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Scott Jones
I would hope that 0.5 will have support for all of Keno's goodness, out of the box, in addition to array changes. Debugging and better C/C++ integration I think are very important for a lot of the Julia community.  (I think Blackrock's funding of this wonderful debugging work shows that).
Also a lot of Jameson's stuff that wasn't merged in 0.4, such as codegen rewrite.

On Sunday, September 13, 2015 at 4:28:56 AM UTC-4, Viral Shah wrote:
Or we should try and make sure that 0.5 has a fast release cycle with only the array changes and whatever makes its way in simultaneously.

-viral

Reply | Threaded
Open this post in threaded view
|

Re: Code Release: Gallium.jl - The julia debugger

Scott Jones
In reply to this post by Elliot Saba


On Sunday, September 13, 2015 at 1:58:14 AM UTC-4, Elliot Saba wrote:
be sure to `git fetch` to update the branches and such available to your local copy of git.  Perhaps worthwhile to check that your `git remote show origin` is still pointed at the right remote URL.

Is this not correct?
(in deps/llvm-svn):
* remote origin
 
Fetch URL: http://llvm.org/git/llvm.git
 
Push  URL: http://llvm.org/git/llvm.git
  HEAD branch
: master
(in deps/llvm-svn/tools/clang)
* remote origin
 
Fetch URL: http://llvm.org/git/clang.git
 
Push  URL: http://llvm.org/git/clang.git
  HEAD branch
: master
(in deps/llvm-svn/tools/lldb)
* remote origin
 
Fetch URL: http://llvm.org/git/lldb.git
 
Push  URL: http://llvm.org/git/lldb.git
  HEAD branch
: master





On Sat, Sep 12, 2015 at 7:31 PM, Scott Jones <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="hWmsYe2eAgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">scott.pa...@...> wrote:


On Saturday, September 12, 2015 at 10:03:02 PM UTC-4, Jameson wrote:
Sometimes you need to manually cd to deps/llvm-svn, deps/llvm-svn/tools/clang and deps/llvm-svn/tools/lldb and do `git checkout kf/gallium`. The build rule for this is currently not robust.

Tried that, got this error:

Scotts-Retina-MBP:julia scott$ cd deps/llvm-svn
Scotts-Retina-MBP:llvm-svn scott$ ls
CMakeLists.txt README.txt lib
CODE_OWNERS.TXT autoconf <a href="http://llvm.spec.in" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fllvm.spec.in\46sa\75D\46sntz\0751\46usg\75AFQjCNG6KKY0f3e-RDK--Bvh653MUGiR5A&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fllvm.spec.in\46sa\75D\46sntz\0751\46usg\75AFQjCNG6KKY0f3e-RDK--Bvh653MUGiR5A&#39;;return true;">llvm.spec.in
CREDITS.TXT bindings projects
LICENSE.TXT build_Release+Asserts python2_path
LLVMBuild.txt cmake resources
Makefile configure test
Makefile.common docs tools
<a href="http://Makefile.config.in" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2FMakefile.config.in\46sa\75D\46sntz\0751\46usg\75AFQjCNErfIeiHar0yGUCX1TLdk-D5nMeqg&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2FMakefile.config.in\46sa\75D\46sntz\0751\46usg\75AFQjCNErfIeiHar0yGUCX1TLdk-D5nMeqg&#39;;return true;">Makefile.config.in examples unittests
Makefile.rules include utils
Scotts-Retina-MBP:llvm-svn scott$ git checkout kf/gallium
error: pathspec 'kf/gallium' did not match any file(s) known to git.

I must be misunderstanding something :-(  Feel like an idiot.
I *really* want to get Keno's stuff working on my machine, been wanting it since JuliaCon.

On Sat, Sep 12, 2015 at 9:17 PM Scott Jones <[hidden email]> wrote:
Unfortunately, still not able to get this to build, but may be just my system (I'm running El Capitan Beta 8, with XCode 7.1 beta).

I'm using the latest out of master, merged in kf/gallium (had 2 conflicts, one just an extra space in codegen.cpp, other in test/core.jl, that I had to fix)


codegen.cpp:177:8: error: reference to 'FunctionPassManager' is ambiguous
static FunctionPassManager *FPM;
       ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:472:5: error: reference to 'PassManager' is ambiguous
    PassManager PM;
    ^
/j/julia/usr/include/llvm/IR/PassManager.h:180:35: note: candidate found by name lookup is 'llvm::PassManager'
template <typename IRUnitT> class PassManager {
                                  ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:49:7: note: candidate found by name lookup is
      'llvm::legacy::PassManager'
class PassManager : public PassManagerBase {
      ^
In file included from codegen.cpp:662:
./cgutils.cpp:477:9: error: use of undeclared identifier 'PM'
        PM.add(new TargetLibraryInfoWrapperPass(Triple(TM->getTargetTriple())));
        ^
./cgutils.cpp:490:37: error: use of undeclared identifier 'PM'
        if (TM->addPassesToEmitFile(PM, FOS, TargetMachine::CGFT_ObjectFile, false)) {
                                    ^
./cgutils.cpp:513:9: error: use of undeclared identifier 'PM'
        PM.run(*clone);
        ^
codegen.cpp:4126:23: warning: unused variable 'SP' [-Wunused-variable]
        DISubprogram *SP = main_ctx->dbuilder->createFunction(CU,
                      ^
codegen.cpp:5802:15: error: reference to 'FunctionPassManager' is ambiguous
    FPM = new FunctionPassManager(m);
              ^
/j/julia/usr/include/llvm/IR/PassManager.h:258:31: note: candidate found by name lookup is
      'llvm::FunctionPassManager'
typedef PassManager<Function> FunctionPassManager;
                              ^
/j/julia/usr/include/llvm/IR/LegacyPassManager.h:68:7: note: candidate found by name lookup is
      'llvm::legacy::FunctionPassManager'
class FunctionPassManager : public PassManagerBase {
      ^
codegen.cpp:5829:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createTypeBasedAliasAnalysisPass());
    ~~~  ^
codegen.cpp:5829:14: error: use of undeclared identifier 'createTypeBasedAliasAnalysisPass'
    FPM->add(createTypeBasedAliasAnalysisPass());
             ^
codegen.cpp:5831:14: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
        FPM->add(createBasicAliasAnalysisPass());
        ~~~  ^
codegen.cpp:5831:18: error: use of undeclared identifier 'createBasicAliasAnalysisPass'; did you mean
      'createCostModelAnalysisPass'?
        FPM->add(createBasicAliasAnalysisPass());
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 createCostModelAnalysisPass
/j/julia/usr/include/llvm/Analysis/Passes.h:60:17: note: 'createCostModelAnalysisPass' declared here
  FunctionPass *createCostModelAnalysisPass();
                ^
codegen.cpp:5833:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createCFGSimplificationPass()); // Clean up disgusting code
    ~~~  ^
codegen.cpp:5834:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createPromoteMemoryToRegisterPass());// Kill useless allocas
    ~~~  ^
codegen.cpp:5837:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5839:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createScalarReplAggregatesPass()); // Break up aggregate allocas
    ~~~  ^
codegen.cpp:5841:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
    ~~~  ^
codegen.cpp:5843:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createJumpThreadingPass());        // Thread jumps.
    ~~~  ^
codegen.cpp:5848:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createInstructionCombiningPass()); // Combine silly seq's
    ~~~  ^
codegen.cpp:5852:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createReassociatePass());          // Reassociate expressions
    ~~~  ^
codegen.cpp:5857:10: error: no member named 'add' in 'llvm::PassManager<llvm::Function>'
    FPM->add(createEarlyCSEPass()); //// ****
    ~~~  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make[1]: *** [codegen.o] Error 1
make: *** [julia-src-release] Error 2

-----------------------

Also, still blocked from forking from any of your repositories - had the same problem with Jake,
he was able to unblock me.

Thanks, Scott

On Saturday, September 12, 2015 at 7:34:55 PM UTC-4, Keno Fischer wrote:


On Sat, Sep 12, 2015 at 4:34 PM, Scott Jones <[hidden email]> wrote:

Now, it's up to you. Try it out, let me know what you like, what you don't, file issues, and perhaps also send me pull requests :). I hope you enjoy!

Keno

Hat's off again to you, Keno, for making this (and all the other stuff you've done), and to BlackRock for sponsoring this!

I would like to be able to send pull requests, but you've currently got me blocked on GitHub 😞
Could you please undo that so I'll be able to fork / test & perhaps submit PRs on Cxx.jl and Gallium.jl?

I checked and I don't think this is true. Try again?
 
Thanks, Scott (@ScottPJones on GitHub)


123