[PATCH] D27560: Always run GlobalDCE at O0

Robinson, Paul via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 13 22:30:26 PST 2016



> -----Original Message-----
> From: Hal Finkel [mailto:hfinkel at anl.gov]
> Sent: Tuesday, December 13, 2016 7:01 PM
> To: Robinson, Paul
> Cc: llvm-commits at lists.llvm.org; Joerg Sonnenberger
> Subject: Re: [PATCH] D27560: Always run GlobalDCE at O0
> 
> ----- Original Message -----
> > From: "Paul via llvm-commits Robinson" <llvm-commits at lists.llvm.org>
> > To: "Joerg Sonnenberger" <joerg at bec.de>
> > Cc: llvm-commits at lists.llvm.org
> > Sent: Tuesday, December 13, 2016 8:39:09 PM
> > Subject: RE: [PATCH] D27560: Always run GlobalDCE at O0
> >
> >
> >
> > > -----Original Message-----
> > > From: llvm-commits [mailto:llvm-commits-bounces at lists.llvm.org] On
> > > Behalf
> > > Of Joerg Sonnenberger via llvm-commits
> > > Sent: Tuesday, December 13, 2016 6:24 PM
> > > To: llvm-commits at lists.llvm.org
> > > Subject: Re: [PATCH] D27560: Always run GlobalDCE at O0
> > >
> > > On Tue, Dec 13, 2016 at 05:55:55PM -0800, Mehdi Amini via
> > > llvm-commits
> > > wrote:
> > > > Also, if always_inline is “required” for correctness it should
> > > > process
> > > all the calligraph.
> > >
> > > always_inline is required for correctness. One example is a wrapper
> > > function around vfork or setjmp.
> >
> > Correctness of C/C++, or correctness of LLVM IR?  The difference is
> > in
> > whether Clang sets up the always-inliner to run at O0, versus whether
> > opt (and LLVM's default pass pipeline) set it up to run at O0.
> > Remember that Clang does not use LLVM's pipeline, it generates its
> > own.
> 
> What do you mean? Clang uses the pipelines built by LLVM's
> PassManagerBuilder. It also adds its own things (e.g. for the sanitizers).
> Which inliner to use is something the frontend controls via a dedicated
> option in the PassManagerBuilder, but this is definitely a special case.

Clang's lib/CodeGen/BackendUtil.cpp sure looks to me like it's building
its own pipeline, but maybe I'm just confused about how that all works.
Wouldn't be the first time.
--paulr

> 
>  -Hal
> 
> > --paulr
> >
> > >
> > > Joerg
> > > _______________________________________________
> > > llvm-commits mailing list
> > > llvm-commits at lists.llvm.org
> > > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> >
> 
> --
> Hal Finkel
> Lead, Compiler Technology and Programming Languages
> Leadership Computing Facility
> Argonne National Laboratory


More information about the llvm-commits mailing list