Hi I'm trying to compile the "bh" C program from the Olden benchmark to one bc file. # compile source files into an LLVM bitcode file llvm-gcc -emit-llvm -c args.c -o args.bc -w -DTORONTO llvm-gcc -emit-llvm -c newbh.c -o newbh.bc -w -DTORONTO llvm-gcc -emit-llvm -c util.c -o util.bc -w -DTORONTO llvm-gcc -emit-llvm -c walksub.c -o walksub.bc -w -DTORONTO # To link files together using llvm-ld llvm-ld -o bh.bc newbh.bc args.bc util.bc walksub.bc -lm But when I try to run my pass over bh.bc file or just compile it to native code llc bh.bc -o bh.s I get the following error. llc: bh.bc:1:1: error: expected top-level entity Do you need to do some special stuff when you want to compile a C program with different files to one bc file. Thx, Vincent -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110302/b65c52a3/attachment.html>
On 11-03-02 10:44 AM, Vincent De Bruyne wrote:> Hi > > I'm trying to compile the "bh" C program from the Olden benchmark to one > bc file. > > # compile source files into an LLVM bitcode file > llvm-gcc -emit-llvm -c args.c -o args.bc -w -DTORONTO > llvm-gcc -emit-llvm -c newbh.c -o newbh.bc -w -DTORONTO > llvm-gcc -emit-llvm -c util.c -o util.bc -w -DTORONTO > llvm-gcc -emit-llvm -c walksub.c -o walksub.bc -w -DTORONTO > > # To link files together using llvm-ld > llvm-ld -o bh.bc newbh.bc args.bc util.bc walksub.bc -lmCheck what is in bh.bc. If I remember correctly llvm-ld used to create a shell script that would run lli on the actual IL file.> But when I try to run my pass over bh.bc file or just compile it to > native code > llc bh.bc -o bh.s > > I get the following error. > llc: bh.bc:1:1:*error: expected top-level entity* > > Do you need to do some special stuff when you want to compile a C > program with different files to one bc file.For large programs you will probably a system linker that supports llvm (the apple one) or plugin (gold and very recent versions of gnu ld). For small programs using llvm-link or llvm-ld should be ok.> Thx, > Vincent >Cheers, Rafael
Sorry, forgot to CC the list. ----- Forwarded Message ----> From: Samuel Crow <samuraileumas at yahoo.com> > To: Vincent De Bruyne <vincent_de_bruyne at hotmail.com> > Sent: Wed, March 2, 2011 10:08:57 AM > Subject: Re: [LLVMdev] Compile C files to one .bc file > > Hi Vincent, > > You probably need the C runtime library. > > --Sam > > > > >From: Vincent De Bruyne <vincent_de_bruyne at hotmail.com> > >To: llvmdev <llvmdev at cs.uiuc.edu> > >Sent: Wed, March 2, 2011 9:44:56 AM > >Subject: [LLVMdev] Compile C files to one .bc file > > > --snip-- > > > > > >Do you need to do some special stuff when you want to compile a C program >with > > >different files to one bc file. > > > > > >
On Wed, Mar 2, 2011 at 10:44 AM, Vincent De Bruyne < vincent_de_bruyne at hotmail.com> wrote:> Hi > > I'm trying to compile the "bh" C program from the Olden benchmark to one bc > file. > > # compile source files into an LLVM bitcode file > llvm-gcc -emit-llvm -c args.c -o args.bc -w -DTORONTO > llvm-gcc -emit-llvm -c newbh.c -o newbh.bc -w -DTORONTO > llvm-gcc -emit-llvm -c util.c -o util.bc -w -DTORONTO > llvm-gcc -emit-llvm -c walksub.c -o walksub.bc -w -DTORONTO > > # To link files together using llvm-ld > llvm-ld -o bh.bc newbh.bc args.bc util.bc walksub.bc -lm >llvm-link would be better suited for this purpose. It takes in several byte-code files and combines them into a single byte-code file. Also, you do not need the -lm flag until you generate the final executable.> > But when I try to run my pass over bh.bc file or just compile it to native > code > llc bh.bc -o bh.s > > I get the following error. > llc: bh.bc:1:1:* error: expected top-level entity* > > Do you need to do some special stuff when you want to compile a C program > with different files to one bc file. > > Thx, > Vincent > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-- Thanks, Justin Holewinski -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110302/4ede2064/attachment.html>