view how instruction selection is happening

At one point someone showed me how to view the output of how instruction selection is happening. The output I’m talking about is shown below. Can someone remind me how to generate it? (I really should start writing down stuff like this)

========================= Orignal Match Result =====================================

Selecting: 0x2ebfa78: glue = EsenciaISD::SET_FLAG 0x2ebee18, 0x2ebef20, 0x2ebf658 [ORD=3] [ID=11]

ISEL: Starting pattern match on root node: 0x2ebfa78: glue = EsenciaISD::SET_FLAG 0x2ebee18, 0x2ebef20, 0x2ebf658 [ORD=3] [ID=11]

Initial Opcode index to 258
Skipped scope entry (due to false predicate) at index 278, continuing at 292
Skipped scope entry (due to false predicate) at index 293, continuing at 307
Skipped scope entry (due to false predicate) at index 308, continuing at 322
Skipped scope entry (due to false predicate) at index 323, continuing at 337
Skipped scope entry (due to false predicate) at index 338, continuing at 352
Skipped scope entry (due to false predicate) at index 353, continuing at 367
Skipped scope entry (due to false predicate) at index 368, continuing at 382
Skipped scope entry (due to false predicate) at index 383, continuing at 397
Morphed node: 0x2ebfa78: i32,glue = SFLTS_ri 0x2ebee18, 0x2ebf130 [ORD=3]

ISEL: Match complete!
=> 0x2ebfa78: i32,glue = SFLTS_ri 0x2ebee18, 0x2ebf130 [ORD=3]

========================= Failed Match Result =====================================

Selecting: 0x242d278: glue = EsenciaISD::SET_FLAG 0x242c618, 0x242c720, 0x242ce58 [ORD=3] [ID=11]

ISEL: Starting pattern match on root node: 0x242d278: glue = EsenciaISD::SET_FLAG 0x242c618, 0x242c720, 0x242ce58 [ORD=3] [ID=11]

Initial Opcode index to 258
Skipped scope entry (due to false predicate) at index 285, continuing at 301
Skipped scope entry (due to false predicate) at index 302, continuing at 318
Skipped scope entry (due to false predicate) at index 319, continuing at 335
Skipped scope entry (due to false predicate) at index 336, continuing at 352
Skipped scope entry (due to false predicate) at index 353, continuing at 369
Skipped scope entry (due to false predicate) at index 370, continuing at 386
Skipped scope entry (due to false predicate) at index 387, continuing at 403
Skipped scope entry (due to false predicate) at index 404, continuing at 420
Match failed at index 424
Continuing at 437
Match failed at index 438
Continuing at 454
Continuing at 455
Skipped scope entry (due to false predicate) at index 466, continuing at 480
Skipped scope entry (due to false predicate) at index 481, continuing at 495
Skipped scope entry (due to false predicate) at index 496, continuing at 510
Skipped scope entry (due to false predicate) at index 511, continuing at 525
Skipped scope entry (due to false predicate) at index 526, continuing at 540
Skipped scope entry (due to false predicate) at index 541, continuing at 555
Skipped scope entry (due to false predicate) at index 556, continuing at 570
Skipped scope entry (due to false predicate) at index 571, continuing at 585
Match failed at index 589

That's "llc -debug".

Tim.

-mllvm -debug-only=isel

-Krzysztof

Thanks!

Thank you!