[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