The previous behaviour of using the smallest type possible caused LLVM to treat padding too conservatively, causing poor codegen. This commit changes the behaviour to use an alignment-sized integer as the discriminant. This keeps types the same size, but helps LLVM understand the data structure a little better, resulting in better codegen. |
||
|---|---|---|
| .. | ||
| auxiliary | ||
| bench | ||
| codegen | ||
| compile-fail | ||
| compile-fail-fulldeps | ||
| debuginfo | ||
| pretty | ||
| run-fail | ||
| run-make | ||
| run-pass | ||
| run-pass-fulldeps | ||
| run-pass-valgrind | ||