You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[MVT][TableGen] Extend Machine Value Type to uint16_t
Currently 208 out of 256 MVTs are used, it will be run out soon, so
ultimately we need to extend the original `MVT::SimpleValueType` from
`uint8_t` to `uint16_t` to accomodate more types.
The `MatcherTable` uses `unsigned char` for encoding the matcher code,
so the extended MVTs are no longer fit into the table, thus we need to
use VBR to encode them as we do on others that are wider than 8 bits.
The statistics below shows the difference of the generated matcher table
file in terms of "number of characters":
Table Before After Change(%)
WebAssemblyGenDAGISel.inc 393561 379244 -3.64
NVPTXGenDAGISel.inc 2559591 2430267 -5.05
RISCVGenDAGISel.inc 34077228 33338013 -2.17
AVRGenDAGISel.inc 50151 47965 -4.36
PPCGenDAGISel.inc 2504435 2392041 -4.49
MipsGenDAGISel.inc 778353 751718 -3.42
SystemZGenDAGISel.inc 896893 863890 -3.68
AArch64GenDAGISel.inc 8107608 7841939 -3.28
MSP430GenDAGISel.inc 135129 130357 -3.53
LoongArchGenDAGISel.inc 1270101 1220317 -3.92
XCoreGenDAGISel.inc 61883 60740 -1.85
BPFGenDAGISel.inc 70406 69036 -1.95
VEGenDAGISel.inc 939901 909025 -3.29
LanaiGenDAGISel.inc 39537 38571 -2.44
X86GenDAGISel.inc 10144147 9789910 -3.49
ARMGenDAGISel.inc 2538230 2431278 -4.21
HexagonGenDAGISel.inc 2553975 2470275 -3.28
SparcGenDAGISel.inc 96671 93963 -2.80
AMDGPUGenDAGISel.inc 8546226 8391452 -1.81
R600GenDAGISel.inc 397075 390725 -1.60
The statistics below shows the runtime peak memory usage by compiling a
simple C program:
`/bin/time -v clang -target $TARGET -O3 -c test.c`
```
int test(int a) {
return a * 3;
}
```
Target Before(kbytes) After(kbytes) Change(%)
wasm64 109708 108748 -0.88
nvptx64 109892 108616 -1.16
riscv64 113492 112624 -0.76
avr 110440 109080 -1.23
ppc64 112384 111676 -0.63
mips64 113524 112568 -0.84
systemz 110864 109964 -0.81
aarch64 113736 112484 -1.10
msp430 110136 108956 -1.07
loongarch64 110784 109784 -0.90
xcore 108004 106776 -1.14
bpf 110612 109520 -0.99
ve 110976 109756 -1.10
lanai 109880 108620 -1.15
x86_64 113652 112540 -0.98
arm64 113576 112588 -0.87
hexagon 115264 113556 -1.48
sparc 110336 108792 -1.40
amdgcn 117248 116088 -0.99
r600 111060 109788 -1.15
0 commit comments