Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 09 12:50
    TillAlex opened #117
  • Sep 23 20:13
    tannergooding commented #116
  • Sep 20 17:38
    tannergooding assigned #116
  • Sep 20 17:30
    tannergooding opened #116
  • Sep 17 22:07
    TillAlex commented #115
  • Sep 17 22:03
    tannergooding commented #115
  • Sep 17 22:02
    TillAlex commented #115
  • Sep 17 15:08
    tannergooding commented #115
  • Sep 17 14:15
    TillAlex closed #115
  • Sep 17 14:15
    TillAlex commented #115
  • Sep 15 21:34
    jangofett4 commented #91
  • Sep 15 21:33
    jangofett4 commented #91
  • Sep 15 20:49
    tannergooding commented #91
  • Sep 15 20:48
    tannergooding commented #91
  • Sep 15 20:12
    jangofett4 commented #91
  • Sep 14 21:46
    mjsabby commented #115
  • Sep 14 21:45
    mjsabby commented #91
  • Sep 12 10:02
    TillAlex opened #115
  • Sep 08 17:27
    jangofett4 commented #91
  • Sep 08 12:31
    jangofett4 commented #91
Mukul Sabharwal
@mjsabby
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?
And then fixing the API to match?
Andy Jansson
@andyjansson
Hello.
yowl
@yowl
Hi, I'm having a little trouble understanding landingpad and the personality. Is the personality function (in my case , __gxx_personality_v0) called before execution moves to the landingpad? Does the landingpad have any arguments, or is that up to the personality function to for example, push on to the stack?
yowl
@yowl
I understand that I should be able to var exPtr = LLVM.BuildExtractValue(landingPadBuilder, pad, 0, "ex"); but this throws an access violation exception. What is the second parameter, I thought it would be the result of LLVMValueRef pad = LLVM.BuildLandingPad(landingPadBuilder, LLVM.PointerType(LLVM.Int8Type(), 0), GxxPersonality, 1, ""); ?
yowl
@yowl
Ignore me, I had the wrong signature for the personality.
Mukul Sabharwal
@mjsabby
I've put out libLLVM 6.0.1 and libLLVM 7.0.1 ... now onwards to get the managed APIs filled. @TChatzigiannakis if you'll want to put all the OO stuff, beware LLVM 7.0.1 has ~100 new functions
yowl
@yowl
Anyone got an example for LLVM.BuildSwitch, specifically the second V argument which I guess is the array of int, blockrefs?
ah, I see there's and LLVM.AddCase
yowl
@yowl
LLVM 8 has the wasm backend as non experimental, any chance of a build for it?
yowl
@yowl
I make that sound as though its a 5 minute job which I'm sure its not. I've added my upvote to Microsoft/LLVMSharp#84
yowl
@yowl

I'm trying to build libLLVM against LLVM 8.0.0 and hitting a mismatch in the dynamic/static link settings

LLVMAArch64AsmParser.lib(AArch64AsmParser.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in LLVMSharp.obj

which is right way to go, dynamic or static?

yowl
@yowl
I've build libllvm.dll and llvmsharp nuget package against llvm 8.0.0, but how do I get a package for libllvm.dll?
λtlas
@cloudrex
Hi guys, anyone online?
I have a quick question, how do I obtain the IR code of a module, and put it in a string?
should I use LLVM.PrintModuleToString()?
I've tried that, but it returns IntPr ?!
@onionhammer You're literally the only one online, help me out brother
λtlas
@cloudrex
I got it
It was Marshal.PtrToStringAnsi!
λtlas
@cloudrex
I think it would be GREAT if the LlvmSharp would have descriptions in the methods
like documentation
λtlas
@cloudrex
You guys alive?
yowl
@yowl
@cloudrex The participation here is a bit sporadic. You might be better off creating an issue in github.
λtlas
@cloudrex
Thanks for the suggestion sir!
λtlas
@cloudrex
is it okay to create issues for questions/LLVM help?
yowl
@yowl
@cloudrex I would, but if its LLVM rather than LLVMSharp you might be better off in their IRC channel
λtlas
@cloudrex
It's mostly LLVMSharp since the API is somewhat special for C#