hoy added a comment.

In D93656#2469504 <https://reviews.llvm.org/D93656#2469504>, @dblaikie wrote:

> In D93656#2469485 <https://reviews.llvm.org/D93656#2469485>, @hoy wrote:
>
>> In D93656#2468841 <https://reviews.llvm.org/D93656#2468841>, @aeubanks wrote:
>>
>>> In D93656#2468834 <https://reviews.llvm.org/D93656#2468834>, @hoy wrote:
>>>
>>>> In D93656#2468821 <https://reviews.llvm.org/D93656#2468821>, @aeubanks 
>>>> wrote:
>>>>
>>>>> Also it looks like this is doing 2 different things, the moving of things 
>>>>> from Clang to LLVM's PassBuilder, and separately the change to the pass 
>>>>> itself. Can these be separated?
>>>>
>>>> I'm not sure about a good way to separate them. There are Clang tests that 
>>>> may fail with removing the pass from clang while not adding it 
>>>> correspondingly in llvm. Adding the pass in llvm while not removing it 
>>>> from Clang may cause the pass to run twice which may also fail the Clang 
>>>> tests. What do you think?
>>>
>>> I mean keep that in one change, but separate out the change to 
>>> llvm/lib/Transforms/Utils/UniqueInternalLinkageNames.cpp and 
>>> DebugInfoMetadata.h.
>>
>> I see, thanks for the clarification.
>>
>> In D93656#2468698 <https://reviews.llvm.org/D93656#2468698>, @dblaikie wrote:
>>
>>> This should have a LLVM test coverage for the LLVM changes. (I realize 
>>> they're also tested by the Clang test, because there's no way to test 
>>> Clang's pass manager creation short of testing the effect of running the 
>>> pass manager (hmm - /maybe/ there's a way to dump the pass pipeline? In 
>>> which case that's how Clang should be tested, just testing that it creates 
>>> the right pipeline, not that that pipeline does any particular thing))
>>
>> Added an IR test. There is the llvm switch `-debug-pass=` that can dump the 
>> pass pipeline. I'm not aware of a clang switch that can do that.
>
> Seems some clang tests use something like that, eg:
>
>   clang/test/CodeGen/thinlto-debug-pm.c:// RUN: %clang_cc1 -triple 
> x86_64-unknown-linux-gnu -emit-obj -O0 -o %t2.o -x ir %t.o 
> -fthinlto-index=%t.thinlto.bc -fno-experimental-new-pass-manager -mllvm 
> -debug-pass=Structure 2>&1 | FileCheck %s --check-prefix=O0-OLDPM

Thanks for pointing that out. It seems that only works with the legacy pass 
manager when `-emit-llvm` is specified. With a quick search in the clang 
regression tests it looks like the pipeline dumps are rarely checked there. 
Such checks are done quite a bit in llvm tests though. Does the current clang 
test look okay to you, or do you prefer checking the pipeline dump there? 
Thanks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93656/new/

https://reviews.llvm.org/D93656

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to