aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-03-20 14:54:01 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-03-20 14:54:01 +0000
commit5ffd808a27ec8fe211b86310f74a3e3a5c8c1950 (patch)
tree098d4cbee7ba861221751b5d33c4482f36b250d8 /llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
parentad991868c1c4d4e778f41ebccc1b4ad8ce978d31 (diff)
downloadllvm-5ffd808a27ec8fe211b86310f74a3e3a5c8c1950.zip
llvm-5ffd808a27ec8fe211b86310f74a3e3a5c8c1950.tar.gz
llvm-5ffd808a27ec8fe211b86310f74a3e3a5c8c1950.tar.bz2
[Hexagon] Improve scheduling heuristic for large basic blocks
This patch changes the isLatencyBound heuristic to look at the path length based upon the number of packets needed to schedule a basic block. For small basic blocks, the heuristic uses a small threshold for isLatencyBound. For large basic blocks, the heuristic uses a large threshold. The goal is to increase the priority of an instruction in a small basic block that has a large height or depth relative to the code size. For large functions, the height and depth are ignored because it increases the live range of a register and causes more spills. That is, for large functions, it is more important to schedule instructions when available, and attempt to keep the defs and uses closer together. Patch by Brendon Cahoon. llvm-svn: 327987
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp')
0 files changed, 0 insertions, 0 deletions