[LLVMdev] llvm and parallel [Re: gcc in c++]

Devang Patel dpatel at apple.com
Thu Jul 3 11:00:07 PDT 2008


On Jul 3, 2008, at 10:28 AM, Eli Friedman wrote:

> On Thu, Jul 3, 2008 at 9:09 AM, Devang Patel <dpatel at apple.com> wrote:
>>> On Wed, Jul 2, 2008 at 7:00 PM, Mike Stump <mrs at apple.com> wrote:
>>>> If we apply their logic to llvm, we can dominate, if we just  
>>>> target 8
>>>> cores.  :-)
>>
>> Does this mean llvm can not dominate if llvm target 1 core machine
>> also ?
>
> Making an optimizer/code generator parallel is fundamentally a lot
> easier than making a browser parallel because the problems parallelize
> a lot more naturally.

It is hard for me to agree or disagree because I do not know typical  
web browser architecture.

>  There are essentially two chunks of code in the
> llvm pipeline that take up large amounts of time: the optimization
> passes and the code generator.  I think parallelizing both of these is
> feasible with conventional parallelism techniques, with very little
> penalty for the single-core case.
>
>
> That said, that wasn't the point I was trying to make by linking to
> that blog post; I was really trying to point in the direction of
> building new programming tools with LLVM.  Parallelizing a web-browser
> to many cores involves much more difficult issues.

host vs. target

If LLVM itself is parallelized than it can spit out optimized code  
faster if the host has multiple cores. This is a win for developers  
who use LLVM based compiler, e.g. web browser developers.

If LLVM targets machines with multiple cores then the generated code  
runs faster on machines with 8 cores. This is a big one for end users  
whose application is compiled using LLVM based tools., e.g. web  
browser users. Mike is well versed in compiler host/target terminology  
so I asked him the question.

-
Devang





More information about the llvm-dev mailing list