aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUtils.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-12-13 23:11:30 +0000
committerCraig Topper <craig.topper@intel.com>2017-12-13 23:11:30 +0000
commitf82867c95af479f5eaf6e587f7bcb8a5b5e0541f (patch)
treedbbd244d095eabaa55e28d20ea014a9cd6f0eaa9 /llvm/lib/Transforms/Utils/LoopUtils.cpp
parentf4fb5fd7523f8e3c3b3966d43c0a28457b59d1d8 (diff)
downloadllvm-f82867c95af479f5eaf6e587f7bcb8a5b5e0541f.zip
llvm-f82867c95af479f5eaf6e587f7bcb8a5b5e0541f.tar.gz
llvm-f82867c95af479f5eaf6e587f7bcb8a5b5e0541f.tar.bz2
Recommit r320461 "[X86] Use regular expressions more aggressively to reduce the number of scheduler entries needed for FMA3 instructions."
I've hopefully sidestepped the MSVC issue that caused it to be reverted. We no longer include the Sched enum from X86GenInstrInfo.inc on the X86 target. So hopefully MSVC's preprocessor will skip over it and nothing will notice the 11000 character enum name. Original commit message: When the scheduler tables are generated by tablegen, the instructions are divided up into groups based on their default scheduling information and how they are referenced by groups for each processor. For any set of instructions that are matched by a specific InstRW line, that group of instructions is guaranteed to not be in a group with any other instructions. So in general, the more InstRW class definitions are created, the more groups we end up with in the generated files. Particularly if a lot of the InstRW lines only match to single instructions, which is true of a large number of the Intel scheduler models. This change alone reduces the number of instructions groups from ~6000 to ~5500. And there's lots more we could do. llvm-svn: 320655
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions