Replace its functionality with a TableGen InstrInfo relational
instruction mapping. Although arguably more complex than the TableGen
backend, the relational mapping is a smaller maintenance burden than a
TableGen backend.
Details
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 23819 Build 23818: arc lint + arc unit
Event Timeline
Hah, generally looks even neater :)
lib/Target/WebAssembly/WebAssemblyInstrFormats.td | ||
---|---|---|
21 | Why does this need to be a string instead of a bit? |
lib/Transforms/IPO/HotColdSplitting.cpp | ||
---|---|---|
153 | I think this change has been committed, so you can remove this change |
lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp | ||
---|---|---|
36 | Probably should #undef GET_INSTRMAP_INFO afterwards just for completeness. |
lib/Target/WebAssembly/WebAssemblyInstrFormats.td | ||
---|---|---|
21 | I specified that the values of the StackBased form the columns of the relational mapping. Internally, TableGen will uses these values to form identifiers in an enum. I guess since the values are used as part of identifiers, TableGen requires them to be strings. It seemed better to make this field a string than to introduce a redundant string field that contains the same information. | |
lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp | ||
36 | This is done automatically inside WebAssemblyGenInstrInfo.inc. Other includes of TableGen files do not have an undef either. | |
lib/Transforms/IPO/HotColdSplitting.cpp | ||
153 | Oops! I didn't mean to get this in here. |
Thanks!
utils/TableGen/WebAssemblyDisassemblerEmitter.cpp | ||
---|---|---|
51 | This looks a bit arcane.. but it's pre-existing, so fine I guess. |
lib/Target/WebAssembly/WebAssemblyInstrFormats.td | ||
---|---|---|
21 | Ah ok, thanks. |
Why does this need to be a string instead of a bit?