[LLVMdev] [LLVM Dev] [Discussion] Function-based parallel LLVM backend code generation

Xinliang David Li xinliangli at gmail.com
Tue Jul 16 13:46:20 PDT 2013


On Tue, Jul 16, 2013 at 1:40 PM, Chandler Carruth <chandlerc at google.com> wrote:
> On Tue, Jul 16, 2013 at 1:37 PM, Xinliang David Li <xinliangli at gmail.com>
> wrote:
>>
>> On Tue, Jul 16, 2013 at 1:33 PM, Chandler Carruth <chandlerc at google.com>
>> wrote:
>> > On Tue, Jul 16, 2013 at 1:18 PM, Xinliang David Li
>> > <xinliangli at gmail.com>
>> > wrote:
>> >>
>> >> Ignoring FE time which can be fully parallelized and assuming 10%
>> >> compile time is spent in serial module passes, 25% time is spent in
>> >> CGSCC pass, the maximum speed up that can be gained by using function
>> >> level parallelism is less than 3x.  Even adding support for parallel
>> >> compilation for leaves of CG in CGSCC pass won't help too much -- the
>> >> percentage of leaf functions is < 30% in large apps I have seen.
>> >
>> >
>> > Can you clarify what you're basing these assumption on or how you
>> > derived
>> > your data?
>> >
>>
>> Those numbers are purely speculative -- does Clang has an option to
>> dump the time breakout of each passes such as -ftime-report in GCC?
>
>
> We have the functionality... I thought we wired -ftime-report up to it? If
> that doesn't work I'll have to go digging.

I just checked -- it produces a flat report -- it would be nice to
produce something similar to -debug-pass=Structure outputs.

David



More information about the llvm-dev mailing list