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
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
Andy Jansson
@andyjansson
Is there any effort underway to migrate LibLLVM to .net standard?
Mukul Sabharwal
@mjsabby
I just commented on the issue, I'm going to pull the plug on .NET Framework and just have .NETStandard 2.0
@TChatzigiannakis I looked it's been a while and I think we should merge it. My concern is your PR has way too many commits, can you clean up the branch so there is only commit from master?
To all, LLVM 7.0 will really help this project because the biggest pain I have with these upgrades it that we have custom bindings that we carry around and it's a weight on me when I have to upgrade. With LLVM 7.0 the DIBuilder stuff is now in-tree in LLVM.
I'm also going to using Azure DevOps to publish binaries with SourceLink enabled so you can debug into LLVM on Windows at least.
Theodoros Chatzigiannakis
@TChatzigiannakis
@mjsabby Do you need to do anything before we merge my PR or should I just go ahead and merge it now?
Mukul Sabharwal
@mjsabby
done
Theodoros Chatzigiannakis
@TChatzigiannakis
Alright, so next item is generating the bindings for the LLVM 7.0?