aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2014-07-01 14:08:37 +0000
committerQuentin Colombet <qcolombet@apple.com>2014-07-01 14:08:37 +0000
commite1a36634b742e3fe28ecb2c0eb9ba1257ecb1754 (patch)
treeef71ea716ecd8f3e334209ec6a2be997eb07f4d8 /clang/lib/Frontend/CompilerInvocation.cpp
parente9c8ccbf8fa39dcf953fcfcca50b31edc1c059df (diff)
downloadllvm-e1a36634b742e3fe28ecb2c0eb9ba1257ecb1754.zip
llvm-e1a36634b742e3fe28ecb2c0eb9ba1257ecb1754.tar.gz
llvm-e1a36634b742e3fe28ecb2c0eb9ba1257ecb1754.tar.bz2
[RegAllocGreedy] Provide a flag to disable the local reassignment heuristic.
By default, no functionality change. Before evicting a local variable, this heuristic tries to find another (set of) local(s) that can be reassigned to a free color. In some extreme cases (large basic blocks with tons of local variables), the compilation time is dominated by the local interference checks that this heuristic must perform, with no code gen gain. E.g., the motivating example takes 4 minutes to compile with this heuristic, 12 seconds without. Improving the situation will likely require to make drastic changes to the register allocator and/or the interference check framework. For now, provide this flag to better understand the impact of that heuristic. <rdar://problem/17444599> llvm-svn: 212099
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions