<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/55522>55522</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Regression: huge .rodata section generated because of constant vector of bool.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          gwenzek
      </td>
    </tr>
</table>

<pre>
    Given the simple .ll file `@0 = internal constant <4 x i1> <i1 true, i1 false, i1 true, i1 false>`,
LLVM 14 will generate an object file with 4Gb of rodata

```
$ rm reduced.o ; cat reduced.ll && ~/Downloads/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/llc --filetype=obj reduced.ll && size -A reduced.o
@0 = internal constant <4 x i1> <i1 true, i1 false, i1 true, i1 false>
reduced.o  :
section                 size   addr
.text                      0      0
.rodata           4294967297      0
.note.GNU-stack            0      0
Total             4294967297
```


If I try with vector of i8, I correctly obtain 4 bytes of rodata.

```
$ rm reduced.o ; cat reduced.ll && ~/Downloads/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/llc --filetype=obj reduced.ll && size -A reduced.o
@0 = internal constant <4 x i8> <i8 1, i8 0, i8 1, i8 0>
reduced.o  :
section           size   addr
.text                0      0
.rodata              4      0
.note.GNU-stack      0      0
Total                4
```

Vectors of i2, and i4 also generate the same issue.

This seems to be a regression from LLVM 13 where this was working fine (I believe the warning is just because my .ll is too dry).

```
rm reduced.o ; cat reduced.ll && ~/Downloads/clang+llvm-13.0.1-x86_64-linux-gnu-ubuntu-18.04/bin/llc --filetype=obj reduced.ll && size -A reduced.o
@0 = internal constant <4 x i1> <i1 true, i1 false, i1 true, i1 false>
~Downloads/clang+llvm-13.0.1-x86_64-linux-gnu-ubuntu-18.04/bin/llc: /lib64/libtinfo.so.5: no version information available (required by ~/Downloads/clang+llvm-13.0.1-x86_64-linux-gnu-ubuntu-18.04/bin/llc)
reduced.o  :
section           size   addr
.text                0      0
.rodata              4      0
.note.GNU-stack      0      0
Total                4

```

I've tried searching for similar issue but without success.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzlVkuTmzgQ_jX40gUFMhh84JAZT6ZclexhK5trSkCDlRHSRBL2OL9-W8Ie5zHJZGtnq7Z2KUDvfnz9dUOju2N9K_aowO0QrBjvJUIiJfSCOtEqjfI0hWi5AaEcGsUltFpZx5Wj2escHkBk0fLGD0QGzkwYsWuag55Le-5_N7288aLZdZRuovTVmzfv30KWw0GQ4gEVGu4QuALdfMTWzbYchNtBftuA7sHojjs-Hz69Sdx8z0OWgxnBYDe12CWazLuClrvHGVIUsRXdEJU3EXu90QclNe8s9VvJ1RCxKyn3Y5zlSZqk8UO1-rDKYynU9BAPaoqnZlJuirMqSXM60whFbylbiGNvrjvek5cbcuAJlVZ8RohfXcw7Gf1PQR2kX7AgASfULKErtIJvr2AgAO86M29MHD6477aFKz01p41zaL5Yz9k6X69Kti6_3qi0w-T2tz9i8rC9-7HEd9oREvCkxKdj_8V728OWIDnO7NmTu9p4AonKY7QlgI2hSXkkqjkuFOTQHB3aC8mS_yHLqjPLKsgClypIT-1l_Nd49WuMeo5LPvjPs-g5_ngpP2HO-8CSQAHBvLtcdSByoGzSl-oUyiUfEYS1E37Fknc7YcEijhachoYqGcVgMGitx6Q3eoS54i3hsEPjZdGBA6dHmzuhBip4ioovq7Z0Wgrcz-oO3Ci_Sps_TtbRWssnizAeQ8UWXp2Gzhwjtv4ZbV-IskuibPZvoezfKIzk54s5SRkAvieaVT63TqheJ1YnhV9TmoqQCTzw82bkIU_4ngvJGxmCbvDTJAgBqkQvHQMixn8gaX-cutuIlT5ZjCD4LHLT7kI6UdGnXxuC2MzpCs3kwidBU2untqXcTBZdvezWyzVfOOEk1r8_5qyP3G4a6Mfo5NwZqnM16B5zkYrGIzcvn5tGa5ksJiPrnXP31kPOXtM9kAlTk7R6DPHZn5v43mj_50PDYK8PfFEUjC12NStSvmqR93nJuqytugzTdbnKyq7viqwrFkQklLaOiquIMYWH2WXqR8VmIWqWMpYWWZmWRblkSZWxsu8blmPblIwh5RqOxMbE25FoMyxMHUxqpsHSohTW2csiJ4AGhRjUkXw-EaimHg6oPuPdIqiug-l_ArC7CXk">