Hi Than, I'm trying to build gollvm with different versions of llvm: LLVM8, 10, 11 and 13git. It looks like only 13git works. -emit-llvm has some issues. The produced *.ll and *.bc LLVM bitcode can only be opened with some of LLVM versions, and which version is quite random to me. Is there a manual on which version of LLVM should I build gollvm with and which version is the bitcode that -emit-llvm produces? Thanks, Khanh
On Thursday, April 8, 2021 at 10:55:16 PM UTC+8 Khanh TN wrote: > Thanks. Looks like I need everything, including llc at LLVM11. I will > stick with LLVM11. > I assume gollvm will match with whatever LLVM version is current, like, > update to match LLVM12 when LLVM12 is out? > > Khanh > On Thursday, April 8, 2021 at 10:40:19 PM UTC+8 th...@google.com wrote: > >> >It outputs a hello.ll file. LLVM11 can process it but 10.0.1 and 13git >> cannot >> >Would love to hear your feedback. Maybe I need the exact LLVM version >> that gollvm is targeting? >> >> Yes, that is correct. The LLVM IR dump format (*.ll files) tends to >> change over time and from release to release, it isn't intended or designed >> to be stable. >> >> One way to insure that you have a conformant version of llc/lli (or >> equivalent) is just to build then in the same build directory where you >> built llvm. >> >> E.g. after "ninja gollvm" you can then try "ninja llc", then use the >> freshly built llc binary (found in ./bin) for your work. >> >> Thanks, Than >> >> >> >> On Thu, Apr 8, 2021 at 10:00 AM Khanh TN <tnkh...@gmail.com> wrote: >> >>> Hi, >>> Thanks for your reply. >>> It's a bit weird. >>> I tried LLVM10.0.1 and the LLVM13 built from github along with gollvm, >>> both did not work. >>> However, I just tried LLVM11 and it worked. I haven't tried LLVM12. It >>> looks like different LLVM version has different syntax? >>> >>> The Go code I tried is simplest: >>> I have 1 file hello.go: >>> >>> package main >>> import( >>> "fmt" >>> ) >>> >>> func main() { >>> fmt.Println("Hello, playground") >>> } >>> >>> As instructed in "How do I see the LLVM IR generated by gollvm?" on >>> https://go.googlesource.com/gollvm , I ran >>> > go build -work -x hello.go 1> transcript.txt 2>&1 >>> > egrep '(WORK=|llvm-goc -c)' transcript.txt >>> WORK=/tmp/go-build903363323 >>> [...] >>> > WORK=/tmp/go-build903363323 >>> >[..change output to -o hello.ll; add -S -emit-llvm] >>> >>> It outputs a hello.ll file. LLVM11 can process it but 10.0.1 and 13git >>> cannot >>> Would love to hear your feedback. Maybe I need the exact LLVM version >>> that gollvm is targeting? >>> >>> Khanh >>> On Thursday, April 8, 2021 at 7:07:13 PM UTC+8 th...@google.com wrote: >>> >>>> Hi, >>>> >>>> Can you be a bit more specific, e.g. what Go code you compiler and what >>>> error you saw? It would also be helpful to know what version of lli/llc >>>> you >>>> were using. >>>> >>>> Thanks, Than >>>> >>>> >>>> On Thu, Apr 8, 2021 at 2:33 AM Khanh TN <tnkh...@gmail.com> wrote: >>>> >>>>> Hi, >>>>> I'm following this page https://go.googlesource.com/gollvm to compile >>>>> Go code the LLVM way. >>>>> I'm at the step "How do I see the LLVM IR generated by gollvm?" of the >>>>> page. I'm doing exactly as the instruction. Gollvm produces a .ll file >>>>> but >>>>> the file has bad syntax. Running llvm-as (or llc, lli) on the generated >>>>> .ll >>>>> file gives error (I think its syntax error) >>>>> Can anyone check this out? >>>>> >>>>> Thankss, >>>>> >>>>> Khanh >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "golang-nuts" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to golang-nuts...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/golang-nuts/e21d46ff-d151-46fc-ac1d-5da2a153a9fdn%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/golang-nuts/e21d46ff-d151-46fc-ac1d-5da2a153a9fdn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "golang-nuts" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to golang-nuts...@googlegroups.com. >>> >> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/golang-nuts/6539ccc0-3a3f-4e40-a268-e45593fc29d1n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/golang-nuts/6539ccc0-3a3f-4e40-a268-e45593fc29d1n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/b66a0650-7afe-411e-b119-28ba63b9f24cn%40googlegroups.com.