[clang] [clang-tools-extra] [llvm] [LLVM] Add IRNormalizer Pass (PR #68176)

Nikita Popov via cfe-commits cfe-commits at lists.llvm.org
Sat Nov 4 04:36:17 PDT 2023


https://github.com/nikic commented:

Could you please update the patch description with some information on what kind of normalization the pass does?

It would also be great to post some examples, because I don't really get what kind of renaming and reordering this does just looking at the test coverage.

One bit that's particularly non-obvious to me is why this normalization has to involve hashes? That seems like it would make things more unstable and hard to understand.

I would recommend trying to run this pass (with all options enabled) over all existing tests to make sure that it doesn't cause any crashes/verifier failures. You're moving instructions around, and it's easy to get that wrong when invoke, callbr or catchswitch are involved.

I would also try to add this pass at the end of the clang pipeline and run llvm-test-suite to verify that the normalization this does is indeed semantics-preserving.

https://github.com/llvm/llvm-project/pull/68176


More information about the cfe-commits mailing list