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 23849 - Build 23848: 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?