[zorg] r270539 - Enable modules selfhosting builds with libstdc++, too.

Vassil Vassilev via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 29 03:22:37 PDT 2016


It seems that headers of LLVM_Bitcode module depend implicitly on 
LLVM_intrinsic_gen (triggered by 
Clang_Rewrite->Clang_Frontend->LLVM_Bitcode->LLVM_intrinsic_gen). The 
header dependencies seem to be tricky to track. Could we workaround this 
issue by requiring intrinsics_gen target to be built first?
On 28/06/16 14:44, Vassil Vassilev wrote:
> Hi,
>   That should be addressed in r274008. Could you confirm that it is okay?
> Many thanks,
> Vassil
> On 09/06/16 01:21, Richard Smith wrote:
>> On Thu, May 26, 2016 at 2:21 AM, Vassil Vassilev 
>> <v.g.vassilev at gmail.com> wrote:
>>
>>     On 26/05/16 00:42, Richard Smith wrote:
>>>     Seems really weird to have a modules flag to
>>>     getClangBuildFactory that doesn't actually turn on
>>>     -DLLVM_ENABLE_MODULES. What's the reason for removing this:
>>>
>>>     -    if modules:
>>>     -        extra_args = ['-DLLVM_ENABLE_MODULES=1']
>>>
>>>     ?
>>     I wanted to move all extra_args into stage2_extra_configure_args.
>>     I can revert this part. However it seems that the only use of the
>>     modules flag is go add a "prebuild" step
>>     "compile.llvm.stage2.intrinsics_gen". Do we need this, on my
>>     machine it works just fine without?
>>
>>
>> Yes, we need this. A -j build will otherwise *sometimes* fail, 
>> depending on whether the steps that consume the IR module happen to 
>> start before or after intrinsics.gen is generated by tablegen.
>>
>> We could fix this by splitting the LLVM IR module up into the pieces 
>> that use intrinsics.gen and the pieces that don't; I don't think 
>> we're actually missing build dependencies here, but the relevant 
>> modules are too coarse.
>>
>>>     On Wed, May 25, 2016 at 10:17 AM, Vassil Vassilev
>>>     <v.g.vassilev at gmail.com> wrote:
>>>
>>>         Done in r270725. Thanks for reviewing!
>>>         -- Vassil
>>>
>>>         On 25/05/16 19:00, Galina Kistanova wrote:
>>>>         Looks ok,  please commit it.
>>>>
>>>>         Thanks
>>>>
>>>>         Galina
>>>>
>>>>
>>>>
>>>>         On Wed, May 25, 2016 at 5:19 AM, Vassil Vassilev
>>>>         <v.g.vassilev at gmail.com> wrote:
>>>>
>>>>             Hi Galina,
>>>>               I am attaching a patch that I believe fixes the
>>>>             issue. Could you review it please (I don't know how to
>>>>             test it).
>>>>             Many thanks,
>>>>             Vassil
>>>>
>>>>             On 25/05/16 11:36, Vassil Vassilev wrote:
>>>>
>>>>                 This broke our modules slaves. I am working on a
>>>>                 fix. Sorry for the inconvenience!
>>>>                 -- Vassil
>>>>                 On 24/05/16 11:23, Vassil Vassilev via llvm-commits
>>>>                 wrote:
>>>>
>>>>                     Author: vvassilev
>>>>                     Date: Tue May 24 04:22:58 2016
>>>>                     New Revision: 270539
>>>>
>>>>                     URL:
>>>>                     http://llvm.org/viewvc/llvm-project?rev=270539&view=rev
>>>>                     Log:
>>>>                     Enable modules selfhosting builds with
>>>>                     libstdc++, too.
>>>>
>>>>                     If a modulemap is not present (in the case of
>>>>                     libstdc++), we will end up with
>>>>                     duplicate entities in the modules. This will
>>>>                     help us stress test the module
>>>>                     merging and discover potential bugs.
>>>>
>>>>                     Modified:
>>>>                      zorg/trunk/zorg/buildbot/builders/ClangBuilder.py
>>>>
>>>>                     Modified:
>>>>                     zorg/trunk/zorg/buildbot/builders/ClangBuilder.py
>>>>                     URL:
>>>>                     http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/ClangBuilder.py?rev=270539&r1=270538&r2=270539&view=diff
>>>>                     ==============================================================================
>>>>
>>>>                     ---
>>>>                     zorg/trunk/zorg/buildbot/builders/ClangBuilder.py
>>>>                     (original)
>>>>                     +++
>>>>                     zorg/trunk/zorg/buildbot/builders/ClangBuilder.py
>>>>                     Tue May 24 04:22:58 2016
>>>>                     @@ -281,8 +281,6 @@ def getClangBuildFactory(
>>>>                           cxx_flags = ''
>>>>                           extra_args = []
>>>>                           if modules:
>>>>                     -        # Modules requires libc++ for now (we
>>>>                     don't have a module map for libstdc++ yet).
>>>>                     -        cxx_flags += '-stdlib=libc++'
>>>>                     extra_args = ['-DLLVM_ENABLE_MODULES=1']
>>>>                     f.addStep(ShellCommand(name='cmake',
>>>>
>>>>
>>>>                     _______________________________________________
>>>>                     llvm-commits mailing list
>>>>                     llvm-commits at lists.llvm.org
>>>>                     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160629/df0ac5e5/attachment.html>


More information about the llvm-commits mailing list