[LLVMdev] Is there any known bug related to NoDuplicate in LLVM/Clang 3.5

Matt Arsenault Matthew.Arsenault at amd.com
Thu Feb 5 11:22:35 PST 2015


On 02/05/2015 10:37 AM, Lu Mitnick wrote:
> Hello all,
>
> I am using LLVM/Clang 3.5 to build a C++ extension. Such C++ extension 
> contains a special function named "barrier", which shouldn't be 
> duplicated. So I add __attribute__((noduplicate)) on barrier declaration.
>
> For some reasons, I also add AlwaysInlineAttr attribute on each 
> function except main function. The generated LLVM IR what I expect is 
> only a main function with many LLVM IRs.
>
> However when I counts the number of barrier function call of the 
> output LLVM IR, I found the number is more than I used in source code. 
> I am wondering whether there is any known bug related to NoDuplicate 
> in LLVM/Clang 3.5?
>
> PS. To find out the problematic LLVM pass that may duplicate my 
> barrier function call. I also used -print-after-all to dump the 
> generated LLVM IR of each pass. But the main function is too huge and 
> the called pass is too much therefore it is not feasible to debug in 
> this way. Do you have any other debug tips to find out the problematic 
> LLVM pass?
>
> Any suggestion is welcomed.
>
> Thanks,
> Yi-Hong
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

You should be able to write a script that bugpoint can help reduce for 
you. Write a lit test that checks for the repeated calls to barrier and 
figure out the incantation necessary to get bugpoint to run with it

-Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150205/c182e59e/attachment.html>


More information about the llvm-dev mailing list