Skip to content

llvm-tblgen is still too slow in the default debug build configuration #28596

Open
@rnk

Description

@rnk
Bugzilla Link 28222
Version trunk
OS Windows NT
Depends On #38383 #43973 #49312
Blocks #33939
CC @ahmedbougacha,@llvm-beanz,@topperc,@davidchisnall,@jryans,@kparzysz-quic,@RKSimon,@MatzeB,@cooperp,@sanjoy

Extended Description

I'm filing this bug because I bothered to build LLVM in debug mode on Windows, and it's ridiculously slow. This has been a persistent problem across LLVM's entire history, and many people have attempted to solve it, but it still persists. Currently we have LLVM_OPTIMIZED_TABLEGEN, but this is off by default and doesn't play well with ninja.

I think we need should solve this by building lib/Support in both release and debug configurations when we detect that the user is building in a debug configuration. The release version of support would be linked into llvm-tblgen. We would also optimize the code in lib/TableGen, which changes infrequently and doesn't need to be debugged very often. We would also disable things like debug iterator checks to make these libraries faster.

We'd probably disable this complexity in an "expensive checks" build. We also don't want to do this when the user is already doing a release build, since it increases the total compilation work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions