Adds support for matching intrinsics in a match pattern in the combiner.
They can be matched using the same syntax as the DAG patterns, i.e.
(match (int_foo_intrinsic $d))
Current issues with the impl:
- Intrinsics cannot (yet) be used as leaf nodes if the previous node is a "fully-testable" node (e.g. a simple opcode match).
Solves #62628 (https://github.com/llvm/llvm-project/issues/62628)
Should have one that has side effects and one that doesn't to cover both G_INTRINSIC* cases.
Also, maybe try one with multiple return values. Should theoretically be matchable