Sorry to disturb you all, but I simply cannot get the linearscan allocator to work. I have upgraded llvm to mainline cvs. Everything works until I get to llc -regalloc=linearscan or lli -regalloc=linearscan. I have installed it on redhat 9 and on Fedora Core distributions (I even took it as far as to format a new partition and install Fedora core all over). I have submitted the bytecode that triggers the error, but IT WORKS JUST FINE for John (see below). Apparently, the error only shows itself on my installation. Guess I must be making some stupid mistake with my configuration. I do believe that I follow the recipe given. Now I'm stuck. Any kind of even remote ideas about what kind of strange dependencies I have violated ? Anybody running it on RedHat Linux ? RedHat has been known to ship installations with problems before, like when they shipped it with a strange gcc version. Any kind of help is most welcome. Thanks in advance, /Finn John Criswell wrote:> Finn S Andersen wrote: > >> Chris Lattner wrote: >> >>> I can't reproduce this failure with mainline CVS using either lli or >>> llc: >>> >>> $ lli -regalloc=linearscan a.out.bc >>> $ echo $status >>> 0 >>> >>> Are you sure that the CVS version is in your path? >>> >>> >> After configure and make I run make install, which moves the executables >> to /usr/local/bin, right ? And yes, they are in my path. > > > I am not sure if the "make install" target will work as expected. > Generally, we compile LLVM and set our paths to the > OBJECT_ROOT/tools/Debug directory (as described in the LLVM "Getting > Started" guide). I seem to recall that someone added some support for > the install target, but I don't know if it is complete. If any work > as been done, it has probably been registered in BugZilla as an > enhancement.
Finn S Andersen wrote:> Sorry to disturb you all, but I simply cannot get > the linearscan allocator to work. I have upgraded > llvm to mainline cvs. Everything works until I get > to llc -regalloc=linearscan or lli -regalloc=linearscan. > > I have installed it on redhat 9 and on Fedora Core > distributions (I even took it as far as to format a new > partition and install Fedora core all over). I have submitted > the bytecode that triggers the error, but IT WORKS > JUST FINE for John (see below). Apparently, the error > only shows itself on my installation. > > Guess I must be making some stupid mistake with > my configuration. I do believe that I follow the recipe > given. Now I'm stuck. Any kind of even remote ideas > about what kind of strange dependencies I have violated ? > Anybody running it on RedHat Linux ? RedHat has > been known to ship installations with problems before, > like when they shipped it with a strange gcc version. > > Any kind of help is most welcome.We use RedHat in house here, both RedHat 7 and (I believe) 8. We'll be upgrading to RedHat 9 in the future. So, it should work. I don't know exactly what to suggest, so I'll try to recap to see if there's anything we're overlooking. Can you send us the following: 1) The LLVM assembly language (.ll file) that is failing. 2) The version of GCC that you are using (gcc -v) 3) A brief description of your hardware, especially if it is something uncommon. I'm assuming your running on x86. Running on another processor (like Sparc or even AMD's new 64 bit chips) might make a difference. 4) The exact command line that you use to configure LLVM, as well as the name of the source and object directory names you use to store the source and object files. 5) A copy of the Makefile.config file that is created in the object root directory after running configure. Can you also do the following: 1) Verify that the input file works correctly for the other register allocators. -- John T.> > Thanks in advance, > /Finn > > John Criswell wrote: > >> Finn S Andersen wrote: >> >>> Chris Lattner wrote: >>> >>>> I can't reproduce this failure with mainline CVS using either lli or >>>> llc: >>>> >>>> $ lli -regalloc=linearscan a.out.bc >>>> $ echo $status >>>> 0 >>>> >>>> Are you sure that the CVS version is in your path? >>>> >>>> >>> After configure and make I run make install, which moves the executables >>> to /usr/local/bin, right ? And yes, they are in my path. >> >> >> >> I am not sure if the "make install" target will work as expected. >> Generally, we compile LLVM and set our paths to the >> OBJECT_ROOT/tools/Debug directory (as described in the LLVM "Getting >> Started" guide). I seem to recall that someone added some support for >> the install target, but I don't know if it is complete. If any work >> as been done, it has probably been registered in BugZilla as an >> enhancement. > > > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev-- ********************************************************************* * John T. Criswell Email: criswell at uiuc.edu * * Research Programmer * * University of Illinois at Urbana-Champaign * * * * "It's today!" said Piglet. "My favorite day," said Pooh. * *********************************************************************
On Mon, 3 May 2004, John Criswell wrote:> Finn S Andersen wrote: > > Sorry to disturb you all, but I simply cannot get > > the linearscan allocator to work. I have upgraded > > llvm to mainline cvs. Everything works until I get > > to llc -regalloc=linearscan or lli -regalloc=linearscan.In addition to what John asked, can you say HOW it's failing? Does the program crash? Does the register allocator crash (ie, does llc crash)? Can you send the output of 'llc -o - foo.bc -debug -print-machineinstrs'?> Can you also do the following: > > 1) Verify that the input file works correctly for the other register > allocators.No need to try all of them, just make sure the default allocator works. If I remember right, you were having problems even with "hello world" type of programs, so I don't think it's your code. In any case, this is really distressing, and I would like to get this resolved! :) -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/
OK, details: I run RH8 (gcc 3.2.something), RH9 (gcc 3.2.2-5) and Fedora. Problems are the same across all setups. Hardware is Athlon 1600+ and half a giga RAM. Runs fail with an assertion when the linear scan allocator is enabled, but runs without problems otherwise. On RH9 (the system I have access to while generating this email) I have the following details: > 1) The LLVM assembly language (.ll file) that is failing. - Attached. > 2) The version of GCC that you are using (gcc -v) ---------------- [finna at coplin11 ~]$ gcc -v Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux Thread model: posix gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) > 3) A brief description of your hardware, especially if it is something uncommon. > I'm assuming your running on x86. Running on another processor (like Sparc > or even AMD's new 64 bit chips) might make a difference. ------------- Its a plain athlon (actually there are two plain athlons, one running 1.2GHz, the other running 1.0GHz). Hardware has been used for more than a year running heavyweight programs (chip design cad tools, for example). > 4) The exact command line that you use to configure LLVM, as well as the > name of the source and object directory names you use to store the source > and object files. ------------- Under my home dir, /home/finna I have a 'llvm' dir containing * a 'build' dir, this is supposed to be the object dir in your description, * a 'cfrontend' dir, generated by extracting the 1.2 release of the cfrontend * a 'llvm' dir, generated by getting latest cvs checkout Standing in 'build' (/home/finna/llvm/build) I run [finna at coplin11 build]$ ../llvm/configure --with-llvmgccdir=/home/finna/llvm/cfrontend/x86/llvm-gcc/ (then gmake and gmake install). Environment variables: LLVM_LIB_SEARCH_PATH=/home/finna/llvm/cfrontend/x86/llvm-gcc/bytecode-libs And aliases: llvmg++ /home/finna/llvm/cfrontend/x86/llvm-gcc/bin/g++ llvmgcc /home/finna/llvm/cfrontend/x86/llvm-gcc/bin/gcc > 5) A copy of the Makefile.config file that is created in > the object root directory after running configure. ------------- - attached. Chris wrote in a followup:> Can you send the output of 'llc -o - foo.bc -debug -print-machineinstrs'?Attached as "linscan". (But added the "-regalloc=linearscan" to provoke the error). For completenes, I also attach the a.out.bc bytecode, although I expect it can be generated from a.out.ll. -------------- That's it. I want to thank you very much for offering this kind of support. I hope it won't be too embarrasing for me when you find the error. Best regards /Finn -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: a.out.ll URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040504/a28d8470/attachment.ksh> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Makefile.config URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040504/a28d8470/attachment-0001.ksh> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: linscan URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040504/a28d8470/attachment-0002.ksh> -------------- next part -------------- A non-text attachment was scrubbed... Name: a.out.bc Type: application/octet-stream Size: 1092 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040504/a28d8470/attachment.obj>