Before, they were one category of operands which could cause
crashes in non-sensical combinations, e.g. "f32.const symbol".
Now these are forced to be an error.
Details
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 34162 Build 34161: arc lint + arc unit
Event Timeline
We don't have "error" tests for any other illegal operand possibilities, but sure, added a test.
lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp | ||
---|---|---|
92 | Isn't this supposed to include both integer and float immediates? (It is an inherited one, so) |
lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp | ||
---|---|---|
92 | That really depends on how you define it. "Imm" is a class name driven by the tablegen def, that we happened to use for both int and float, which was problematic, since our emitter assumed they were separate. With this change I force them to be separate in both the def and the code. |
lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp | ||
---|---|---|
92 | I see, thanks. |
Isn't this supposed to include both integer and float immediates? (It is an inherited one, so)