llvm-project
bb7d1efb - [msan] Add intermediate verbosity instruction dump (#178771)

Commit
49 days ago
[msan] Add intermediate verbosity instruction dump (#178771) This patch does not change MSan's instrumentation. -msan-dump-{heuristic,strict}-instructions currently prints out two lines per instruction: 1) instruction name only e.g., `call llvm.aarch64.neon.uqsub.v16i8` 2) the full instruction, including actual variables e.g., `%vqsubq_v.i15 = call noundef <16 x i8> @llvm.aarch64.neon.uqsub.v16i8(<16 x i8> %vext21.i, <16 x i8> splat (i8 1)), !dbg !66` Option 1) is too sparse for some uses, because it does not contain the return types or parameter types (although `.v16i8` is part of the function name in this example, in general, the function name does not describe the types completely; e.g., `<16 x float> llvm.x86.avx512.mask.scalef.ps.512(<16 x float>, <16 x float>, <16 x float>, i16, i32)`). OTOH option 2) can be too verbose because it contains the actual variables. This patch adds a Goldilocks-verbosity line: - instruction prototype (including return type and parameter types) e.g., `call <16 x i8> @llvm.aarch64.neon.uqsub(<16 x i8>, <16 x i8>)`. Note that this uses the base/non-overloaded function name, since the parameter types are already included in the output.
Author
Parents
Loading