Adds scalable vector machine value types, and updates
the switch statements required for tablegen.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
See http://lists.llvm.org/pipermail/llvm-dev/2017-March/110772.html for earlier discussion on these types.
include/llvm/CodeGen/MachineValueType.h | ||
---|---|---|
31 ↗ | (On Diff #95132) | I wonder if we should move INVALID_SIMPLE_VALUE_TYPE up to 0 and shift everything so we can keep this as a byte. Not sure if anything depends on Other being 0. |
include/llvm/CodeGen/MachineValueType.h | ||
---|---|---|
144 ↗ | (On Diff #95132) | Are these values serialised in binary IR form? If so, then reading previous IR would give you the wrong types, no? |
They aren't serialized. They belong to the CodeGen implementation. IR doesn't use these.
include/llvm/CodeGen/MachineValueType.h | ||
---|---|---|
31 ↗ | (On Diff #95132) | I'll try that as an experiment and see if anything falls over. |
Changed SimpleValueType enum back to 8 bits, but made it unsigned. Renumbered all of them, with 0 now being the invalid value.
This passes 'make check-all' with all targets active, and passes lnt nightly tests.
All three patches look good to me, now. Thanks Graham for the extended work on them, I think we have a solid foundation in which to start the SVE upstreaming.