Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 06 12:46
    yowl edited #125
  • Dec 04 15:15
    yowl edited #125
  • Dec 04 15:15
    yowl synchronize #125
  • Dec 04 12:40
    yowl synchronize #125
  • Dec 04 01:40
    msftclas commented #125
  • Dec 04 01:39
    msftclas commented #125
  • Dec 04 01:38
    yowl opened #125
  • Dec 04 01:11
    yowl closed #124
  • Dec 04 01:11
    yowl commented #124
  • Dec 02 23:16
    tannergooding commented #124
  • Dec 02 22:36
    yowl commented #124
  • Dec 02 16:50
    tannergooding commented #124
  • Dec 02 13:51
    yowl opened #124
  • Dec 02 01:04
    yowl closed #123
  • Dec 02 01:04
    yowl commented #123
  • Dec 01 18:56
    tannergooding commented #123
  • Dec 01 16:04
    yowl commented #123
  • Dec 01 16:01
    yowl opened #123
  • Nov 26 00:57
    mjsabby commented #78
  • Nov 25 19:20
    tannergooding commented #78
Tesla Ice Zhang‮
@ice1000
LLVM5 is out, when could I see the update?
:sob:
This one uses llvm 4
And the author of it (he left comment in #55 ) says this repo is incapable with .net
:sob: Help wanted
Theodoros Chatzigiannakis
@TChatzigiannakis
Hi @mjsabby , when you have the C# bindings to the C API let me know and I'll start working immediately on the OOAPI so it's up-to-date and hopefully soon merge it with master for LLVM 5.
Mukul Sabharwal
@mjsabby
Hi @TChatzigiannakis, I just checked in LLVM 5.0 C API changes, made it .NET Standard. I also fixed a bunch of your outstanding bugs.
nuget will be ready sometime this weekend. Need to test it on Ubuntu and MacOSX.
Tesla Ice Zhang‮
@ice1000
Time to party :smile:
Mukul Sabharwal
@mjsabby
@onionhammer you might want to checkout the 5.0 release, LLVMSharp on MacOSX now works seamlessly with .NET Core 2.0
Erik O'Leary
@onionhammer
@mjsabby cool I'll try that out!
Erik O'Leary
@onionhammer
@mjsabby works well, but there are warnings when building - you should add a second target to the csproj file for netstandard2
llvmcs.csproj : warning NU1701: Package 'LibLLVM 5.0.1' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project.
Erik O'Leary
@onionhammer
I think a nice interface/wrapper could be written for this as well.. something like this

        using (var mod = new Module("MyModule"))
        using (var fun = mod.AddFunction(name: "sum", params: (Int32("n1"), Int32("n2")), returns: (Int32())))
        {
            var (x, y) = fun.Params();

            fun.Returns(x + y);
        }
Tesla Ice Zhang‮
@ice1000
@mjsabby I've submitted a pull request fixing the three demos. Please review and merge :D
Tesla Ice Zhang‮
@ice1000
:D
Theodoros Chatzigiannakis
@TChatzigiannakis
@onionhammer Check out the OOAPI branch, that's where we're doing that.
Although I've not yet pushed the LLVM 5 update in that branch.
Theodoros Chatzigiannakis
@TChatzigiannakis
Hi @ice1000 @onionhammer if you'd like see issue 64 and let me know if you have any feedback on that API. Microsoft/LLVMSharp#64
Erik O'Leary
@onionhammer
awesome!
Theodoros Chatzigiannakis
@TChatzigiannakis
I'll be missing for a couple weeks, so I will read any issues/pull requests after that. But please keep them coming, I will not skip anything! Apologies for any inconvenience.
Theodoros Chatzigiannakis
@TChatzigiannakis
Hi everyone, is there anything you'd like to see done differently in the OOAPI?
Tesla Ice Zhang‮
@ice1000
:sob:
Can anyone take a look at #65 :sob:
Mukul Sabharwal
@mjsabby
@TChatzigiannakis sorry for being MIA. I'm now working on getting LLVM 6.0 release going. A quick question -- how far do you think the OO work has come along? Is it possible to integrate it?
Theodoros Chatzigiannakis
@TChatzigiannakis
@mjsabby Hi, sorry for being MIA as well! Yes, I think it's ready for merging (has been since Christmas). I didn't merge it myself because I'd like you to look at it first and make sure you agree with how it's implemented.
I think it's best if we merge it before you generate the LLVM 6.0 bindings. =)
irpbc
@irpbc
Hi everyone. Can somebody here help me with my project. I would like to use some LLVM C++ api which is not exposed through C functions. I have found a way on macOS, but Windows is a challenge. I have some C++ code that should be linked with LLVM shared lib. I can see that LLVMSharp project builds its own LLVM shared lib and explicitly exports the C api. Is there a way to call a C++ function from my native code?
irpbc
@irpbc
Only alternative I can think of is to build my own libLLVM.dll from LLVM static libs through my cmake project, and exclude your libLLVM from nuget dependencies.
irpbc
@irpbc
Hi all. Just to reporting that I tried the alternative and succeeded :smile: . I built LLVM from source with VS2017, and linked it into my piece of code (I left only X86 arch. so I got 23MB dll). I also copied your .def file.
frederik-h
@frederik-h
Hi, @irpbc This seems to be quite related to an issue that I have opened recently. It would be nice to have some documentation how one is supposed to build the DLL
@mjsabby I am also using your powershell script to generate a custom LLVM DLL. I could also contribute some documentation on building the DLL.
raizam
@raizam
Hi @mjsabby, I've just updated LLVMSharp and noticed it upgraded to 6.0, where can I find llvmlib.dll? thanks
raizam
@raizam
Mukul Sabharwal
@mjsabby
@raizam yes that's basically 6.0.0 .. I just put the beta tag because there were some new untested APIs for a sister team that I added.
I'll shortly convert it to a final release
raizam
@raizam
@mjsabby ok thanks a lot! you've done an amazing work
I'd like to improve the LLVMSharp Api, would you accept PRs?
I want to hide extern functions, and make everything object oriented
this would introduce breaking changes but hey, it's v6
Mukul Sabharwal
@mjsabby
@TChatzigiannakis has done work in this area and has a pretty good set in a branch in the main repo. It has to be a layer on top without breaking the existing API. The reality is that we have the functional API because it is allocation-free and speedy so that must continue to be there.
raizam
@raizam
when I said object-oriented, I meant to keep using structs, just like how it is now. so I'll check out his work
raizam
@raizam
@mjsabby Are these bindings based on the original LLVM C exports or is this a custom build with new functions?
For example function LLVMLinkInGC doesn't exist
Mukul Sabharwal
@mjsabby
LLVMLinkInGC is from a previous build where there was a custom binding added.
I don't think there are any additional ones that are specific to LLVMSharp
raizam
@raizam
ok perfect :)
Theodoros Chatzigiannakis
@TChatzigiannakis
@mjsabby Hi, do you want me to look into merging the OOAPI branch, so that the next version of LLVMSharp ships with the LLVMSharp.Api namespace?
Willow Snow
@sneow
There's a huge jump in the Kaleidoscope guide where the enums (i.e. ExprType) are never actually talked about