On 9/29/11 11:23 AM, Eric Christopher wrote:> On Sep 29, 2011, at 12:53 AM, Speziale Ettore wrote: > >> Hi, >> >>> What compiler are you using to build with? I've made it default to clang with less looking around for llvm-gcc, so there may be an issue there. What is your configure line? What host are you trying to build on? >> First I have compiled llvm/clang compiled with "gcc (Gentoo 4.5.2 p1.1, >> pie-0.4.5) 4.5.2". Then I have installed llvm/clang. They are in the >> path: >> >> $ clang --version >> clang version 3.0 (http://llvm.org/git/clang.git >> 53ce37ff4b44c59e5ac682d4558df980a8a3fa33) >> Target: x86_64-unknown-linux-gnu >> Thread model: posix >> >> My llvm configure line is: >> >> ../src/configure --prefix=/home/ettore/work/llvm/root >> >> Host: >> >> Linux ironman 2.6.35-gentoo-r10 #1 SMP Fri Oct 15 11:35:09 CEST 2010 >> x86_64 Intel(R) Xeon(R) CPU E5335 @ 2.00GHz GenuineIntel GNU/Linux >> I have added a bitcode library to the sample project >> >> I have modified the sample project to show my problem -- patch attached. >> >> The warning comes from Makefile.rules:1192. The check is performed over >> LLVMCC, set at Makefile.rules:428-443. Setting depends on >> LLVMCC_OPTIONS, CLANGPATH, and ENABLE_BUILT_CLANG. Previously -- I have >> tried with 3699261d3f49d65cee6a645c849c41cdca51a01f -- these vars was >> set throught the configure script, now they are not set. > Aha. I see. > > I'd forgotten to remove that code when I moved the rest of the compiler support out of the top level configure for llvm. I hadn't realized anyone was using that functionality to build modules. > > Out of curiosity what are you using this for? I.e. is it absolutely important to build bitcode modules within the llvm build system?(I'm jumping into the middle of this conversation as it looks like you're discussing something that might be relevant to my work. Sorry I'm not up to speed on the full context of the discussion...) If you are asking whether anyone is using machinery in LLVM's build system to compile programs into LLVM bitcode files, the answer is yes. The LLVM Makefile machinery is used not only by LLVM but by LLVM sub-projects like SAFECode, Automatic Pool Allocation, and others. Practically every project I work on (either research or open-source) is organized as a sub-project of LLVM. We compile our run-time libraries into LLVM bitcode files so that their functions can be inter-procedurally inlined and optimized by LLVM (either by llvm-ld or by libLTO). This is simple to do as defining a macro in the Makefile turns this feature on (BYTECODE_LIBRARY=1, IIRC). If you remove this feature, I will most likely have to re-implement it in all of our projects' Makefiles. I may have to update our test suite Makefiles as well. I'm not sure how time consuming that would be, but I'd rather not have to change all of my projects if I don't have to, even if the change is trivial. If you have already removed this feature, can you please revert the commits and add it back? -- John T.> > -eric > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> > > (I'm jumping into the middle of this conversation as it looks like you're discussing something that might be relevant to my work. Sorry I'm not up to speed on the full context of the discussion...) > > If you are asking whether anyone is using machinery in LLVM's build system to compile programs into LLVM bitcode files, the answer is yes. The LLVM Makefile machinery is used not only by LLVM but by LLVM sub-projects like SAFECode, Automatic Pool Allocation, and others. Practically every project I work on (either research or open-source) is organized as a sub-project of LLVM. > > We compile our run-time libraries into LLVM bitcode files so that their functions can be inter-procedurally inlined and optimized by LLVM (either by llvm-ld or by libLTO). This is simple to do as defining a macro in the Makefile turns this feature on (BYTECODE_LIBRARY=1, IIRC). > > If you remove this feature, I will most likely have to re-implement it in all of our projects' Makefiles. I may have to update our test suite Makefiles as well. I'm not sure how time consuming that would be, but I'd rather not have to change all of my projects if I don't have to, even if the change is trivial. > > If you have already removed this feature, can you please revert the commits and add it back?It wouldn't be too bad. It was part of some larger commits, but I'll rework it a little cleaner and add in just the detection of a compiler that can emit bitcode. Thanks for the note! -eric
On 9/29/11 11:45 AM, Eric Christopher wrote:>> (I'm jumping into the middle of this conversation as it looks like you're discussing something that might be relevant to my work. Sorry I'm not up to speed on the full context of the discussion...) >> >> If you are asking whether anyone is using machinery in LLVM's build system to compile programs into LLVM bitcode files, the answer is yes. The LLVM Makefile machinery is used not only by LLVM but by LLVM sub-projects like SAFECode, Automatic Pool Allocation, and others. Practically every project I work on (either research or open-source) is organized as a sub-project of LLVM. >> >> We compile our run-time libraries into LLVM bitcode files so that their functions can be inter-procedurally inlined and optimized by LLVM (either by llvm-ld or by libLTO). This is simple to do as defining a macro in the Makefile turns this feature on (BYTECODE_LIBRARY=1, IIRC). >> >> If you remove this feature, I will most likely have to re-implement it in all of our projects' Makefiles. I may have to update our test suite Makefiles as well. I'm not sure how time consuming that would be, but I'd rather not have to change all of my projects if I don't have to, even if the change is trivial. >> >> If you have already removed this feature, can you please revert the commits and add it back? > It wouldn't be too bad. It was part of some larger commits, but I'll rework it a little cleaner and add in just the detection of a compiler that can emit bitcode.I'm not exactly sure what you're saying. Are you saying that you will be maintaining this feature as it was in previous versions of LLVM, or are you saying that you're adding an alternate feature which will require that I adapt our Makefiles to use? -- John T.> > Thanks for the note! > > -eric