[PATCH] D17235: [Greedy Regalloc] Reg splitting based on loops
Wei Mi via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 17 14:01:45 PST 2016
wmi updated this revision to Diff 48236.
wmi added a comment.
LoopBase<BlockT, LoopT>::getExitBlocks needs to iterate all the blocks inside the loop everytime it is called. Because getExitBlocks gets called many times in loop based reg splitting, it is better to cache the ExitBlocks for every loop (Used a map LoopExitBlocks in RAGreedy).
With this change, the compile time increase drops from 0.8% to 0.43% when -split-spill-mode=size is on.
Repository:
rL LLVM
http://reviews.llvm.org/D17235
Files:
include/llvm/CodeGen/Passes.h
include/llvm/InitializePasses.h
lib/CodeGen/CMakeLists.txt
lib/CodeGen/CodeGen.cpp
lib/CodeGen/Passes.cpp
lib/CodeGen/RegAllocGreedy.cpp
lib/CodeGen/SplitCritEdges.cpp
lib/CodeGen/SplitKit.cpp
lib/CodeGen/SplitKit.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17235.48236.patch
Type: text/x-patch
Size: 33997 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160217/c842a497/attachment.bin>
More information about the llvm-commits
mailing list