[llvm-dev] Scaling to many basic blocks

Joerg Sonnenberger via llvm-dev llvm-dev at lists.llvm.org
Sun Aug 23 11:35:42 PDT 2015


On Sun, Aug 23, 2015 at 01:46:12AM +0100, Russell Wallace via llvm-dev wrote:
> On Sat, Aug 22, 2015 at 11:57 PM, Michael Zolotukhin <mzolotukhin at apple.com>
> wrote:
> 
> > Hi,
> >
> > Several passes would have troubles with such code (namely, GVN and
> > JumpThreading).
> 
> 
> Can you just choose not to run those particular passes? I suppose the big
> problem would be if there's a problem with the code generation and related
> stuff like instruction scheduling and register allocation - is that likely
> to be the case?

One problematic pass right now is correlated value propogation. The sad
part is that at least from clang it can't be disabled short of -O0 :(
I have a patch in my tree to at least be able to disable it with -mllvm
magic, but Chandler didn't like it for the obvious reasons for in-tree.

It would be really nice if someone could (finally) add the proper memory
and compute time bounding to that pass.

Joerg


More information about the llvm-dev mailing list