[MachineFunctionPass] Support -filter-passes for -print-changed
authorFangrui Song <i@maskray.me>
Thu, 1 Sep 2022 18:06:06 +0000 (11:06 -0700)
committerFangrui Song <i@maskray.me>
Thu, 1 Sep 2022 18:06:06 +0000 (11:06 -0700)
commit8d95fd7e56bed7d3a3260bed7117023968f8be3c
tree2b54dce0e272c2c331957c762d4034daf0a7ade2
parentc0433f91d3333d8902ae7a53c0e5ee5e98b7586b
[MachineFunctionPass] Support -filter-passes for -print-changed

[MachineFunctionPass] Support -filter-passes for -print-changed

-filter-passes specifies a `PassID` (a lower-case dashed-separated pass name,
also used by -print-after, -stop-after, etc) instead of a CamelCasePass.

`-filter-passes=CamelCaseNewPMPass` seems like a workaround for new PM passes before
we can use lower-case dashed-separated pass names (as used by `-passes=`).

Example:
```
# getPassName() is "IRTranslator". PassID is "irtranslator"
llc -mtriple=aarch64 -print-changed -filter-passes=irtranslator < print-changed-machine.ll
```

Close https://github.com/llvm/llvm-project/issues/57453

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D133055
llvm/include/llvm/IR/PrintPasses.h
llvm/lib/CodeGen/MachineFunctionPass.cpp
llvm/lib/IR/PrintPasses.cpp
llvm/lib/Passes/StandardInstrumentations.cpp
llvm/test/Other/ChangePrinters/print-changed-diff-machine.ll
llvm/test/Other/print-changed-machine.ll