[X86][AutoUpgrade] Make some tweaks to reduce the number of nested if/else in the...
authorCraig Topper <craig.topper@intel.com>
Mon, 7 Jan 2019 20:13:45 +0000 (20:13 +0000)
committerCraig Topper <craig.topper@intel.com>
Mon, 7 Jan 2019 20:13:45 +0000 (20:13 +0000)
commit81fe1fbf4abd00b24e078a80cb15a2d2c1343f11
tree84297116f9b8df9e42312447589357fa280f86fd
parent33c9088783b2474ae28e9a20b31d78710421fcb4
[X86][AutoUpgrade] Make some tweaks to reduce the number of nested if/else in the intrinsic upgrade code to avoid an MSVC compiler limit.

MSVC has a nesting limit of around 110-130. An if/else if/else if counts against this next level. The autoupgrade code consists a long chain of these checking matches against strings.

This commit moves some code to a helper function to move out a large if/else chain that was inside of one of the blocks into a separate function. There are more of these we could move or we could change some to lookup tables.

I've also merged together a few similar blocks in the outer chain. This should buy us some margin for a little bit.

llvm-svn: 350564
llvm/lib/IR/AutoUpgrade.cpp