Move alignTo computation inside the if.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 14 Oct 2016 17:01:39 +0000 (17:01 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 14 Oct 2016 17:01:39 +0000 (17:01 +0000)
commit4a2ef91143f10eabeefb3c160954c4bc52b6962d
tree631bd40ea1180f4b0c05b05c7e66b5e9a7766b39
parentb6d652adb5b12b7d1fc7e973a5afc019875cb547
Move alignTo computation inside the if.

This is an improvement when compiling with llvm. llvm doesn't inline
the call to insert, so the align is always executed and shows up in
the profile.

With gcc the call to insert is inlined and the align computation moved
and done only if needed.

With this patch we explicitly only compute it if it is needed.

In the two tests with debug info, the speedup was

scylla
  master 3.008959365
  patch  2.932080942 1.02621974786x faster

firefox
  master 6.709823604
  patch  6.592387227 1.01781393795x faster

In all others the difference was in the noise.

llvm-svn: 284249
llvm/lib/MC/StringTableBuilder.cpp