[llvm-dev] Scaling to many basic blocks

Mehdi Amini via llvm-dev llvm-dev at lists.llvm.org
Sun Aug 23 21:53:16 PDT 2015


> On Aug 23, 2015, at 11:35 AM, Joerg Sonnenberger via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> 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.


Is there already a PR open on https://llvm.org/bugs/ ? Ideally with a pre-processed source to feed to clang to reproduce.

Thanks,

Mehdi



More information about the llvm-dev mailing list