[PATCH] D74825: SpeculativeExecution: fixed ingoring free execution

Leonard Chan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 17 18:56:17 PDT 2020


leonardchan added a comment.

In D74825#1927964 <https://reviews.llvm.org/D74825#1927964>, @arsenm wrote:

> In D74825#1927949 <https://reviews.llvm.org/D74825#1927949>, @leonardchan wrote:
>
> > In D74825#1927673 <https://reviews.llvm.org/D74825#1927673>, @arsenm wrote:
> >
> > > In D74825#1927641 <https://reviews.llvm.org/D74825#1927641>, @leonardchan wrote:
> > >
> > > > Is it expected for binary size increases to result from this? Between the commit for this patch and the commit before it, I'm seeing an increase in some fuchsia ZBIs by about 13 kB.
> > >
> > >
> > > The pass isn't supposed to even run for CPU targets
> >
> >
> > I think this pass is also running for non-GPU targets. I'm seeing this pass run on x86_64, aarch64, and riscv64 when building a toolchain for those targets.
> >
> > https://github.com/llvm/llvm-project/blob/a4cde9ad7b6f1a4cfef228f6cf2fc4911bf24c77/llvm/lib/Passes/PassBuilder.cpp#L436 seems to add it to the new PM default function pipeline that I think runs as long as optimizations are available.
>
>
> That doesn't match what the comment says, or the old PM does (which does createSpeculativeExecutionIfHasBranchDivergencePassz)


@chandlerc It seems like you added the pass to the new PM pipelne in https://reviews.llvm.org/rGe3f5064b7235 with the main difference being `OnlyIfDivergentTarget` false whereas `OnlyIfDivergentTarget` is true in the old PM with `createSpeculativeExecutionIfHasBranchDivergencePass`. Is this intentional?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74825/new/

https://reviews.llvm.org/D74825





More information about the llvm-commits mailing list