Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[WebAssembly] Print instructions with type checking errors (#111067)
When there was a type checking error, we didn't run `InstPrinter`. This can be confusing because when there is an error in, say, block parameter type, `InstPrinter` doesn't run even if it has nothing to do with block parameter types, and all those updates to `ControlFlowStack` or `TryStack` do not happen: https://github.com/llvm/llvm-project/blob/c20b90ab8557b38efe8e8e993d41d8c08b798267/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp#L135-L151 For example, ```wast block (i32) -> () ;; Block input parameter error end_block ;; Now this errors out as "End marker mismatch" ``` This is confusing because there is a `block` and the `end_block` is not a mismatch. Only that `block` has a type checking error, but that's not an end marker mismatch. I think we can just print the instruction whether we had a type checking error or not, and this will be less confusing.
- Loading branch information